请您注册登录穿山甲后台,在后台中接入中心下载穿山甲 SDK并接入,下载具体入口如下:
在开发者平台进入“接入与测试”-“广告变现”,可下载对应SDK并查看接入文档, 点击跳转
此版本SDK不适用于中国以外的安卓商店/渠道。开发者如果有海外流量对接需求,可前往Pangle官网咨询,以便获取到正确的海外专属SDK版本。
我们建议您使用Gradle依赖更轻松地管理 Android Studio 项目的库依赖,而不是直接下载并安装 SDK。
版本 | v7.6.1.2 |
MD5值 | 8c34b9cf2943242cf7a883690118c284 |
步骤一:添加仓库
AGP版本要求:AGP版本要求>= 3.3.3 ,开发者可根据自身情况进行升级
在project级别的build.gradle文件中添加Maven的引用
步骤二:添加依赖
在主module的build.gradle文件添加SDK依赖,sdk版本请以穿山甲平台接入中心披露的版本号为准
导入aar及SDK依赖的jar包:将平台下载的SDK解压后获得的open_ad_sdk.aar复制到Application Module/libs文件夹(没有的话须手动创建), 并将以下代码添加到您app的build.gradle中:
SDK隐私协议及获取用途 请点击查看详情 link
注意: 穿山甲SDK不强制获取以上权限,即使没有获取可选权限SDK也能正常运行;建议在广告请求前合适的时机调用SDK提供的方法获取以上权限,将帮助穿山甲优化投放广告精准度和用户的交互体验,提高eCPM。
在res/xml目录下,新建一个xml文件file_paths,在该文件中添加如下代码:
广告SDK可运行于Android 7.0 (API Level 24) 及以上版本。<uses-sdk android:minSdkVersion="24" android:targetSdkVersion="30" />
如果开发者声明targetSdkVersion到API 23以上,请确保调用本SDK的任何接口前,已经申请到了SDK要求的所有权限,否则SDK部分特性可能受限
2.3.3.2 支持架构75xx及以上:SDK默认支持arm64-v8a
75xx以下:SDK默认支持armeabi-v7a,arm64-v8a两种架构
如果有其他架构(armeabi架构)需求,请联系技术支持同学获取;
您可以在应用中的build.gradle中使用abiFilters选择支持的架构。如下所示:
如果您需要使用proguard混淆代码,需确保不要混淆SDK的代码。以aar包里的混淆文件为准, SDK代码被混淆后会导致广告无法展现或者其它异常
2.3.3.4 资源混淆从平台下载的SDK包中whiteList.txt 白名单上的资源不支持混淆,未成功 keep 白名单内的资源,会导致穿山甲部分资源被清理,进而出现广告无法展示、崩溃等问题。
注意事项
TTAdSdk.init仅进行初始化,不会获取个人信息,需要在隐私协议后调用TTAdSdk.start方法及广告请求
穿山甲SDK初始化API必须在主线程中调用,穿山甲会将初始化操作放在子线程执行。
调用TTAdSdk.start后,可以通过TTAdSdk.isSdkReady判断初始化状态
初始化失败状态码
错误码 | 说明 |
4000 | 本地执行API错误导致初始化错误码 |
4201 | 1. SDK需要依赖 appcompat-v7 库;复制 implementation "com.android.support:appcompat-v7:28.0.0" |
TTAdManager对象为整个SDK的入口接口,可用于广告获取、权限请求、版本号获取等
方法 | 返回类型 | 说明 |
createAdNative(Context context) | TTAdNative | 创建广告对象TTAdNative |
requestPermissionIfNecessary(Context context) | void | 部分机型需要主动申请权限,如 READ_PHONE_STATE权限 |
tryShowInstallDialogWhenExit(Context context, final ExitInstallListener listener) | boolean | 退出时尝试显示"提示安装app"对话框 :true显示对话框;false不显示对话框 |
getSDKVersion() | String | 获取穿山甲sdk版本号 |
setThemeStatus(int themeStatus) | void | 设置主题类型,0:正常模式;1:夜间模式;默认为0;传非法值,按照0处理 |
getThemeStatus() | int | 获取当前主题类型 |
注意事项
方法 | 返回类型 | 说明 |
isCanUseLocation() | boolean | 是否允许SDK主动使用地理位置信息: true可以获取,false禁止获取。默认为true |
getTTLocation() | TTLocation | 地理位置参数,当isCanUseLocation=false时,可传入地理位置信息,穿山甲sdk使用您传入的地理位置信息 |
isCanUsePhoneState() | boolean | 是否允许SDK主动使用手机硬件参数,如:imei |
getDevImei() | String | 当isCanUsePhoneState=false时,可传入imei信息,穿山甲sdk使用您传入的imei信息 |
isCanUseWifiState() | boolean | 是否允许SDK主动使用ACCESS_WIFI_STATE权限 |
isCanUseWriteExternal() | boolean | 是否允许SDK主动使用WRITE_EXTERNAL_STORAGE权限 |
getDevOaid() | String | 开发者可以传入oaid |
alist() | boolean | 是否允许SDK主动获取设备上应用安装列表的采集权限 |
isCanUseAndroidId() | boolean | 是否允许SDK降低ANDROID_ID的采集频率 |
isCanUsePermissionRecordAudio() | boolean | 是否允许SDK在申明和授权了的情况下使用录音权限 |
Map<String,Object> map = new HashMap<String,Object>(); | Map | 支持传入"motion_info"字段表示是否允许采集传感器。 0不允许采集,1允许采集,传其他值或不实现该协议方法默认为采集 |
开发者可以调用接口,向用户提供退出个性化广告的能力。退出后看到的广告相关度会降低,详细使用请参考个性化广告设置
开发者通过穿山甲提供的接口回传的用户年龄设置需配合穿山甲媒体平台配置使用,两者缺一不可,否则无法生效。详细使用请参考屏蔽未成年广告限制