私のAndoridアプリはオフラインでもオンラインでも動作します。オンラインモードのときに広告を表示します。オフラインモードで動作していて、ユーザーがインターネット接続をオンに切り替えているシナリオで、広告がすでに読み込まれているかどうかを知りたいです。そうでない場合は、新しい広告を読み込みます。AdMob API(AdViewクラス)を調べましたが、これを行うものが見つかりませんでした。
AdListener
@Hounshellからの回答によると、これが私の実装です。ただし、ここで実装されているメソッドはどれも実行されていません。
adView.setAdListener(new AdListener() {
@Override
public void onReceiveAd(Ad arg0) {
Toast.makeText(act, "Ad received",Toast.LENGTH_LONG).show();
}
@Override
public void onPresentScreen(Ad arg0) {
}
@Override
public void onLeaveApplication(Ad arg0) {
// TODO Auto-generated method stub
}
@Override
public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
Toast.makeText(act, "Failed to receive Ad",Toast.LENGTH_LONG).show();
}
@Override
public void onDismissScreen(Ad arg0) {
// TODO Auto-generated method stub
}
});
そして、AdViewをカバーするmain.xmlの一部
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
>
<com.google.ads.AdView
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
ads:adSize="BANNER"
ads:adUnitId="xxxxxxxxxxxxxxxx"
ads:loadAdOnCreate="true" />
</FrameLayout>