0

我创建了 Admob 视频奖励广告。我的 admob 帐户是旧的,我已在我的另一个应用程序中成功展示了一个插页式广告。但是,我刚刚在 admob 中添加了一个新应用程序并创建了一个 admob 视频。视频显示良好,带有 admob 提供的测试 ID。但是当我使用我的真实视频奖励 ID 时,广告加载失败。对于,查询我已经添加了测试设备ID。

有什么东西,我想念的吗?

这是我的代码,它很好地加载了测试广告 id,但不是真正的广告 id:

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.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;

 private RewardedVideoAd mRewardedVideoAd;




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

    waitingDialog = new SpotsDialog(MainActivity.this);

    MobileAds.initialize(this, "my_App_ID");



    // Use an activity context to get the rewarded video instance.
    mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
    mRewardedVideoAd.setRewardedVideoAdListener(this);




    loadRewardedVideoAd();

}


private void loadRewardedVideoAd() {
    mRewardedVideoAd.loadAd("REAL_REAWARDED_VIDEO_ID",
            new AdRequest.Builder().addTestDevice("MY_DEVICE_ID").build());
}


public  void  arabicSearchActivity (View view){

    if (mRewardedVideoAd.isLoaded()) {
        mRewardedVideoAd.show();
    }else {


        Toast.makeText(this, "Slow Internet, Please Click Again", Toast.LENGTH_SHORT).show();

        loadRewardedVideoAd();
    }

}

@Override
protected void onStop() {
    if (waitingDialog!=null&&waitingDialog.isShowing())
        waitingDialog.dismiss();
    super.onStop();
}


@Override
public void onResume() {
    mRewardedVideoAd.resume(this);
    super.onResume();
}

@Override
public void onPause() {
    mRewardedVideoAd.pause(this);
    super.onPause();
}

@Override
public void onDestroy() {
    mRewardedVideoAd.destroy(this);
    super.onDestroy();
}


@Override
public void onRewarded(RewardItem reward) {
    Toast.makeText(this, "onRewarded! currency: " + reward.getType() + "  amount: " +
            reward.getAmount(), Toast.LENGTH_SHORT).show();
    // Reward the user.
    startActivity(new Intent(MainActivity.this,  SearchArabic.class));
}

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

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

    loadRewardedVideoAd();
}

@Override
public void onRewardedVideoAdFailedToLoad(int errorCode) {
    Toast.makeText(this, "Please Check Internet Connections", Toast.LENGTH_LONG).show();
}

@Override
public void onRewardedVideoAdLoaded() {
    Toast.makeText(this, "onRewardedVideoAdLoaded", Toast.LENGTH_SHORT).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();
}

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

2 回答 2

0

你没有留下什么特别的东西。
当您向 AdMob 控制台添加新应用时,它会在数据库中新注册。意味着,对于它的算法,你的应用是新的并且不够出名。为了证明这一点,它只需要从应用程序中获得几个(大约 1k-3k)的广告展示请求,以验证应用程序正在产生实时印象,即,它正在被真实用户使用[这只是一个现实生活举例说明]。

关键是,您的应用程序必须为库存(广告分配区域)生成一些实时展示,以返回广告以在应用程序中展示。当您有大约(最多)5k(最少 1k)个广告请求时。它将开始显示广告。

于 2019-08-03T12:36:48.493 回答
0

确保;确定

  • 您使用了您在商店中发布的应用程序的“应用程序 ID”。
  • 其次使用了您在商店发布的应用程序的“广告 ID”
  • 第三最重要的是,您必须从 Play 商店下载并安装您的应用程序,然后检查它是否有效。

    注意:对于新的广告或应用程序,您必须等待 1 - 2 小时......就是这样......

于 2019-11-08T04:45:44.213 回答