0
我正在嘗試向我的遊戲添加插頁式廣告。它建立在一本書的框架之上。構造函數是:爲什麼當我在UI線程上運行它時,必須在主UI線程上調用'setAdListener'
public GameScreen(Game game) {
super(game);
world = new World();
clueLetters = new String[10];
levelNo = SettingsObject.levelUnlock;
getWord();
interstitialAd = new InterstitialAd(AndroidGame.context);
interstitialAd.setAdUnitId("ca-app-pub-1861496496821617/");
//Create an ad request
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
AndroidGame.activityReference.runOnUiThread(new Runnable() {
@Override
public void run()
{
// Set AdListener
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
}
});
}
});
Looper.prepare();
interstitialAd.loadAd(adRequestBuilder.build());
}
但是,我得到的錯誤:
java.lang.IllegalStateException: setAdListener must be called on the main UI thread.
你能告訴我爲什麼我收到的錯誤,以及如何解決它,好嗎?
這太棒了,謝謝。有用。但是,我仍然想知道爲什麼我得到了我得到的錯誤。 –
這是相當古老的,但我只是發生在相同的情況。事實證明,我必須移動新的AdRequest.Builder();在Runnable內部命令解決它。 – Pierre