首先,我们需要验证广告中介及广告平台接入是否正常。以Admob中介为例,可以使用官方测试工具进行测试,具体方法参考下方链接:
https://developers.google.com/admob/android/mediation-test-suite
如针对单一广告源,可以去对应平台查看是否有相关测试工具可以使用,以Facebook Audience Network为例,具体方法参考下方链接:
https://developers.facebook.com/tools/property/checklist/
Checklist均为绿色,证明没有问题,否则找对应问题查找问题项。
第二步,我们需要验证广告加载及展示是否正常。
注意添加对应广告平台的测试设备,方便广告展示,且避免误点违反广告平台政策。
展示:保证可以看到2次展示成功,ID正确,为验收通过;
加载:
保证首次加载位置无误,且能够成功加载,为验收通过;
保证看到1次加载失败,加载失败后还会重新请求,为验收通过;
保证看到广告展示完毕后会重新加载,为验收通过;
保证广告ID为对应位置广告ID,验收通过。
建议以Admob和FB广告平台政策为参考,避免违反平台政策造成收入损失。
Facebook Audience Network相关政策:
改进横幅广告集成
https://www.facebook.com/business/help/1216784088497802?id=211412110064838
优化原生版位的集成
https://www.facebook.com/business/help/473039819825664?id=211412110064838
优化插屏版位的集成
https://www.facebook.com/business/help/2232135336814226?id=211412110064838
优化激励视频广告版位
https://www.facebook.com/business/help/301697897049814?id=211412110064838
Google Admob相关政策:
不建议使用的横幅广告植入方式
https://support.google.com/admob/answer/6275345?hl=zh-Hans
禁止的插页式广告植入方式
https://support.google.com/admob/answer/6201362?hl=zh-Hans&ref_topic=2936214
AdMob 原生广告合规核对清单
https://support.google.com/admob/answer/6240814?hl=zh-Hans&ref_topic=2936214
插页式激励广告及激励广告相关政策https://support.google.com/admob/answer/7313578?hl=zh-Hans
其中,常见的违规点我在之前的文章中也有做了相关总结,可以参考:
想赚取出海变现第一桶金?详解新手设计广告场景的8个坑
如广告位由线上控制下发,需验证其广告开关是否生效,如是否展示、展示X次是否受开关控制。
在Unity中启用Google广告游戏,你需要做到如下所示:要求
– Unity 4或者更高(链接:https://github.com/)
– 谷歌移动广告SDK(链接:https://github.com/)
安装
1.通过访问以下网址转到谷歌的游戏开发者页面:https://github.com/。
2.导航到页面上的“Unity”部分。
3.在本节将有两个按钮(如“下载插件”和“查看源代码”)。点击“下载插件”按钮。这将带给你一个GitHub的页面,你可以下载“谷歌移动广告'Unity包。查找并下载“GoogleMobileAds.unitypackage'文件。
4.导入“GoogleMobileAds.unitypackage”文件到Unity项目。例如在Unity,选择资源>导入包>自定义包并找到GoogleMobileAdsPlugin.unitypackage。
5.点击“导入”按钮d出。
6.重要提示:导入后,需要编辑“资源/插件/Android/ AndroidManifest.xml”文件夹内的“AndroidManifest.xml”文件。
例如更改以下行
<meta-data android:name="com.google.android.gms.version"
android:value="7327000" />
改为
android:name="com.google.android.gms.ads.AdActivity"
在你的计算机上Android SDK文件夹中找到正确的正确的值,我的是以下几点:
C:\ProgramFiles(x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res\values\version.xml
7.编辑默认AndroidManifest.xml文件
<android_sdk>/extras/google/google_play_services/libproject/google-play-services_lib/有相同的值在AndroidManifest.xml文件中,否则,你会得到一个错误。
8.从您的计算机添加了“谷歌播放服务库”到项目中。你可以从你的电脑中拖动下面的文件夹到Unity的Assets/Plugins/Android文件夹。
例如拖动
<android_sdk>/extras/google/google_play_services/libproject/google-play-services_lib/到Unity的Assets/Plugins/Android文件夹。
9.现在尝试构建,如果做得正确,构建应该没有任何错误。
添加广告
10.回到谷歌游戏开发者页面,你可以按照“Unity Plugin API”部分的说明, 请求创建一个新的脚本和一些基本的横幅。添加主相机到你的Unity。
11.你可以从Google HelloWorld的例子使用GoogleMobileAdsDemoScript.cs演示脚本。
注意:一旦确保替换和Id而不是添加你的谷歌AdMob单元。所有三个地方
如:查找和替换你的AdMob单位Id
#if UNITY_ANDROID
string adUnitId = “ca-app-pub-9044402088937556/1721466523”
#elif UNITY_IPHONE
string adUnitId = “ca-app-pub-9044402088937556/1721466523”
#else
string adUnitId = “ca-app-pub-9044402088937556/1721466523”
#endif
12.如果你使用的是“GoogleMobileAdsDemoScript.cs”示例文件,不打算使用testAds或者测试你的设备ID,你需要从如下示例中的谷歌源代码进行改变。
如:在“GoogleMobileAdsDemoScript.cs”——RequestBanner部分,
将bannerView.LoadAd(createAdRequest)改变为AdRequest request = new AdRequest.Builder().Build()
bannerView.LoadAd(request)
13.如果您打算添加插播式广告,那么你就需要做一样的横幅广告。
14.打造你的游戏,你应该可以看到现在的广告。
注:如果你只是签署了AdMob账户,可能需要一些时间来增加显示。
你也可以使用这个adUnitId进行测试:
ca-app-pub-9044402088937556/1721466523.这是我们的测试adUnitId之一。
下面是我遇到的一些错误:
错误1
– Error building Player: CommandInvokationFailure: Failed to re-package resources
AndroidManifest.xml:9: error: Error: No resource found that matches the given name (at ‘value’ with value ‘@integer/google_play_services_version’).
Fix: Go to your Goolge SDK folder and copy the value to manually add to to the AndroidManifest.xml file in your Unity3d Assets\Plugins\Android folder
C:\ProgramFiles(x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res\values\version.xml
例如:
将<activity android:name="com.inmobi.androidsdk.IMBrowserActivity"
android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"
改为<activity android:name="com.baidu.mobads.AppActivity" android:configChanges="keyboard|keyboardHidden|orientation"/>
错误2
– Error building Player: CommandInvokationFailure: Unable to merge android manifests
试着合并不兼容
/manifest/application/meta-data[@name=com.google.android.gms.version]元素:
<元数据
@android:NAME =“com.google.android.gms.version”
@android:值=“6587000”>
<元数据
@android:NAME =“com.google.android.gms.version”
++@android:值=“@整数/ google_play_services_version”>
修复:确保相同的值添加到Unity Assets文件夹下默认的AndroidManifest.xml文件。
例如:
Assets->Plugins->Android->google-play-services_lib\AndroidManifest.xml
1.首先了解广告触发逻辑
(时机,次数,位置,效果,广告种类)
2.
目前广告有3种:banner广告(条形),inter广告(插屏),native广告(原生,自定义广告)
3.pingstart广告
(1).为广告sdk配置接口,同时包含增加转化率的广告信息(广告sdk的初始化)
(2).广告配置(指的是走谁家的广告)
(3).广告内容(这个是要展示的广告的广告信息)
(4).广告展示上报
(5).广告点击上报
4.广告集成测试方法
(1).触发广告(比如点击什么位置,等待时间,进入什么页面之类的)
(2).出现广告配置请求(图中的2)
(3).查看返回的json。
①首先需要看的是weight。数字越大越先加载。(图中的1)
②看platform,是广告的厂商名称(图中的2)
③看广告对应的id(图中3)
这个返回的json中weight为3的最大是facebook的值最大,广告优先加载facebook。
我们看facebook的返回结果。
facebook广告位error,并说了原因,加载不到广告。
(facebook广告加载需要手机安装登陆facebook,IP地址国外,加载频率,手机信息获取不到,网络问题)这些原因都可能导致facebook广告加载不到,或者错误。
广告sdk就会往比facebook广告weight小的值加载。
weight为2的广告pingstart比facebook小又比admob的值大,所以会加载pingstart广告.
这时会看到pingstart广告中出现广告内容3的请求。其中有广告
广告就会在手机上展示
广告展示会有展示上报,点击广告后会有点击上报。这两个URL在native接口中的广告内容中都有
已经加载到广告之后就不会再继续往下加载其他家的广告了,所以admob的广告就不进行。
一次的广告加载,展示,点击的步骤已经完成。
其中加载人家家的广告请求中都会包含广告id。这个id需要确认正确和对应的广告位一对一匹配。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)