编辑:ImageButton游戏用于启动新活动,我希望它能够加载插页式广告,点击它后它应该在活动前显示广告。请帮我编辑这段代码。我完全迷失了......
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.AdRequest;
private InterstitialAd interstitial;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.loadingscreen);
interstitial = new InterstitialAd(Intro.this);
interstitial.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("F7D422E96C746A6BB1D1DB432FEA62C6")
.build();
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
displayInterstitial();
}
});
ImageButton play = (ImageButton) findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent("com.mycompany.FattyPillow.MAINPAGE"));
}
});
}
public void displayInterstitial() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}
答案 0 :(得分:0)
首先重新检查您的AdUnitId
,确认一下,它应该准确无误。
.addTestDevice("aaa")
此处'aaa'是测试设备的无效值。使用Admob代码运行应用并查看您的日志,您会看到addTestDevice
,其中包含您运行应用的设备的有效ID。
您的代码看起来不错,如果广告未加载,请参阅日志并将其发布到您的问题中。
一旦此Activy开始正确,该Acutally应该立即显示广告?
不,Admob会在活动开始后立即开始加载广告,当它完成加载广告时,它就会显示广告。
答案 1 :(得分:0)
查看您的日志,他们会告诉您Admob究竟发生了什么。
如果您希望在后显示插页式广告,则用户点击该按钮,但之前显示您的新活动,那么您将不得不:
interstitial.show()
。AdListener.onAdClosed()
调用startActivity for new Activity。答案 2 :(得分:0)
我遇到了同样的问题。问题是,在清单中没有定义admob活动。请确保您的清单文件中包含以下活动标记
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />