2013-01-03 33 views
5

मैं iAd के लिए बैकअप के रूप में AdMob उपयोग कर रहा हूँ, लेकिन मैं मुसीबत जानने अगर AdMob उद्धार हो रही है .. iAd के साथ मैं isBannerLoaded या कुछ और के साथ जांच सकता है, लेकिन नहीं AdMob .. वैसे भी साथ, मैं सब कुछ मिल गया है अब काम कर रहा है, सिवाय इसके कि जब कोई इंटरनेट कनेक्शन नहीं है! जब iAd विज्ञापन लोड करने में विफल रहता है, और didFailToReceiveAdWithError पर कॉल करता है, तो मैं AdMob शुरू करता हूं। इसका परीक्षण करते समय, मैं जिस त्रुटि कारण का उपयोग कर रहा हूं वह "कोई इंटरनेट कनेक्शन नहीं है", लेकिन AdMob इसे अपने didFailToReceiveAdWithError पर कॉल नहीं करता है। ऐसा लगता है कि कोई इंटरनेट कनेक्शन AdMob (GADBannerView*)मैं कैसे पता लगा सकता हूं कि AdMob ने विज्ञापन लोड किया है या नहीं?

के लिए कोई त्रुटि नहीं है, तो मैं कैसे बता सकता हूं कि GADBannerView विफल रहता है या नहीं?

संपादित

ठीक है, तो यहाँ मूल रूप से कोड है मेरे पास है:

-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self initiAdBanner]; 
    [self initAdMobBanner]; 
} 

-(void)initAdMobBanner{}//initiates variable adMobBannerView(GADBannerView) 
-(void)initiAdBanner{}//initiates variable iAdBannerView(ADBannerView) 

-(void)hideBanner:(UIView*)banner{} //hides banner if visible 
-(void)showBanner:(UIView*)banner{} //shows banner if hidden 

//blah blah 

-(void)adView:(GADBannerView*)banner didFailToReceiveAdWithError:(GADRequestError*)error 
{ 
    //Never gets called, should be called when both iAd and AdMob fails. 
    NSLog(@"AdMobBanner failed."); 
    [self hideBanner:banner]; 
} 

-(void)bannerView:(ADBannerView*)banner didFailToReceiveAdWithError:(NSError*)error 
{ 
    //If iAd fails, due to no internet connection or whatever, then it calls this. 
    [self adMobRequest]; 
    [self hideBanner:iAdBannerView]; 
    [self showBanner:adMobBannerView]; 
} 

जब iAd विफल रहता है और (ADBannerView*)didFailToReceiveAdWithError के लिए कहता है, मैं AdMob शुरू करते हैं, लेकिन जब थेरेस कोई इंटरनेट कनेक्शन, AdMob जीता (GADBannerView*)didFailToReceiveAdWithError पर कॉल न करें। क्यों?

उत्तर

4

AdMob didFailToReceiveAdWithError लागू करेगा अगर कोई इंटरनेट कनेक्शन है। सुनिश्चित करें कि आप प्रतिनिधि रजिस्टर कॉलबैक तरीकों के लिए सुनने के लिए बनाओ:

[bannerView_ setDelegate:self];

आप अपना स्वयं का मध्यस्थता समाधान रोल करने की कोशिश कर के AdMob Mediation पर विचार करना चाहिए बजाय। आप AdMob UI में केवल मध्यस्थता प्लेसमेंट बना सकते हैं, अपनी परियोजना में iAd adapter में जोड़ें, और मध्यस्थता प्लेसमेंट आईडी वाले विज्ञापन का अनुरोध करें, और विभिन्न नेटवर्क के माध्यम से दिखाए जाने वाले विज्ञापन आपके लिए किए जाएंगे।

+0

धन्यवाद, मैं एक गाइड पीछा कर रहा था से पहले, और वे कभी नहीं 'में setDelegate डाल: self', नफरत है कि मुझे लगता है कि तलाश में नहीं सोचा था .. मैं क्योंकि सब कुछ पूरी तरह से काम किया है .. अजीब नहीं किया। धन्यवाद! – Sti