Награжденные объявления НЕ ПОГРУЖАЮТСЯ - PullRequest
0 голосов
/ 19 января 2020

Здравствуйте,

Я пытаюсь показать вознагражденное объявление, но оно не загружается. Я следовал официальному руководству AdMob (https://www.youtube.com/watch?v=CmrTF0hLsIk&t). Это ошибка:

E/Ads: Google Mobile Ads SDK initialization functionality unavailable for this session. Ad requests can be made at any time.

I/Ads: This request is sent from a test device.

Это мой код:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_reward);

    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
        }
    });

    loadAd();
}

public void loadAd(){

    this.rewardedAd = new RewardedAd(this, "ca-app-pub-3940256099942544/5224354917");
    RewardedAdLoadCallback callback = new RewardedAdLoadCallback(){

        @Override
        public void onRewardedAdFailedToLoad(int i) {
            super.onRewardedAdFailedToLoad(i);

            Log.i(TAG, "OnRewardedAdFailedToLoad");
        }

        @Override
        public void onRewardedAdLoaded() {
            super.onRewardedAdLoaded();

            Log.i(TAG, "OnRewardedTagLoaded");
        }
    };
    this.rewardedAd.loadAd(new AdRequest.Builder().build(), callback);
}



public void showAd(){

    if (this.rewardedAd.isLoaded()){

        RewardedAdCallback callback = new RewardedAdCallback() {
            @Override
            public void onUserEarnedReward(@NonNull RewardItem rewardItem) {

                Log.i(TAG, "OnUserEarnedReward");
            }

            @Override
            public void onRewardedAdOpened() {
                super.onRewardedAdOpened();

                Log.i(TAG, "OnRewardAdOpened");
            }

            @Override
            public void onRewardedAdClosed() {
                super.onRewardedAdClosed();

                Log.i(TAG, "OnRewardAdClosed");
            }

            @Override
            public void onRewardedAdFailedToShow(int i) {
                super.onRewardedAdFailedToShow(i);

                Log.i(TAG, "OnRewardedAdFailedToShow");
            }
        };
        this.rewardedAd.show(this, callback);

    } else {

        Log.i(TAG, "Ad not loaded.");
    }
}

Все идентификаторы AdMob используются только для проверки, я получил их в документации AdMob

В манифесте я добавил:

<meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-3940256099942544~3347511713" />

build.gradle:

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.google.android.material:material:1.0.0'

implementation 'com.google.android.gms:play-services-ads:18.2.0'
implementation 'com.google.firebase:firebase-database:17.0.0'

implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
apply plugin: 'com.google.gms.google-services'

Пожалуйста, помогите мне, мне нужно только исправить это в fini sh мое приложение. Я застрял в этой ошибке в течение двух недель, я очень устал, и я думаю сдаться.

Ответы [ 2 ]

0 голосов
/ 20 января 2020

РЕШЕНИЕ:

Ошибка была в эмуляторе! Чтобы загрузить рекламу, нам нужно Wi-Fi соединение. AVD с API = <25 не может подключиться к Wi-Fi. Итак, я только что установил Android Oreo, и это сработало. </p>

0 голосов
/ 19 января 2020

Вы когда-нибудь добавляли идентификатор тестового устройства? Найти идентификатор тестового устройства легко, отфильтровав AdRequest.Builder.addTestDevice в Logcat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...