Реклама с вознаграждением не отображается, хотя она успешно загружена

#java #android

#java #Android

Вопрос:

Я пытаюсь добавить рекламу с вознаграждением в свое приложение, но я пробовал много раз, и я думаю, что с моим кодом что-то не так, но я не могу его найти . , пожалуйста, помогите мне с этим, и в Logcat написано 2020-10-24 08:21:44.400 26213-26213/com.example.sdde I/ RewardAdLog:Вознагражденная реклама успешно загружена

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

        //ads intialization

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

и здесь я показываю объявление в setOnItemClickListener из GridView

 GridView unitoneView = (GridView) findViewById(R.id.unitdiv_grid);
        UnitAdapter unitoneAdapter = new UnitAdapter(unitoneModelList);
        unitoneView.setAdapter(unitoneAdapter);

        unitoneView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                if (position == 0) {
                    showAd();
                    Intent i = new Intent(getApplicationContext(), Unit1ExerciseActivity.class);
                    startActivityForResult(i, REQUEST_CODE_QUIZ);
                    i.putExtra(EXTRA_CATEGORY_ID, Category.UNIT1);
                    i.putExtra(EXTRA_CATEGORY_NAME, Category.UNIT1);
                    i.putExtra(EXTRA_DIFFICULTY, Question.DIFFICULTY_EASY);
                    i.putExtra(UNIT_TITLE, "Unit 1");
                    i.putExtra(EXERCISE_TITLE, "Exercise 1 on Vocabulary");
                        startActivity(i);
                } // end if
  

и вот метод загрузки рекламы и показа рекламы

 public void loadAd(){
        rewardedAd = new RewardedAd(this,
                "ca-app-pub-3940256099942544/5224354917");
        RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
            @Override
            public void onRewardedAdLoaded() {
                super.onRewardedAdLoaded();
                Log.i(Tag, "RewardedAd Loaded Successfully");
                unitoneView.setEnabled(true);
                
            }
            @Override
            public void onRewardedAdFailedToLoad(LoadAdError loadAdError) {
                super.onRewardedAdFailedToLoad(loadAdError);
                Log.i(Tag, "RewardedAd Loaded Failed");
            }
        };
        rewardedAd.loadAd(new AdRequest.Builder().build(), adLoadCallback);
    }

    public void showAd() {
        if (rewardedAd.isLoaded()) {
            Activity activityContext = UnitOneActivity.this;
            RewardedAdCallback adCallback = new RewardedAdCallback() {
                @Override
                public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
                }
                @Override
                public void onRewardedAdOpened() {
                    super.onRewardedAdOpened();
                    Log.i(Tag, "RewardedAd Loaded opened");
                }
                @Override
                public void onRewardedAdClosed() {
                    super.onRewardedAdClosed();
                    Log.i(Tag, "RewardedAd closed");
                    unitoneView.setEnabled(false);
                    loadAd();
                }
                @Override
                public void onRewardedAdFailedToShow(AdError adError) {
                    super.onRewardedAdFailedToShow(adError);
                    Log.i(Tag, "RewardedAd Failed To Show");
                }
            };
            this.rewardedAd.show(this, adCallback);
        } else {
            Log.d("TAG", "The rewarded ad wasn't loaded yet.");
        }
    }
  

Комментарии:

1. Ваш apk доступен в Play Store?

2. Нет, я пытаюсь добавить тестовое объявление. она еще не загружена в магазин

3. Что вы подразумеваете под успешной загрузкой, но не отображается?