Admob Видеообъявления загружаются, но не отображаются

Я знаю, что видео загружаются, потому что всплывает всплывающее сообщение о том, что оно появилось, и видео показывалось один раз, когда я тестировал его вчера, но это был целый день, и они по-прежнему не показываются. Нет ошибок, нет сбоев.

package com.example.matthew.myapplication;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardItem;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;



public class createGame extends Activity implements RewardedVideoAdListener {
    private Button make;
    private EditText iDd, nam;
    DatabaseReference myRef;
    DataSnapshot datas;
    boolean canGo = false;
    private RewardedVideoAd mAd;

    protected void onCreate(Bundle savedInstanceState) {

        mAd = MobileAds.getRewardedVideoAdInstance(this);
        mAd.setRewardedVideoAdListener(this);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.creategame);
        Intent task = getIntent();
        addListenerOnButton();
        myRef = FirebaseDatabase.getInstance().getReference();
        ValueEventListener postListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                datas = dataSnapshot;
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        };
        myRef.addValueEventListener(postListener);
        loadRewardedVideoAd();
    }


    public void addListenerOnButton() {


        make = (Button) findViewById(R.id.done);
        nam = (EditText) findViewById(R.id.nam);
        iDd = (EditText) findViewById(R.id.makeId);


        make.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                if (mAd.isLoaded()) {
                    mAd.show();
                    Log.d("Here is a test spot", "showing!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); //this log messagr also comes up confirming the ad is loaded bht it doesn't show for whatever reason
                }

                    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
                    String iDD = user.getUid();
                    String gameId = iDd.getText().toString();
                    myRef.child(gameId).child("DM").setValue(iDD);
                    int check2 = 0;
                    boolean done2 = false;
                    while (done2 == false) {
                        String sCheck2 = Integer.toString(check2);
                        if (datas.child(iDD).child("Game List").hasChild(sCheck2)) {
                            check2 = check2 + 1;
                            Log.d("Here is a test spot", "Made it here. 3");
                        } else {
                            myRef.child(iDD).child("Game List").child(sCheck2).setValue(gameId);
                            done2 = true;
                            Log.d("Here is a test spot", "Made it here. 4");
                        }
                    }
                    myRef.child(gameId).child("GAMEID").setValue(gameId);
                    myRef.child(gameId).child("GAME NAME").setValue(nam.getText().toString());
                    myRef.child(gameId).child("Events").child("0").setValue("Game Created.");
                    myRef.child(gameId).child("MRE").setValue("Game Created.");
                    myRef.child(gameId).child("Current Player").setValue("None");
                    myRef.child(gameId).child("pResponse").setValue("No Response Yet");
                    Intent TaskIntent = new Intent(getApplicationContext(), MainScreen.class);
                    startActivity(TaskIntent);
                    finish();

            }
        });

    }

    private void loadRewardedVideoAd() {
        mAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build());
    }

    @Override
    public void onRewarded(RewardItem reward) {
        canGo = true;
    }

    // The following listener methods are optional.
    @Override
    public void onRewardedVideoAdLeftApplication() {
        Toast.makeText(this, "onRewardedVideoAdLeftApplication",
                Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRewardedVideoAdClosed() {
        Toast.makeText(this, "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRewardedVideoAdFailedToLoad(int errorCode) {
        Toast.makeText(this, "onRewardedVideoAdFailedToLoad", Toast.LENGTH_LONG).show();
        Log.d("ERROR", Integer.toString(errorCode));
    }

    @Override
    public void onRewardedVideoAdLoaded() {
        Toast.makeText(this, "onRewardedVideoAdLoaded", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onRewardedVideoAdOpened() {
        Toast.makeText(this, "onRewardedVideoAdOpened", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRewardedVideoStarted() {
        Toast.makeText(this, "onRewardedVideoStarted", Toast.LENGTH_SHORT).show();
    }
}

Есть мой код, и все в порядке, но я до сих пор не понимаю, почему реклама не будет показываться. Любая помощь очень ценится, хорошего дня.

1 ответ

Решение

Я решил проблему, это было то, что я звоню finish() перед показом объявления, и для решения этой проблемы я переместил всю эту часть в onRewarded()

Это важно, если кто-то еще сталкивается с этой проблемой.

Другие вопросы по тегам