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



我想在我的游戏中实现两个广告网络:Chartboost和Adlovin。我真的只有一个地方可以在游戏中显示广告,那就是在游戏结束后。我想实现的是在游戏结束后显示来自这两个网络中任何一个的广告,而不使用中介。我可以想出两种方法:

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

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

这两种方法似乎都不是实现这一目标的最佳方式。有人能为解决这个问题找到更好的方法吗?在理想的情况下,我可以监控两个广告网络的性能,然后远程停止显示性能较差的广告网络的广告,只需坚持使用性能较好的网络,而无需提交新的二进制文件。显然,我的上述两种方法在目前的形式下是不允许这样做的。我们将不胜感激。

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,然后是chartbrust,然后是applovn,所以每次时它们都会更改顺序

最新更新