注意 :我们建议您使用Gradle依赖更轻松地管理 Android Studio 项目的库依赖项,而不是直接下载并安装 SDK。
从穿山甲3.5.0.6版本开始,开发者也可以使用Gradle依赖导入穿山甲SDK
步骤一:添加仓库
在project级别的build.gradle文件中添加Maven的引用,url ‘https://artifact.bytedance.com/repository/pangle'
示例:
步骤二:添加依赖
在主module的build.gradle文件添加SDK依赖
Gradle版本要求:
自3400版本开始,穿山甲支持了Android R,引入了Android R的 <queries> 标签,需要对gradle版本进行限制,限制范围为:3.3.3、 3.4.3、 3.5.4、3.6.4、4.0.1 ,开发者根据自身情况酌情升级
导入aar及SDK依赖的jar包
将本SDK压缩包内的open_ad_sdk.aar复制到Application Module/libs文件夹(没有的话须手动创建), 并将以下代码添加到您app的build.gradle中:
添加权限
注意: 穿山甲SDK不强制获取以上权限,即使没有获取可选权限SDK也能正常运行;获取以上权限将帮助穿山甲优化投放广告精准度和用户的交互体验,提高eCPM。
注意:
(1)为不影响下载类型广告使用 无论APP处于任何阶段都需要在清单文件中正常配置
(2)为不影响到广告的转化及收益 请务必在清单文件中配置xxx.TTMultiProvider
(3)${applicationId} 必须与开发者包名保持一致,否则会引发崩溃问题
适配Anroid7.0及以上如果您的应用需要在Anroid7.0及以上环境运行,请在中添加如下代码:
在res/xml目录下,新建一个xml文件file_paths,在该文件中添加如下代码:
为了适配下载和安装相关功能,在工程中引用的包 使用28.0.0以及以上版本
注意:单进程或多进程都必须配置
本SDK可运行于Android5.0 (API Level 21) 及以上版本。<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
如果开发者声明targetSdkVersion到API 23以上,请确保调用本SDK的任何接口前,已经申请到了SDK要求的所有权限,否则SDK部分特性可能受限
代码混淆
如果您需要使用proguard混淆代码,需确保不要混淆SDK的代码。以aar包里的混淆文件为准
注意: SDK代码被混淆后会导致广告无法展现或者其它异常
支持架构
注意: 3900以及以上版本SDK默认支持armeabi-v7a,arm64-v8a两种架构,如果有其他架构(armeabi架构)需求,请联系技术支持同学;
您可以在应用中的中使用选择支持的架构。如下所示:
注意:平台SDK包中whiteList.txt 白名单上的资源不支持混淆
开发者需要在用户同意APP的隐私政策之后调用以下代码来初始化穿山甲SDK。重点: 目前SDK已支持多进程,如果明确某个进程不会使用到广告SDK,可以只针对特定进程初始化广告SDK。
注意: appId为必填内容,若appid是通过服务端下发的,那么在初始化前需要做不为空的判断。
穿山甲在3450版本开始支持了同步初始化和异步初始化两种方式,并且TTAdConfig.Builder中支持异步初始化API将不再生效。优化后同步初始化和异步初始化两种方式的耗时没有显著差异,后者将部分初始化逻辑放到了子线程。穿山甲48xx版本开始正式废弃了同步初始化,开发者需要在success回调之后再去请求广告。
重点说明:若您接入的是穿山甲Pro版本的SDK,则只能使用异步初始化的方式。同时混淆规则也要同步调整。
穿山甲SDK初始化API:该API必须在主线程中调用,穿山甲会将初始化操作放在子线程执行。
V>=58XX
TTAdSdk.init返回值变成boolean

新增返回是否调用TTAdSDk.start成功的状态接口TTAdSdk.isSdkReady
V>=56XX
TTAdSdk.init仅进行初始化,不会获取个人信息, 如果要展示广告,需要再调用TTAdSdk.start方法
在新增Callback回调,替换掉原来的InitCallback回调
V< 56XX
fail回调状态码
初始化状态接口
过期&无效API
48xx版本开始SDK同步初始化方法正式废弃
注意
- 重写getTTLocation()之前需要设置isCanUseLocation()
- 重写getDevImei()之前需要先设置isCanUsePhoneState()
TTAdManager对象为整个SDK的入口接口,可用于广告获取、权限请求、版本号获取等
①TTAdManagerHolder保持单例模式。
②单进程多次初始化SDK以第一次初始设置的信息为主。
③appId是平台上创建应用生成的7位数字。
④任何类型的视频广告加载后播放出现黑屏都可以按以下方式尝试解决:
- 清单文件中的黑屏权限是否添加
- 尝试使用TextureView控件播放视频
⑤appName不为空即可,建议和平台创建的应用名称保持一致。
⑥supportMultiProcess说明:
- 若项目是单进程必须更改为false
- 若项目是多进程,则需要设置true。多进程中如果每个进程中都需要展示广告 必须每个进程都进行SDK的初始化 如果您的应用需要支持多进程,请务必设置TTAdConfig.supportMultiProcess(true)。确认app多进程支持判断方法:a、穿山甲sdk初始化b、穿山甲广告获取c、穿山甲广告展示这三个关键点的调用在不同进程则为多进程,否则即为单进程如非必要尽量不要使用多进程开关,多进程效率不如单进程高
⑦provider配置
- 无论单进程还是多进程都必须配置穿山甲所需provider
- 无论平台应用处于测试状态还是正式状态都需要配置provider
- 为不影响到广告的转化及收益 请务必在清单文件中配置xxx.TTMultiProvider
⑧如果您的应用对资源也进行混淆(如andResGuard),请不要混淆穿山甲的任何资源,防止资源找不到而发生崩溃的问题。
⑨SDK压缩文件内whiteList.txt 白名单上的资源不支持混淆 ,开发者在SDK更新迭代过程中需要重新检查一遍白名单内容。
⑩回调方法不执行
- 检查TTAdManager对象是否被覆盖
- 检查TTAdManager对象是否被提前释放
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/150896.html