SDK集成及初始化
#
开发环境操作系统:支持 Linux/Mac/Windows 系统
开发工具:支持 Android Studio
支持设备:Android 5.0 及以上系统的 Android 设备
#
术语AppID:媒体ID,您在游可赢平台创建媒体时获得的ID,对应一个具体的App,是游可赢平台识别该App的唯一ID
PosID:资源位ID,您在游可赢开发者平台为您的媒体创建某个广告场景时获得的ID,对应一个具体的广告位
#
SDK嵌入#
添加SDK到工程中#
方式一:导入aar包将SDK的aar包拷⻉到项目的 libs ⽬录下,并且在 build.gradle 中进⾏相应的配置。
#
方式二:Maven Central仓库依赖导入sdk从2.6.0版本开始,sdk发布到Maven Central仓库。在 build.gradle 中配置:
#
权限申请在AndroidManifest.xml中添加以下权限,在6.0以上还需要进行动态权限申请。
#
下载文件配置为了让SDK能正常下载安装app,必须按下面步骤配置FileProvider。 在项目AndroidManifest.xml的Application标签中添加provider标签:
配置说明
android:authorities必须配置为 应用包名+".klevin.fileProvider",注意区分大小写。
android:resource必须配置为@xml/klevin_provider_paths。
#
混淆配置若启用了混淆,请添加以下klevinAdSDK的混淆配置规则:
#
资源混淆白名单游可赢广告SDK的资源不能被混淆,若开启了资源混淆,请配置SDK的资源为白名单。游可赢广告SDK的资源均以"klevin_"开头,参考whiteList.txt
#
SDK初始化在AndroidManifest.xml中配置AppID,其中value的值为申请的AppID。如代码中指定了AppID,则此处可不配置。
初始化接口必须在主线程中调用,建议在项目的Application类的onCreate()方法中调用SDK的初始化方法:
#
主要APIcom.tencent.klevin.KlevinConfig.Builder
com.tencent.klevin.KlevinManager
方法名 | 说明 | 参数 |
---|---|---|
Builder.appId(String appid) | AppId在AndroidManifest.xml中配置,又通过接口调用时,优先使用代码调用传的参数 | 【必须】在游可赢申请的AppId |
Builder.debugMode(boolean isDebug) | 打开详细的调试日志,release版本中务必关闭 | 【可选】不配置时默认为false |
Builder.customController(KlevinCustomController controller) | 设置允许sdk获取的用户信息 | KlevinCustomController请参考:隐私信息获取控制 |
Builder.personalizeEnabled(boolean enabled) | 是否开启个性化推荐,默认开启。true: 开启, false: 关闭。 | 请参考:个性化推荐广告设置 |
Builder.build() | 构造KlevinConfig作为初始化sdk的参数 | |
KlevinManager.getVersion() | 获取sdk的版本号 | |
KlevinManager.init(Context ctx, KlevinConfig config, InitializationListener listener) | sdk初始化接口,可通过KlevinConfig.Builder来构造初始化参数 | InitializationListener:初始化回调接口 |
#
多进程配置KlevinAdSDK中使用了Webview,在Android 9及以上,多进程不能共享一个Webview数据目录。如果您的APP中有多进程使用Webview的场景,必须在Application的初始化SDK之前调用WebView.setDataDirectorySuffix()。
参考:
- https://github.com/react-native-webview/react-native-webview/issues/968
- https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=zh-cn