SDK配置
请开发者根据下面步骤介绍集成SDK所需配置,跳过或漏看会导致集成失败。
#
一、Android 9以上适配注意:如果缺少该配置,可能会导致广告图片显示不出来
#
V9.2.0.1版本网络安全配写入SDK,接入V9.2及以上版本无需在配置。老版本升级上来的项目,清单文件中会因有添加过该配置而导致报错,直接删除配置即可解决。 网络安全配置Google为保证用户数据和设备的安全,针对Android 系统(Android P) 的应用程序要求默认使用加密连接。在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响;故开发者需要更改 App 的网络安全配置以允许此类连接。
Meta Audience Network举例说明:
- 从 Android 9 开始,明文流量(未加密的 HTTP)默认会被拦截,这会影响Meta SDK的媒体缓存功能,并可能影响用户体验和广告收入。
- 官方地址Meta Caching on Android 9
- 开发者可以为特定网域添加加密政策,从而仅允许传输加密流量,如网络域限制到127.0.0.1,代码示例如下:
#
第一步:添加网络安全配置文件:#
第二步:在项目的res/xml文件夹新增network_security_config.xml,内容如下:项目路径:res/xml/network_security_config.xml:
#
Apache的兼容在 Android 6.0 中,SDK移除了对 Apache HTTP 客户端的支持。从 Android 9 开始,该内容库已从 bootclasspath 中移除,且默认情况下应用无法使用它。
更多了解,请看Google官网文档 Apache HTTP 客户端弃用。
#
二、Android 13及以上适配- 集成Admob、IronSource、Fyber上架Google Play市场的应用
- 其中Admob 移动广告 SDK 版本 20.4.0 或更高版本已经默认声明该权限
- Android 13及以上 ,则需要许可来读取设备的广告 ID。
- 了解更多请查看Google Advertising ID changes
- 集成Tapjoy V12.9.0 (TradPlus V7.7.0.1及以上),该SDK包括play-services-ads v17.1.0。对于Google Play Families Program成员,17.1.0版本 play-services-ads 中包括的AD_ID许可必须删除。
#
三、视频广告的硬件加速- 集成Meta(Facebook)、Mintegral、ChartBoost、Adx等视频广告需要启用硬件加速渲染,否则可能会在视频视图中遇到黑屏。
- 将以下属性添加到
<application>
标记以启用整个应用程序的硬件加速
#
四、混淆配置- 漏添加混淆文件,将导致打Release包时无法拉取到TP广告配置而请求广告失败。
#
五、资源优化广告SDK的资源不能被混淆,如果使用第三方的资源优化框架,请配置SDK的资源为白名单,例如:
#
TradPlus#
集成交叉推广#
集成游可赢Klevin#
集成Pangle- 除此之外,Pangle还需要根据接入的Pangle版本进行白明单资源配置 , 下载 [whiteList.txt](https://github.com/bytedance/pangle-sdk-demo/tree/master/pangle_white_list) 地址。
#
集成腾讯优量汇需要在build.gradle中新增白名单配置,内容如下:
#
集成Mintegral#
六、配置清单文件- 下列文档中所提权限均是三方广告平台要求添加的权限
- 必加权限,会提醒说明
- 添加位置如下
应用清单添加声明,开发者需要在如下位置添加相应的 <uses-permission>
元素
#
(1)国内广告源- 这部分权限三方平台SDK没有要求强制添加,即使没有获取可选权限SDK也能正常运行;获取以上权限将帮助三方平台优化投放广告精准度和用户的交互体验,提高eCPM
- 穿山甲国内SDK——必要权限
#
(2)海外广告源- Pangle SDK V45及以下——必要权限
- Android 12 以上,同意获取 Android Advertiser Identifier:
#
(3)可选权限- 申请以下权限用于防作弊功能以及有助于广告平台投放广告
#
七、配置三方声明配置声明,是三方平台为了能让广告正常展示做的兼容性处理,开发者根据所接入的广告源在如下位置添加相应的 <meta-data>
和 <provider>
元素
#
(1)Google Admob开发者需要在AndroidManifest.xml中添加Admob application ID(以下简称:APPID)
以下代码块中App ID仅为测试使用,正式上线前需要替换成开发者自己申请的APPID,漏替换会导致线上无填充或一直下发测试广告。
android:value
中的App ID开发者可在Admob后台获取,如图
#
(2)Applovin- 需要在AndroidManifest.xml中添加SDK KEY,需要登陆Applovin后台在Account-Keys中获取账户的SDK Key,如图:
- TPV7.3.0.1开始支持服务器下发SDK KEY,开发者仅需在TP后台配置即可,无需项目中添加此配置。
#
(3)Smaato- Android targetSdkVersion 版本在5.0 (API level 21) 以上,则必须在AndroidManifest.xml中添加如下内容,了解更多Smaato integration
#
(4)腾讯优量汇GDT- 如果您打包 App 时的 targetSdkVersion >= 24,为了让 SDK 能够正常下载、安装 App 类广告。需要在AndroidManifest.xml中添加
provider
标签 - 其中
gdt_file_path.xml
文件腾讯方直接写入GDT SDK中。如果没成功引入资源包,会报错找不到该文件。 - xml找不到,开发者需自行检查,项目中是否正常引入GDT SDK。
#
(5)国内的Mintegral- 中国大陆流量版本必需,海外版本可以不添加
- 需要在AndroidManifest.xml中添加
provider
标签 - 其中
mb_provider_paths
文件TP直接写入MTG adapter中。如果没成功引入,会报错找不到该文件。 - xml找不到,开发者需自行检查,项目中是否正常引入MTG adapter。
#
(6)头条穿山甲CSJ- 需要在AndroidManifest.xml中添加
provider
标签 - 其中
file_paths .xml
文件TP直接写入toutiao adapter中。如果没成功引入,会报错找不到该文件。 - xml找不到,开发者需自行检查,项目中是否正常引入toutiao adapter。
#
(7)国内Sigmob- 其中
sigmob_provider_paths.xml
文件TP直接写入sigmob adapter中。如果没成功引入,会报错找不到该文件。 - xml找不到,开发者需自行检查,项目中是否正常引入sigmob adapter。
#
(8)国内米盟Mimo其中
file_paths.xml
文件TP直接写入mimo adapter中。如果没成功引入,会报错找不到该文件。xml找不到,开发者需自行检查,项目中是否正常引入mimo adapter。
AndroidX 项目需要添加
- Android Support 项目需要添加