实施(不使用中介)多个广告网络的最佳编码实践?

时间:2014-11-01 01:21:50

标签: ios objective-c ads

我想在我的游戏中实现两个广告网络:Chartboost和Adlovin。我真的只有一个地方可以在我的游戏中展示广告,并且在游戏结束后就是这样。我希望实现的是在游戏结束后从这两个网络中的任何一个展示广告,而不使用中介。我可以想到两种方法:

  1. 使用我在游戏中已经存在的方法,该方法在传递给方法的整数x和y之间生成一个随机数。例如,生成0到1之间的随机数;如果它是0然后显示ChartBoost广告,否则显示Applovin广告。

  2. 我可以简单地使用BOOL ivar在2个网络之间切换(如果是,则显示Chartboost广告,然后将iVar设置为NO。如果不是,则显示Adlovin广告,然后将iVar设置为YES)。

  3. 这些方法都不是实现这一目标的最佳方法。有没有人对这个问题有更好的解决方法?在理想的情况下,我将能够监控两个广告网络的性能,然后远程停止展示效果较差的广告网络广告,只需坚持更好的网络,而无需提交新的二进制文件。显然,我的上述两种方法不允许以现有形式。帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if (![defaults boolForKey:@"FirstTime1"])
{
    [defaults  setInteger:1 forKey:@"MediationAds"];
    [defaults  setBool:YES  forKey:@"FirstTime1"];
    [defaults synchronize];
}

if ([defaults integerForKey:@"MediationAds"] == 1) //show chartboost
{
    [self showInterstitial]; 
    [defaults  setInteger:2 forKey:@"MediationAds"];
    [defaults synchronize];
}
else if ([defaults integerForKey:@"MediationAds"] == 2) //show applovin
{
    [defaults  setInteger:1 forKey:@"MediationAds"];
    [defaults synchronize];
    [ALInterstitialAd showOver:[[UIApplication sharedApplication] keyWindow]];
}

因此,每次您需要展示广告时,他们只会按顺序显示,第一次使用chartboost,下次applovin,然后再次chartboost,然后applovin,这样他们每次都会更改订单