【问题标题】:I have followed all steps of Facebook audience network interstitial ads but still not show我已按照 Facebook 受众网络插页式广告的所有步骤进行操作,但仍未显示
【发布时间】:2019-07-23 10:05:37
【问题描述】:

我已按照 Facebook 受众网络广告教程中提到的所有步骤操作,但仍未将插页式广告“YOUR_PLACEMENT_ID”显示为默认键。

InterstitialAd interstitial;
interstitial = new InterstitialAd(MyStartActivity.this, "YOUR_PLACEMENT_ID");

interstitial.setAdListener(new InterstitialAdListener() {
    @Override public void onInterstitialDisplayed(Ad ad) {}

    @Override public void onInterstitialDismissed(Ad ad) {}

    @Override public void onError(Ad ad, AdError adError) {}

    @Override public void onAdLoaded(Ad ad) {}

    @Override public void onAdClicked(Ad ad) {}

    @Override public void onLoggingImpression(Ad ad) {}
});
interstitial.loadAd();

if (interstitial.isAdLoaded()) {
    interstitial.show();
}

【问题讨论】:

  • 什么是“YOUR_PLACEMENT_ID”?你买了吗?
  • 我没有创建展示位置 ID,但这是为了测试。

标签: android facebook interstitial facebook-audience-network


【解决方案1】:

您需要从 Facebook 受众网络控制台获取 InterstitialAd 的“YOUR_PLACEMENT_ID”。得到之后,您需要添加测试设备来测试广告。

AdSettings.addTestDevice("YOUR_DEVICE_HASH_ID");

【讨论】:

  • 我们不能测试默认的“YOUR_PLACEMENT_ID”吗?在此之前,有时我能够在不创建实时测试 ID 的情况下测试和展示插页式广告。
  • 不,我认为 Facebook 受众网络不像 Google AdMob 那样提供测试 ID。
  • 能否请您说明出现在哪个 URL 上,以及它的外观(模糊私密部分)。
【解决方案2】:

Facebook Audience Network 的插页式测试广告 变量

com.facebook.ads.InterstitialAd  interstitial;
    Ad adfacebook;

在 Oncreate 方法中

AdSettings.setTestAdType(AdSettings.TestAdType.IMG_16_9_APP_INSTALL);        AdSettings.getTestAdType();
AdSettings.setDebugBuild(true);
interstitial = new com.facebook.ads.InterstitialAd(StartActivity.this, getResources().getString(R.string.facebook_interstial));
        interstitial.setAdListener(new AbstractAdListener() {
            public void onAdLoaded(Ad ad) {
                adfacebook = ad;
            }
        });
        interstitial.loadAd();
        interstitial.setAdListener(new InterstitialAdListener() {
            @Override
            public void onInterstitialDisplayed(Ad ad) {
                // Interstitial ad displayed callback
                Log.e(TAG, "Interstitial ad displayed.");
            }

            @Override
            public void onInterstitialDismissed(Ad ad) {
                // Interstitial dismissed callback
                Log.e(TAG, "Interstitial ad dismissed.");
            }

            @Override
            public void onError(Ad ad, AdError adError) {
                // Ad error callback
                Log.e(TAG, "Interstitial ad failed to load: " + adError.getErrorMessage());
            }

            @Override
            public void onAdLoaded(Ad ad) {
                // Interstitial ad is loaded and ready to be displayed
                Log.d(TAG, "Interstitial ad is loaded and ready to be displayed!");
                // Show the ad
              //  interstitial.loadAd();
               interstitial.show();
                adfacebook = ad;
            }

            @Override
            public void onAdClicked(Ad ad) {
                // Ad clicked callback
                Log.d(TAG, "Interstitial ad clicked!");
            }

            @Override
            public void onLoggingImpression(Ad ad) {
                // Ad impression logged callback
                Log.d(TAG, "Interstitial ad impression logged!");
            }
        });

在 String.xml 你把这个

 <string name="facebook_interstial">YOUR_PLACEMENT_ID</string>

但是当您输入原始的 Placement ID 时,您应该删除这些代码行

AdSettings.setTestAdType(AdSettings.TestAdType.IMG_16_9_APP_INSTALL);
    AdSettings.getTestAdType();

因为这仅用于测试广告

【讨论】:

    【解决方案3】:

    把这几行写出来

    AdSettings.setDebugBuild(true); // Remove this when put original ads
    AdSettings.getTestAdType();   //Remove this when put original ads   this is only for test ads
    

    在 Audience.initialize 测试广告自动展示后

    【讨论】:

      猜你喜欢
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 1970-01-01
      相关资源
      最近更新 更多