Как получить тестовые рекламные баннеры и проверить рекламные вставки, работающие на adMob?
Я пытаюсь настроить рекламу adMob. У меня есть два вопроса:
1) Я правильно использую интерфейс adListener? 2) Почему я не могу видеть рекламные вставки?
Начнем с adListener. Насколько я понял из инструкции, adListener - это интерфейс. Итак, я создал интерфейс.
import com.google.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public interface AdListener {
public void onReceiveAd(AdView ad);
public void onFailedToReceiveAd(AdView ad, AdRequest.ErrorCode error);
public void onPresentScreen(AdView ad);
public void onDismissScreen(AdView ad);
public void onLeaveApplication(AdView ad);
}
Затем в моем основном классе я реализовал AdListener, и как только я это сделал, мне предложили добавить нереализованные методы (все методы из интерфейса).
public class MainActivity extends Activity implements AdListener {
// other code for the body (here). Just showing the methods and implement
@Override
public void onReceiveAd(AdView ad) {
Log.d(TAG, "onReceiveAd");
Toast.makeText(this, "onReceiveAd", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailedToReceiveAd(AdView ad, ErrorCode error) {
Log.d(TAG, "onFailedToReceiveAd");
Toast.makeText(this, "onFailedToReceiveAd", Toast.LENGTH_SHORT).show();
}
@Override
public void onPresentScreen(AdView ad) {
Log.d(TAG, "onPresentScreen");
}
@Override
public void onDismissScreen(AdView ad) {
Log.d(TAG, "onDismissScreen");
}
@Override
public void onLeaveApplication(AdView ad) {
Log.d(TAG, "onLeaveApplication");
}
}
Моя причина думать, что это ничего не делает, в том, что я не получаю свои журналы. Я добавил тосты, чтобы подтвердить, что я ничего не пропустил. Я думаю, что есть еще один шаг, который мне не хватает, чтобы это сработало.
Теперь о рекламной части. Я думал, что хорошо следовал инструкциям, и мои баннеры на самом деле работают. Но мои рекламные вставки не работают. Это то, что у меня есть для баннеров и рекламных вставок.
Начиная с фрагмента кода из моего xml для баннера
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="I_ADDED_CORRECT_ADUNIT_ID"
ads:adSize="BANNER" />
В моей основной деятельности у меня есть следующий код. Опять же, я хочу увидеть тестовые объявления:
// setup ad banner and interstitial
final TelephonyManager tm = (TelephonyManager)getBaseContext()
.getSystemService(Context.TELEPHONY_SERVICE);
String testDeviceId = tm.getDeviceId();
Log.d(TAG, "testDeviceId retrieved(" + testDeviceId + ")");
// create interstitial
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("I_ADDED_CORRECT_ADUNIT_ID");
// ad banner
adView = (AdView)this.findViewById(R.id.adView);
// request test interstitial ads
AdRequest adRequestInterstitial = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(testDeviceId)
.build();
// request test banner ads
AdRequest adRequestBanner = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(testDeviceId)
.build();
//load interstitial ads
interstitial.loadAd(adRequestInterstitial);
displayInterstitial();
// load banner ads
adView.loadAd(adRequestBanner);
//NOTE: the above code is all in onCreate().
//diaplayInterstitial is outside of onCreate()
public void displayInterstitial() {
if (interstitial.isLoaded()) {
Log.d(TAG, "displayInterstitial()");
interstitial.show();
}
}
Давайте посмотрим, что еще сказать вам? Ой, да! У меня также есть разрешения, уже установленные в манифесте. Разрешения = ИНТЕРНЕТ, ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE, READ_PHONE_STATE.
Я зашел в свойства проекта и добавил google-play-services_lib
Это все мои настройки! Я попробовал несколько вещей, потому что у меня были «чувства» о том, в чем может быть проблема. Во-первых, я подумал, что, возможно, тестовые рекламные баннеры и рекламные рекламные вставки нельзя запрашивать одновременно. Поэтому я переместил промежуточный код в onStart (). Но тогда я не был уверен, было ли это необходимо, полезно или хуже (и это не сработало!). Моя вторая мысль была, что все работает хорошо, и как только я опубликую свое приложение, все будет хорошо. Но независимо от того, мои журналы не работают для AdListener. Если я смогу это сделать, я думаю, что смогу с большей уверенностью проверить, что происходит.
Спасибо заранее за вашу помощь.
Log SS