पिछले एंड्रॉयड ढांचे का उपयोग करना, मैं पता लगा है कि मैं लोड() फ़ंक्शन हर बार विज्ञापन बंद कर दिया है कॉल करने के लिए की जरूरत है।
final mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(getResources().getString(R.string.interstitial_ad_unit_id));
AdRequest adRequestInter = new AdRequest.Builder().build();
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
mInterstitialAd.show();
}
});
mInterstitialAd.loadAd(adRequestInter);
प्लेस strings.xml में अपने स्वयं के आईडी interstitial_ad_unit_id नाम है, या अपने आईडी के साथ
getResources().getString(R.string.interstitial_ad_unit_id)
बदल देते हैं:
import com.google.android.gms.ads.*;
import android.os.Handler;
import android.os.Looper;
import android.app.Activity;
class MyActivity extends Activity implements AdListener {
private InterstitialAd adView; // The ad
private Handler mHandler; // Handler to display the ad on the UI thread
private Runnable displayAd; // Code to execute to perform this operation
@Override
public void onCreate(Bundle savedInstanceState) {
adView = new InterstitialAd(mContext);
adView.setAdUnitId("ca-app-pub-XXXXXXXXXX");
adView.setAdListener(this);
mHandler = new Handler(Looper.getMainLooper());
displayAd = new Runnable() {
public void run() {
runOnUiThread(new Runnable() {
public void run() {
if (adView.isLoaded()) {
adView.show();
}
}
});
}
};
loadAd();
}
@Override
public void onAdClosed() {
loadAd(); // Need to reload the Ad when it is closed.
}
void loadAd() {
AdRequest adRequest = new AdRequest.Builder()
//.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
// Load the adView object witht he request
adView.loadAd(adRequest);
}
//Call displayInterstitial() once you are ready to display the ad.
public void displayInterstitial() {
mHandler.postDelayed(displayAd, 1);
}
}
स्रोत
2014-06-10 20:51:45
मानते हुए "MyAdMobId" को आपकी वास्तविक आईडी के साथ प्रतिस्थापित किया गया है, और आप एक एमुलेटर में परीक्षण कर रहे हैं, यह काम करना चाहिए। लॉग में आप क्या देख रहे हैं? (ध्यान दें कि AdMob आपको नेटवर्क इंटरस्टिशियल की सेवा के लिए श्वेतसूचीबद्ध करने की आवश्यकता है) –
लॉग में कुछ भी नहीं, लेकिन मुझे कैसे पता चलेगा कि क्या मैं नेटवर्क इंटरस्टिशियल की सेवा करने के लिए श्वेतसूची में हूं? –
आप श्वेतसूची की संभावना नहीं है। AdMob केवल कुछ चुनिंदा लोगों को नेटवर्क इंटरस्टीटेशंस प्रदान करता है (देखें [यहां] (https://developers.google.com/mobile-ads-sdk/docs/android/advanced#overview))। जब तक आप श्वेतसूचीबद्ध नहीं होते हैं, तो आप केवल इंटरस्टिशियल हाउस विज्ञापन अभियान स्थापित करते समय परीक्षण इंटरस्टिशियल या घर इंटरस्टिशियल प्राप्त कर सकते हैं। –