Admob показывает только тестовые объявления с посредничеством

РЕДАКТИРОВАТЬ: кажется, появляется эта ошибка всякий раз, когда он пытается загрузить объявление с вознаграждением AdColony:

W/AdColonyMediationAdapter: 100: SDK AdColony вернул обратный вызов при ошибке

и эта ошибка для facebook:

W/FacebookAdapter: не удалось загрузить объявление с вознаграждением: 1203: формат отображения в запросе объявления не соответствует формату отображения, указанному для этого места размещения. Каждое место размещения можно использовать только с одним форматом отображения. Вы можете создать несколько мест размещения, чтобы использовать несколько форматов отображения.

Adcolony использует полноэкранные рекламные объявления с вознаграждением, facebook использует межстраничные объявления, так как не существует формата вознагражденных объявлений.

По какой-то причине я реализовал весь код и SDK для рекламы admob, facebook и adcolony. Я следовал руководствам Google о том, как все это сделать, и, похоже, в режиме тестирования он работал нормально, однако, когда я затем опубликовал приложение, реклама не появлялась. Я проверял на разных устройствах, и кажется, что реклама работает только в тестовом режиме.

public class summonSimulator extends AppCompatActivity implements RewardedVideoAdListener {
RewardedVideoAd mAd;
TextView getSummons;

protected void onCreate(Bundle savedInstanceState) {
    Thread.setDefaultUncaughtExceptionHandler(new DefaultExceptionHandler(this));
    super.onCreate(savedInstanceState);
    setContentView(R.layout.summon_simulator);
    AdColony.configure(this, "/*APPID*/", "/*ZONEID*/");
    AdColonyAppOptions appOptions = AdColonyMediationAdapter.getAppOptions();
    appOptions.setGDPRConsentString("1");
    appOptions.setGDPRRequired(true);
    AudienceNetworkAds.initialize(this);
    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
        }
    });
    mAd = MobileAds.getRewardedVideoAdInstance(this);
    mAd.setRewardedVideoAdListener(this);
    mAd.loadAd("/*The ad unit id, double checked and is correct*/)", new AdRequest.Builder().build());
    getSummons = findViewById(R.id.loadAd);
    getSummons.setVisibility(View.INVISIBLE);
    getSummons.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mAd.isLoaded()){
                mAd.show();
            } else {
                Toast.makeText(summonSimulator.this, "Ad failed to load, have 10 summons on me", Toast.LENGTH_SHORT).show();
            }
        }
    });
}

Затем полный рекламный код

@Override
public void onRewardedVideoAdLoaded() {
    Log.i("tag", "onRewardedVideoAdLoaded");
    getSummons.setVisibility(View.VISIBLE);
}

@Override
public void onRewardedVideoAdOpened() {
    Log.i("tag", "onRewardedVideoAdOpened");
    getSummons.setVisibility(View.INVISIBLE);
}

@Override
public void onRewardedVideoStarted() {
    Log.i("tag", "onRewardedVideoStarted");
}

@Override
public void onRewardedVideoAdClosed() {
    Log.i("tag", "onRewardedVideoAdClosed");
    mAd.loadAd("/*The ad unit id, double checked and is correct*/", new AdRequest.Builder().build());
}

@Override
public void onRewarded(RewardItem rewardItem) {
    Log.i("tag", "onRewarded");
    Toast.makeText(summonSimulator.this, "You received " + rewardItem.getAmount() + " " + rewardItem.getType(), Toast.LENGTH_SHORT).show();
    summonsLeft = summonsLeft + 20;
    summonsLeftText.setText("Summons Left: " + summonsLeft);
    SharedPreferences.Editor editor = settings2.edit();
    editor.putInt("summonsLeft", summonsLeft);
    editor.apply();

}

@Override
public void onRewardedVideoAdLeftApplication() {
    Log.i("tag", "onRewardedVideoAdLeftApplication");
}

@Override
public void onRewardedVideoAdFailedToLoad(int i) {
    Log.i("tag", "onRewardedVideoAdFailedToLoad");
    mAd.loadAd("/*The ad unit id, double checked and is correct*/", new AdRequest.Builder().build());
    getSummons.setVisibility(View.VISIBLE);
}

@Override
public void onRewardedVideoCompleted() {
    Log.i("tag", "onRewardedVideoCompleted");

}

0 ответов

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