Skip to content

Android google admob使用

Android google admob使用

国内做的app通常情况下,我们根本见不到广告,比较纯净,而从谷歌商店下载的应用,部分就会包含广告。企业做app是为了服务客户,个人做的话,通常是为了方便大家使用,但毕竟不是慈善家,用爱发电毕竟不长久,谷歌的广告可以比较好的解决这个问题。广告的主要目的,是为了给app作者创造收入。

1、个人理解的运作机制:

企业需要发布广告,自己做好广告以后交给google。

个人在google注册admob的账号,然后创建应用,并且在应用中创建广告单元。

google给每个广告单元分配广告。

每当用户有效点击广告的时候,企业需要支付一部分费用,之后按月结算费用,支付给个人。

途中,如果企业发现点击是无效的(个人恶意点击等),可以举报,之后,个人注册的admob可能会被封。这个涉及到了admob的使用条款。不再详细说明了。

2、使用

admob在编码上,十分简单

1、导入admob库

implementation ‘com.google.firebase:firebase-ads:18.0.0’

2、更新 AndroidManifest.xml

   

       

       

            android:name=”com.google.android.gms.ads.APPLICATION_ID”

            android:value=”[ADMOB_APP_ID]”/>

   

3、初始化 SDK

在加载广告之前,通过使用您的 AdMob 应用 ID 来调用MobileAds.initialize(),让应用初始化 Mobile Ads SDK。此操作只需执行一次,最好是在应用启动时执行。您可以在 AdMob 界面中找到您的应用 ID。

在 Activity 中调用initialize()方法的示例如下:

override fun onCreate(savedInstanceState: Bundle?) {

    super.onCreate(savedInstanceState)

    // …

    // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713

    MobileAds.initialize(this, “YOUR_ADMOB_APP_ID”)

}

这里我实际使用的时候,发现使用MobileAds.initialize(this)就足够了,因为在AndroidManifest.xml中已经配置过了applicaitonID了

之后我们可以选择不同的广告形式

这里以横幅广告为例。

4、向布局中添加

    # main_activity.xml

    …

     

          xmlns:ads=”https://schemas.android.com/apk/res-auto”

          android:id=”@+id/”

          android:layout_width=”wrap_content”

          android:layout_height=”wrap_content”

          android:layout_centerHorizontal=”true”

          android:layout_alignParentBottom=”true”

          ads:adSize=”BANNER”

          ads:adUnitId=””>

      >

    …

当然也可以通过代码创建

    val adView = (this)

        adView.adSize = AdSize.BANNER

        adView.adUnitId = “”

    // TODO: Add adView to your view hierarchy.

注意:一定要配置下面的两个属性

·ads:adSize-将此属性设置为要使用的广告尺寸。如果您不想使用该常量定义的标准尺寸,可改为设置自定义尺寸。

·ads:adUnitId-将此属性设置为您应用中用于展示广告的广告单元所用的唯一标识符。如果您要在不同的 Activity 中展示横幅广告,则其中每个都需要一个广告单元。

UnitId是我们创建广告单元时,生成到,后面会提到

5、加载广告

注意:请在主线程中进行对移动广告 SDK 的所有调用

放置好后,下一步是加载广告。此步骤可使用 类中的loadAd()方法完成。这需要 参数,其中包含关于单个广告请求的运行时信息(如定位信息)。

以下示例显示了如何通过ActivityonCreate()方法加载广告:

    package …

    import …

    import 

    import 

    class MainActivity : AppCompatActivity() {

        lateinit var m : 

        override fun onCreate(savedInstanceState: Bundle?) {

            super.onCreate(savedInstanceState)

            setContentView(R.layout.activity_main)

                m = findViewById(R.id.)

            val adRequest = .Builder().build()

            m.loadAd(adRequest)

        }

    }

注意:如果您的广告加载失败,只要已为广告单元配置了刷新功能,就无需明确请求再次加载;Google 移动广告 SDK 会按照您在 界面中指定的频率进行刷新。如果您尚未启用刷新,则需要发出新的请求。

当我们的广告加载失败的时候,会自动重新加载,不需要我们做其他操作。

6、广告事件

要进一步自定义您的广告行为,您可以在广告生命周期内加入许多事件,如加载、打开、关闭等等。您可以通过AdListener类监听这些事件。

要将AdListener用于 ,只需调用setAdListener()方法即可:

    m.adListener = object: AdListener() {

        override fun onAdLoaded() {

            // Code to be executed when an ad finishes loading.

        }

        override fun onAdFailedToLoad(errorCode : Int) {

            // Code to be executed when an ad request fails.

        }

        override fun onAdOpened() {

            // Code to be executed when an ad opens an overlay that

            // covers the screen.

        }

        override fun onAdClicked() {

            // Code to be executed when the user clicks on an ad.

        }

        override fun onAdLeftApplication() {

            // Code to be executed when the user has left the app.

        }

        override fun onAdClosed() {

            // Code to be executed when the user is about to return

            // to the app after tapping on an ad.

        }

    }  

可替换的方法

onAdLoaded()广告加载完成后,系统会执行onAdLoaded()方法。如果您想推迟给 Activity 或 Fragment 添加的操作,例如推迟到您确定广告会加载时,可以在此处进行。

onAdFailedToLoad()onAdFailedToLoad()是唯一包含参数的方法。errorCode参数会指明发生了何种类型的失败。系统将这些可能的类型值定义为 类中的如下常量:* ERROR_CODE_INTERNAL_ERROR – 内部出现问题;例如,收到广告服务器的无效响应。* ERROR_CODE_INVALID_REQUEST – 广告请求无效;例如,广告单元 ID 不正确。* ERROR_CODE_NETWORK_ERROR – 由于网络连接问题,广告请求失败。* ERROR_CODE_NO_FILL – 广告请求成功,但由于缺少广告资源,未返回广告。

onAdOpened():用户点按广告时,系统会调用此方法。

onAdLeftApplication():用户点击打开其他应用(例如,Google Play 商店)时,系统会先调用onAdOpened(),再调用此方法,从而在后台运行当前应用。

onAdClosed():用户查看了广告的目标网址并返回应用时,系统会调用此方法。应用可以使用此方法恢复暂停的活动,或执行任何其他必要的操作,以做好互动准备。

广告的事件,一般用来监听广告点击,加载失败等、看情况使用。

7、广告测试。

实装确实就上面的那些,非常简单,这里说一下测试相关的一些内容。官方文档

最开始的时候说到过,如果我们在测试的时候,测试点击广告,这些点击是属于无效的动作,企业收到点击之后需要给我们付费,这样会导致我们的账号被封。所以测试的时候,有两种方式。

1. 使用谷歌给定的示例广告单元。

上表是我们在各个页面使用的adUnitId,在xml里面或者自己定义的View中设置的。

Mainifest中设置的applicationid是ca-app-pub-3940256099942544~3347511713

在测试过程中,这些广告的点击是不会产生流量的,可以放心使用。

2. 启用测试设备

如果您希望使用实际投放的广告进行更严格的测试,那么现在就可以将您的设备配置为测试设备,并使用您在 界面中创建的自己的广告单元 ID。

请按照以下步骤操作,将您的设备添加为测试设备。

添加您的测试设备

1.加载您的已植入广告的应用,并发出广告请求。

2.检查 logcat 输出,以查找像下面这样的消息:

I/Ads: Use AdRequest.Builder.addTestDevice(“33BE2250B43518CCDA7DE426D04EE231”)

to get test ads on this device.”

3.修改代码,以便用您的测试设备 ID 调用AdRequest.Builder.addTestDevice()。您可以为多个设备多次调用这个方法。

4.重新运行您的应用。如果广告是 Google 广告,则您会在广告(横幅广告、插页式广告或激励视频广告)顶部的中间部分看到一个“Test Ad”标签。

以上是所有Android中,实装需要注意的所有地方了

3、admob注册

下面说明一下,关于我们实际使用中的unitId和applicaitonId是如何获取的。

1、注册admob账号。

注册账号

在firebase中注册admob账号。

2、创建新的应用

注意!!!:这里创建了的应用,目前来看是无法删除的,请谨慎操作

创建应用

这里根据自己的需求来设置,如果选择已经发布的话,我们需要去找到自己的应用,然后关联应用。

3、输入应用的信息

我在上一步选择了否

应用信息

4、创建应用成功

成功创建

注意这个应用id,是我们在使用过程中,配置在Mainifest中的id,需要自己记录。

5、创建广告单元

广告选择

这里跟我们使用中一样,需要我们选择不同的广告格式,需要我们在实装的时候匹配

6、设置广告单元

横幅广告

这里依旧以横幅广告为例,需要配置各项参数。

7、完成

成功创建

这里就已经完成了创建,到此就全部结束了。

图中的两个id,1中的id是我们配置在Mainifest中,2是在adview中显示的,我们可以在一个应用中,创建不同的广告单元,不同的页面去显示不同的广告单元。

8、后续

在成功创建以后,还没有结束,在admob的首页会提示我们没有付款,没办法正常显示广告。

付款信息

填写信息

填写完成之后

完成

因为我并没有正式发布过app,所以不太清楚后面还有没有其他的操作需要我们进行。这里还有待补充。

相关推荐: 鞋服企业零售数字化2.0:导购挑大梁鞋服企业零售数字化2.0:导购挑大梁

鞋服企业的零售数字化转型仍要依托实体门店的发展,“根基在线下,然后做融合。” “扣个尺码,姐姐们,这双鞋给大家再减100元。”在hush puppies暇步士的直播间里,主播举着一双最新款的凉鞋,面对镜头持续不断地讲解着鞋款特点、价格优惠等。而一旁的助理一边充…

    码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.

    电子商务网站建设的重要性和好处