SDK说明


OAID SDK集成说明

<h1>OAID SDK集成说明<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#oaid-sdk%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E">​</a></h1> <h2>1. Android 10 OAID 描述<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#_1-android-10-oaid-%E6%8F%8F%E8%BF%B0">​</a></h2> <p>&gt; Android 10 无法通过常规方式获取IMEI等设备ID,影响部分广告网络(Sigmob、快手等)正常广告加载、展示等业务,开发者需要接入 OAID SDK 才可以正常加载这些广告网络的广告。建议开发者优先集成OAID,集成方式可以参看[demo] MSA联盟官网地址: <a href="http://www.msa-alliance.cn/col.jsp?id=120"><a href="http://www.msa-alliance.cn/col.jsp?id=120">http://www.msa-alliance.cn/col.jsp?id=120</a></a> &gt; &gt; OAID SDK 不是 必要组件。此章节所提及的内容,开发者根据自身情况判断是否处理。满足以下场景下可不处理 1. 应用已接入 OAID ; 2.应用不使用快手等依赖 OAID 的广告网络。</p> <h2>2. 引入依赖<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#_2-%E5%BC%95%E5%85%A5%E4%BE%9D%E8%B5%96">​</a></h2> <ul> <li> <p>把 msa_mdid_x.x.x.aar 或者 oaid_sdk_x.x.x.aar 拷贝到项的 libs 目录,并设置依赖,其中 x.x.x 代表版本号。</p> <p>implementation files('libs/msa_mdid_x.x.x.aar') 或者 implementation files('libs/oaid_sdk_x.x.x.aar')</p> </li> </ul> <h2>3. Assets设置<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#_3-assets%E8%AE%BE%E7%BD%AE">​</a></h2> <ul> <li> <p>将 supplierconfig.json 拷贝到项目 assets 目录下,并修改里边对应内容,特别是需要设置 appid 的部分。需要设置 appid 的部分需要去对应厂商的应用商店里注册自己的app。</p> </li> <li> <p>将证书文件(<strong>应用包名.cert.pem</strong>)拷贝到项目 app/src/main/assets 目录下或在SDK初始化前通过 <strong>WindAds.setOAIDCertPem(certpemStr)</strong> 传入OAID证书Pem内容。</p> </li> <li> <p><strong>仅1.0.26+版本需要配置证书</strong>。</p> <p>&gt; 证书需要填写 example_batch.csv 后发送到 <a href="mailto:msa@caict.ac.cn">msa@caict.ac.cn</a> 申请,注意每个包名对应一个签名,申请时需要将所需申请的全部包名填写到表格中。为避免证书过期影响 APP 获取 ID,建议证书信息可以从后台服务器获取,或 者当调用 oaid SDK 接口提示证书无效时,调用后台接口及时更新证书信息,并且 快到期时及时提前重新申请证书。</p> </li> </ul> <h2>4. gradle 配置<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#_4-gradle-%E9%85%8D%E7%BD%AE">​</a></h2> <ul> <li> <p>设置 gradle 编译选项,这里可以根据自己对平台的选择进行合理配置。</p> <p>ndk { abiFilters 'armeabi-v7a','x86','arm64-v8a','x86_64','armeabi' }</p> <p>packagingOptions { doNotStrip &quot;<em>/armeabi-v7a/</em>.so&quot; doNotStrip &quot;<em>/x86/</em>.so&quot; doNotStrip &quot;<em>/arm64-v8a/</em>.so&quot; doNotStrip &quot;<em>/x86_64/</em>.so&quot; doNotStrip &quot;armeabi.so&quot; }</p> </li> </ul> <h2>5. 混淆设置<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#_5-%E6%B7%B7%E6%B7%86%E8%AE%BE%E7%BD%AE">​</a></h2> <ul> <li>现SDK支持oaid_sdk_1.0.10、1.0.13、1.0.22、1.0.23、1.0.25, 1.0.30, 1.1.0, 1.2.0, 1.2.1 等版本、但是媒体必须按照以下混淆配置进行设置</li> </ul> <p>java</p> <pre><code># 1.0.25之后 # sdk -keep class com.bun.miitmdid.** { *; } -keep interface com.bun.supplier.** { *; } # asus -keep class com.asus.msa.SupplementaryDID.** { *; } -keep class com.asus.msa.sdid.** { *; } # freeme -keep class com.android.creator.** { *; } -keep class com.android.msasdk.** { *; } # huawei -keep class com.huawei.hms.ads.** { *; } -keep interface com.huawei.hms.ads.** {*; } # lenovo -keep class com.zui.deviceidservice.** { *; } -keep class com.zui.opendeviceidlibrary.** { *; } # meizu -keep class com.meizu.flyme.openidsdk.** { *; } # nubia -keep class com.bun.miitmdid.provider.nubia.NubiaIdentityImpl { *; } # oppo -keep class com.heytap.openid.** { *; } # samsung -keep class com.samsung.android.deviceidservice.** { *; } # vivo -keep class com.vivo.identifier.** { *; } # xiaomi -keep class com.bun.miitmdid.provider.xiaomi.IdentifierManager { *; } # zte -keep class com.bun.lib.** { *; } # coolpad -keep class com.coolpad.deviceidsupport.** { *; } # 1.0.25 之前 -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 &amp;lt;methods&amp;gt;;}</code></pre> <h2>6.错误码<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#_6-%E9%94%99%E8%AF%AF%E7%A0%81">​</a></h2> <p>&gt; 信息码(引用 InfoCode 类)</p> <table> <thead> <tr> <th>信息</th> <th>值</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>INIT_INFO_RESULT_OK</td> <td>1008610</td> <td>调用成功,获取接口是同步的</td> </tr> <tr> <td>INIT_INFO_RESULT_DELAY</td> <td>1008614</td> <td>调用成功,获取接口是异步的</td> </tr> <tr> <td>INIT_ERROR_CERT_ERROR</td> <td>1008616</td> <td>证书未初始化或证书无效</td> </tr> <tr> <td>INIT_ERROR_MANUFACTURER_NOSUPPORT</td> <td>1008611</td> <td>不支持的厂商</td> </tr> <tr> <td>INIT_ERROR_DEVICE_NOSUPPORT</td> <td>1008612</td> <td>不支持的设备</td> </tr> <tr> <td>INIT_ERROR_LOAD_CONFIGFILE</td> <td>1008613</td> <td>加载配置文件出错</td> </tr> <tr> <td>INIT_ERROR_SDK_CALL_ERROR</td> <td>1008615</td> <td>sdk调用出错</td> </tr> </tbody> </table> <h2>7.如何检验oaid接入成功<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/OAID_SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/#_7-%E5%A6%82%E4%BD%95%E6%A3%80%E9%AA%8Coaid%E6%8E%A5%E5%85%A5%E6%88%90%E5%8A%9F">​</a></h2> <p>两种方法查看oaid是否接入成功:</p> <ol> <li>提供一下应用id,包名,及应用版本号,我们这边查一下后台日志即可;</li> <li>Android Studio 控制台里使用logcat 过滤一下MdidSdkHelper 关键字。</li> </ol>

页面列表

ITEM_HTML