Skip to content

SDK接入配置

1. 准备工作

2. 示例Demo

点击查看ToBid聚合示例Demo

3. 集成步骤

3.1 添加ToBid SDK 依赖

groovy
dependencies {

    //ToBidSdk-ZIP包内Core目录下的aar文件放入项目libs中
    implementation fileTree(include: ['*.aar'], dir: 'libs')
}

加入 AndroidX 或者 Android Support V4 依赖支持库(二选一)

groovy
dependencies {
    //AndroidX
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

    //Android support v4
    implementation 'com.android.support:support-v4:23.0.+'
}

3.2 更新 AndroidManifest.xml

权限声明

xml
<!--联⽹权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!--检测当前⽹络状态是2G、3G、4G还是WiFi-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--获取设备标识IMEI。⽤于标识⽤户-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--读写存储权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    tools:node="replace" />
<!--获取MAC地址,⽤于标识⽤户-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--安装应⽤权限-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<!--定位权限,不强制要求-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

3.3 混淆配置

java
# 不优化输入的类文件
-dontoptimize
#忽略警告
-ignorewarnings

# ToBid
-dontwarn com.sigmob.**
-keep class com.sigmob.**{ *;}
-keep interface com.sigmob.**{ *;}

-dontwarn com.czhj.**
-keep class com.czhj.**{ *;}
-keep interface com.czhj.**{ *;}
-keep class com.tan.**{ *;}

-dontwarn com.windmill.**
-keep class com.windmill.**.**{*;}
-keep interface com.windmill.**{ *;}

# miitmdid
-dontwarn com.bun.**
-keep class com.bun.** {*;}
-keep class a.**{*;}
-keep class XI.CA.XI.**{*;}
-keep class XI.K0.XI.**{*;}
-keep class XI.XI.K0.**{*;}
-keep class XI.vs.K0.**{*;}
-keep class XI.xo.XI.XI.**{*;}
-keep class com.asus.msa.SupplementaryDID.**{*;}
-keep class com.asus.msa.sdid.**{*;}
-keep class com.huawei.hms.ads.identifier.**{*;}
-keep class com.samsung.android.deviceidservice.**{*;}
-keep class com.zui.opendeviceidlibrary.**{*;}
-keep class org.json.**{*;}
-keep public class com.netease.nis.sdkwrapper.Utils {public <methods>;}

3.4 资源混淆配置

  • 如果您的应⽤启⽤了资源混淆或资源缩减,您需要保留SDK的资源,SDK的资源名都是以tobid_、sig_开头的。您可以在资源混淆配置⽂件添加如下配置:
xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@drawable/tobid_*,@layout/tobid_*,@id/tobid_**,@style/tobid_*,@string/tobid_*,@anim/tobid_*, @xml/tobid_*,@color/tobid_*,@attr/tobid_*,@dimen/tobid_*" />
    
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@drawable/sig_*,@layout/sig_*,@id/sig_**,@style/sig_*,@string/sig_*,@anim/sig_*, @xml/sig*,@color/sig_*,@attr/sig_*,@dimen/sig_*"/>