AdMob可以通过广告推广、获利和分析。
使用AdMob
注册AdMob
新建广告单元
新建广告单元时可以选择不同的广告类型:横幅
、插屏
、原声
、激励视频广告
。
新建后会生成广告单元 ID
,可在项目中配置。
集成AdMob
根据教程集成:
完全按照教程并不可行,教程中缺少了很多重要的内容和步骤。(至少在我当时看的时候)
替换例子项目中的AdMob元素
:
【个人推荐方式】
下载github例子,然后替换[*_]ad_unit_id
、google-services.json
、applicationId
。
[*_]ad_unit_id
广告单元ID,一般配置在string.xml
中。
google-services.json
从firebase下载的项目配置文件。
applicationId
json文件中包含该属性值。
admob_app_id
除了NativeExpress
都需要应用ID。
坑
延时显示
集成好新建的单元广告后,logcat
输出There was a problem getting an ad response. ErrorCode: 0
,这是因为新建广告需要在几个小时后才能生效正常显示。谷歌小组解释
显示空间不足
以横幅
为例
默认ads:adSize="BANNER"
,但是如果ParentView添加内边距会导致广告显示你空间不足而无法显示。如:Not enough space to show ad. Needs 320x50 dp, but only has 288x408 dp.
解决方案:因为AdMob请求时会计算当前view大小然后获取对应尺寸的广告,而大小应该是获取屏幕的宽度,保证AdMob的显示内容尺寸不缩小即可避免显示空间不足
的问题。