android-如何获取适用于adMob的测试广告横幅和插页式广告?

android-如何获取适用于adMob的测试广告横幅和插页式广告?,第1张

概述我正在尝试设置adMob广告.我有两个问题:1)我是否正确使用adListener接口?2)为什么看不到广告插页式广告?让我们从adListener开始.据我从说明中了解到的,adListener是一个接口.所以我创建了一个界面.importcom.google.ads.AdRequest;importcom.google.android.gms.ads.AdView;

我正在尝试设置adMob广告.我有两个问题:

1)我是否正确使用adListener接口?
2)为什么看不到广告插页式广告?

让我们从adListener开始.据我从说明中了解到的,adListener是一个接口.所以我创建了一个界面.

import com.Google.ads.AdRequest;import com.Google.androID.gms.ads.AdVIEw;public interface AdListener {    public voID onReceiveAd(AdVIEw ad);    public voID onFailedToReceiveAd(AdVIEw ad, AdRequest.ErrorCode error);    public voID onPresentScreen(AdVIEw ad);    public voID ondismissScreen(AdVIEw ad);    public voID onLeaveApplication(AdVIEw ad);}

然后,在我的主类中实现了AdListener,一旦完成,系统将提示我添加未实现的方法(接口中的所有方法).

public class MainActivity extends Activity implements AdListener {// other code for the body (here). Just showing the methods and implement@OverrIDe    public voID onReceiveAd(AdVIEw ad) {        Log.d(TAG, "onReceiveAd");        Toast.makeText(this, "onReceiveAd", Toast.LENGTH_SHORT).show();    }    @OverrIDe    public voID onFailedToReceiveAd(AdVIEw ad, ErrorCode error) {        Log.d(TAG, "onFailedToReceiveAd");        Toast.makeText(this, "onFailedToReceiveAd", Toast.LENGTH_SHORT).show();    }    @OverrIDe    public voID onPresentScreen(AdVIEw ad) {        Log.d(TAG, "onPresentScreen");    }    @OverrIDe    public voID ondismissScreen(AdVIEw ad) {        Log.d(TAG, "ondismissScreen");    }    @OverrIDe    public voID onLeaveApplication(AdVIEw ad) {        Log.d(TAG, "onLeaveApplication");    }}

我之所以认为这无能为力,是因为我没有收到日志.我加了敬酒,以再次确认我没有错过任何东西.我认为,要实现这一目标我还缺少下一步.

现在是广告部分.我以为我很好地遵循了指示,实际上我的横幅也可以.但是我的广告插页式广告无效.这就是横幅广告和插页式广告的用途.

从我的xml的横幅广告代码片段开始

<com.Google.androID.gms.ads.AdVIEw             androID:ID="@+ID/adVIEw"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            ads:adUnitID="I_ADDED_CORRECT_ADUNIT_ID"            ads:adSize="BANNER" />

在我的主要活动中,我有以下代码.同样,我想查看测试广告:

        // setup ad banner and interstitial        final TelephonyManager tm = (TelephonyManager)getBaseContext()            .getSystemService(Context.TELEPHONY_SERVICE);        String testdeviceid = tm.getdeviceid();        Log.d(TAG, "testdeviceid retrIEved(" + testdeviceid + ")");        // create interstitial        interstitial = new InterstitialAd(this);        interstitial.setAdUnitID("I_ADDED_CORRECT_ADUNIT_ID");        // ad banner        adVIEw = (AdVIEw)this.findVIEwByID(R.ID.adVIEw);        // request test interstitial ads        AdRequest adRequestInterstitial = new AdRequest.Builder()            .addTestDevice(AdRequest.DEVICE_ID_EMulATOR)            .addTestDevice(testdeviceid)            .build();        // request test banner ads        AdRequest adRequestBanner = new AdRequest.Builder()            .addTestDevice(AdRequest.DEVICE_ID_EMulATOR)            .addTestDevice(testdeviceid)            .build();        //load interstitial ads        interstitial.loadAd(adRequestInterstitial);        displayInterstitial();        // load banner ads        adVIEw.loadAd(adRequestBanner);    //NOTE: the above code is all in onCreate().     //diaplayInterstitial is outsIDe of onCreate()    public voID displayInterstitial() {        if (interstitial.isLoaded()) {            Log.d(TAG, "displayInterstitial()");            interstitial.show();        }    }

让我们看看还有什么要告诉你的吗?噢,是的!我还具有清单中已设置的权限.权限= INTERNET,ACCESS_NETWORK_STATE,ACCESS_WIFI_STATE,READ_PHONE_STATE.

我去了项目属性,并添加了Google-play-services_lib

这是我的整个设置!我尝试了很多事情,因为我对可能的问题有一些“感觉”.首先,我认为也许不能同时请求测试广告横幅和广告插页式广告.因此,我将非页内广告代码移至onStart().但是后来,我不确定这是否是必要的,有益的或更糟的(并且没有用!).我的第二个想法是,一切正常,一旦发布应用,一切都会很好.但是无论如何,我的日志不适用于AdListener.如果我能够做到这一点,我想我可以更有把握地开始进行验证.

预先感谢您的帮助.

日志SS

解决方法:

好的,这里有几个问题.

1)不,您没有正确使用AdListener界面.
不要创建自己的界面. AdMob已经提供了AdListener接口.但是,您确实需要实现它.

注意:个人而言,我会创建AdListener的匿名实现,而不是将其添加到Activity中,但这是您自己的设计设计.

接下来,您需要将侦听器附加到AdVIEw.因此,在您的#onCreate中

// load banner adsadVIEw.setAdListener(new AdListener() {   ...});adVIEw.loadAd(adRequestBanner);

2)您不太可能在上面的代码中看到任何非页内广告,因为您尝试在请求后立即显示.在这样短的时间内下载插页式广告的可能性极小.而且无论如何,您实际上都不希望每次创建Activity时都显示插页式广告,这是糟糕的用户体验.

将您对displayInterstitial()的调用移至应用生命周期中的某个较晚时间,例如在游戏会话结束时或在关卡之间等.

总结

以上是内存溢出为你收集整理的android-如何获取适用于adMob的测试广告横幅和插页式广告?全部内容,希望文章能够帮你解决android-如何获取适用于adMob的测试广告横幅和插页式广告?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存