2015-09-28 7 views
5

मैं स्विफ्ट 2 और एक्सकोड 7 का उपयोग कर आईओएस एप्लिकेशन विकसित कर रहा हूं। मैं AdMob को लागू करने की कोशिश कर रहा हूं लेकिन यह मेरा इंटरस्टिशियल विज्ञापन प्रदर्शित नहीं करता है।AdMob इंटरस्टिशियल त्रुटि "अनुरोध त्रुटि: दिखाने के लिए कोई विज्ञापन नहीं"

Request Error: No ad to show.

enter image description here

+0

* अनुरोध त्रुटि: दिखाने के लिए कोई विज्ञापन नहीं *, AdMob जैसे लगता है कि आपका विज्ञापन अनुरोध भरने में असमर्थ था। पुनः प्रयास करें। क्या आपको कोई अन्य त्रुटियां/चेतावनियां मिल रही हैं? आप AdMob एसडीके का किस संस्करण का उपयोग कर रहे हैं? –

+0

@ डैनियलस्टॉर्म मैंने कोकोपोड्स (पॉड 'Google-मोबाइल-विज्ञापन-एसडीके', '~> 7.0') के साथ एडमोब स्थापित किया। मैंने फिर कोशिश की लेकिन केवल उस त्रुटि को प्राप्त किया। –

+0

हालांकि GADBannerView सामान्य रूप से प्रदर्शित होता है ... –

उत्तर

6

Request Error: No ad to show.

मतलब है कि आपके अनुरोध सफल रहा लेकिन Admob इस समय आपके डिवाइस के लिए दिखाने के लिए कोई विज्ञापन नहीं है। यह सुनिश्चित करने का सबसे अच्छा तरीका है कि आपके पास हमेशा दिखाने के लिए विज्ञापन हैं मध्यस्थता का उपयोग करना ताकि एक अपूर्ण अनुरोध दूसरे विज्ञापन नेटवर्क पर हो। Admob ऐसा करने के लिए अच्छी तंत्र प्रदान करता है।

+0

आपके उत्तर के लिए धन्यवाद। मैंने कभी सोचा नहीं है। मैं जल्द ही समारोह को लागू करूंगा! –

+0

"मध्यस्थता" का क्या अर्थ है और इसे कैसे कार्यान्वित किया जाता है? –

+0

मध्यस्थता वह जगह है जहां आप अपने विज्ञापन क्लाइंट को एकाधिक विज्ञापन नेटवर्क से विज्ञापन प्रस्तुत करने के लिए कॉन्फ़िगर करते हैं। Admob जैसे अधिकांश विज्ञापन क्लाइंट क्लाइंट पर कॉन्फ़िगरेशन को रखकर इसे आसान बनाते हैं और आपको अपने वेब ऐप के माध्यम से विज्ञापन नेटवर्क की सूची कॉन्फ़िगर करने की अनुमति देते हैं। – William

3

आप होना चाहिए दो विज्ञापन इकाई आईडी:

override func viewDidLoad() { 
    super.viewDidLoad() 

    _interstitial = createAndLoadInterstitial() 
} 

func createAndLoadInterstitial()->GADInterstitial { 
    let interstitial = GADInterstitial(adUnitID: "interstitial_ID") 
    let gadRequest:GADRequest = GADRequest() 
    gadRequest.testDevices = ["test device id"] 
    interstitial.delegate = self 
    interstitial?.loadRequest(gadRequest) 

    return interstitial! 
} 

func interstitialDidReceiveAd(ad: GADInterstitial!) { 
    _interstitial?.presentFromRootViewController(self) 
} 

func interstitial(ad: GADInterstitial!, didFailToReceiveAdWithError error: GADRequestError!) { 
    print(error.localizedDescription) 
} 

func interstitialDidDismissScreen(ad: GADInterstitial!) { 
    _interstitial = createAndLoadInterstitial() 
} 

मैं यह त्रुटि प्राप्त करते हैं। आपके GADBannerView और आपके GADInterstitial के लिए एक। सुनिश्चित करें कि आपके इंटरस्टिशियल के लिए AdMob द्वारा प्रदान की गई आपकी विज्ञापन इकाई आईडी बिल्कुल वही है जो उन्होंने आपको दी है। वर्तमान में 7.5.0 latest AdMob SDK पर अपडेट करें। विशिष्ट अंतराल पर presentFromRootViewController(self) पर कॉल करने पर विचार करें या एक बार जब उपयोगकर्ता वांछित कार्य पूरा कर लेता है। जिस तरह से आपने इसे सेटअप किया है, अब एक दूसरे के बाद इंटरस्टिशियल प्रस्तुत करना जारी रखेगा क्योंकि आप हर बार जब किसी को खारिज कर देते हैं तो नए इंटरस्टिशियल के लिए अनुरोध भेज रहे हैं और फिर विज्ञापन प्राप्त होने पर इंटरस्टिशियल प्रदर्शित करते हैं।

import UIKit 
import GoogleMobileAds 

class ViewController: UIViewController, GADInterstitialDelegate { 

    var myInterstitial : GADInterstitial? 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     myInterstitial = createAndLoadInterstitial() 
    } 

    func createAndLoadInterstitial()->GADInterstitial { 
     let interstitial = GADInterstitial(adUnitID: "Your Ad Unit ID") 
     interstitial.delegate = self 
     interstitial?.loadRequest(GADRequest()) 
     return interstitial 
    } 

    @IBAction func someButton(sender: AnyObject) { 
     myInterstitial?.presentFromRootViewController(self) 
    } 

    func interstitialDidReceiveAd(ad: GADInterstitial!) { 
     print("interstitialDidReceiveAd") 
    } 

    func interstitial(ad: GADInterstitial!, didFailToReceiveAdWithError error: GADRequestError!) { 
     print(error.localizedDescription) 
    } 

    func interstitialDidDismissScreen(ad: GADInterstitial!) { 
     print("interstitialDidDismissScreen") 
     myInterstitial = createAndLoadInterstitial() 
    } 
+0

आपके रीप्ले के लिए धन्यवाद। लेकिन मेरे पास पहले से ही 'GADBannerView' और' GADInterstitial' के लिए दो विज्ञापन इकाई आईडी है। –

+0

@MitsuhikoShimomura यह सुनिश्चित करने के लिए जांचें कि आपके लिए इंटरस्टिशियल के लिए विज्ञापन इकाई आईडी बिल्कुल वही है जैसा आपको प्रदान की गई एक AdMob है। एक विज्ञापन इकाई आईडी का उपयोग करना जो अस्तित्व में नहीं है/गलत टाइप किया गया है, परिणामस्वरूप 'अनुरोध त्रुटि: दिखाने के लिए कोई विज्ञापन नहीं' त्रुटि होगी। –

+0

मेरा एडमोब कंसोल (http://i.stack.imgur.com/mMVQH.png)। मैंने वहां से यूनिट आईडी की प्रतिलिपि बनाई है, इसलिए मुझे यकीन नहीं है कि गलत नहीं है। –

संबंधित मुद्दे