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,代码示例如下:
第一步:添加网络安全配置文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application
android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
第二步:在项目的res/xml文件夹新增network_security_config.xml,内容如下:
项目路径:res/xml/network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config
cleartextTrafficPermitted="true">
<domain includeSubdomains="true">127.0.0.1</domain>
</domain-config>
</network-security-config>
Apache的兼容
在 Android 6.0 中,SDK移除了对 Apache HTTP 客户端的支持。从 Android 9 开始,该内容库已从 bootclasspath 中移除,且默认情况下应用无法使用它。
更多了解,请看Google官网文档 Apache HTTP 客户端弃用。
<application>
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
</application>
二、Android 13及以上适配
- 集成Admob、IronSource、Fyber上架Google Play市场的应用
- 其中Admob 移动广告 SDK 版本 20.4.0 或更高版本已经默认声明该权限
- Android 13及以上 ,则需要许可来读取设备的广告 ID。
- 了解更多请查看Google Advertising ID changes
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
- 集成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许可必须删除。
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
三、视频广告的硬件加速
- 集成Meta(Facebook)、Mintegral、ChartBoost、Adx等视频广告需要启用硬件加速渲染,否则可能会在视频视图中遇到黑屏。
- 将以下属性添加到
<application>标记以启用整个应用程序的硬件加速
<application
android:hardwareAccelerated="true" >
四、混淆配置
- 漏添加混淆文件,将导致打Release包时无法拉取到TP广告配置而请求广告失败。
-keep public class com.tradplus.** { *; }
-keep class com.tradplus.ads.** { *; }
五、资源优化
广告SDK的资源不能被混淆,如果使用第三方的资源优化框架,请配置SDK的资源为白名单,例如:
TradPlus
R.string.tp_*
R.drawable.tp_*
R.layout.tp_*
R.id.tp_*
集成交叉推广
R.string.cp_*
R.drawable.cp_*
R.layout.cp_*
R.id.cp_*
集成游可赢Klevin
R.anim.klevin_*
R.color.klevin_*
R.drawable.klevin_*
R.id.klevin_*
R.layout.klevin_*
R.mipmap.klevin_*
R.string.klevin_*
R.integer.klevin_*
R.style.klevin_*
R.dimen.klevin_*
R.xml.klevin_*
集成Pangle
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/tt_*,
@layout/notification_*,
@anim/tt_*,
@drawable/tt_*,
@string/tt_*,
@color/tt_*,
@string/ad*,
@string/star_*,
@dimen/tt_*,
@integer/tt_*,
@style/tt_*,
@style/Theme.Dialog.TT_*,
@style/tt_*,
@style/quick_*,
@style/EditTextStyle*"
@attr/tt_*"/>
- 除此之外,Pangle还需要根据接入的Pangle版本进行白明单资源配置 , 下载 whiteList.txt 地址。