【发布时间】:2019-12-31 21:28:31
【问题描述】:
AdView 是自动绑定到活动生命周期,还是必须显式调用 pause、resume、destroy 事件?是否取决于 AdView 的大小?我正在使用横幅广告。
我找不到很多其他人这样做的代码示例,而且主要的 Android 帮助文章也没有提到它(他们只是在 onCreate 中加载广告,而不用它做任何其他事情)。
https://developers.google.com/android/reference/com/google/android/gms/ads/AdView (代码示例包括暂停/恢复/销毁,它在方法说明中提到我们“应该调用这些方法”,但没有详细说明)。
https://developers.google.com/admob/android/banner (没有提到需要暂停/恢复/销毁)。
http://thetechnocafe.com/a-complete-guide-to-integrating-admob-in-your-android-app/ (暂停并销毁代码中的视频广告,但没有说明原因或给出任何解释)
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- app content -->
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/myAdView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
</LinearLayout>
public class MainActivity extends AppCompatActivity {
private AdView mAdView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ...
mAdView = findViewById(R.id.myAdView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
// do I need this code as well???
@Override
public void onResume() {
mAdView.resume();
super.onResume();
}
@Override
public void onPause() {
mAdView.pause();
super.onPause();
}
@Override
public void onDestroy() {
mAdView.destroy();
super.onDestroy();
}
【问题讨论】:
-
您自己找到答案了吗?我遇到了同样的问题,不知道是否有必要。
-
为了安全起见,我正在调用 pause、destroy 和 resume,但我还没有收到明确的答复。
-
嗯,好的,非常感谢。我想我也必须这样做:/
标签: android admob ads android-lifecycle