2014-11-01 35 views
1

我想在我的遊戲中實現兩個廣告網絡:Chartboost和Adlovin。我真的只有一個地方可以在我的遊戲中展示廣告,這是在比賽結束後。我希望實現的目標是在遊戲結束後顯示來自這兩個網絡中的任意一個的廣告,而不使用中介。我能想到的兩種方法可以做到這一點:實現(不使用中介)多個廣告網絡的最佳編碼實踐?

  1. 使用已經存在的方法,我有我的遊戲產生了傳遞給方法的整數x和y之間的隨機數。例如,生成一個介於0和1之間的隨機數;如果它爲0,則顯示ChartBoost廣告,否則顯示Applovin廣告。

  2. 我可以簡單地在兩個網絡之間使用BOOL ivar進行切換(如果是,則顯示Chartboost廣告,然後將iVar設置爲NO,否則顯示Adlovin廣告,然後將iVar設置爲YES)。

這些方法都不是最好的方法來實現這一點。有沒有人有更好的方法來解決這個問題的任何提示?在理想的情況下,我將能夠監控兩個廣告網絡的表現,然後遠程停止顯示效果較差的廣告網絡的廣告,只需堅持更好的網絡,而無需提交新的二進制文件。很明顯,我的上述兩種方法不允許以目前的形式。幫助將不勝感激。

回答

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,所以他們將每次只需更改訂單

+1

我最終提出了一個類似的解決方案。我不是隻在兩個廣告網絡之間交替,而是選擇在遊戲結束後隨機顯示一個廣告(在0和1之間生成一個隨機數,如果0 - >顯示chartboost,如果1 - >顯示applovin)。爲了能夠遠程控制每個網絡上的廣告是否展示,我利用了兩種廣告網絡的委託方法,這些方法可以讓您檢查廣告是否已被成功緩存。如果緩存失敗,我將我的代碼設置爲假設這意味着我已關閉該網絡廣告並顯示其他網絡的廣告。 – RoCK 2014-11-15 16:02:15