【发布时间】:2017-12-07 07:35:31
【问题描述】:
我正在尝试在 Android 应用中使用 admob。非常简单的代码,取自示例。
@Override
public void onCreate(Bundle savedInstanceState)
{
...stuff...
MobileAds.initialize(this, "{my id}");
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("{my ad unit id}");
AdRequest aRequest;
aRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(aRequest);
}
...而且效果很好。
但是:我不想在此处使用此代码。我希望它出现在我明确表示“初始化广告”的其他地方。
当我这样做时,loadAd 每次都会崩溃。我可以成功调用它的唯一位置是在 OnCreate 中,或者在 OnCreate 中定义的回调中。这是真的,还是线程问题?游戏崩溃是因为 loadAd 阻塞了 UI 线程还是类似的原因?
我不太擅长 Java(我是一个 C++ 人)...如果这是问题所在,我怎么能把整个 shebang 扔到另一个线程中?
【问题讨论】:
-
崩溃日志中的错误是什么?
-
在 oncreate 中使用 MobileAds.initialize,之后您可以随时随地加载广告。如果你能粘贴你得到的错误,那就太好了。
标签: java android multithreading crash admob