爱变现SDK v2.x.x 接入文档

appKeyappSecret 请在渠道后台获取

注意:爱变现SDK需要获取 OAID,如还未接入相关 SDK,请先接入。(具体请见 MSA_doc.html)

其他接入方式请见 demo

 

1.复制 libs 目录下所有 aar 文件到项目的 libs 目录下

2.在接入项目的 build.gradle 文件中,添加配置


x





apply plugin: 'com.android.application'

android {

    ...

    defaultConfig {

        ...

    repositories { flatDir {  dirs 'libs' } }

    android { sourceSets { main { jniLibs.srcDirs = ['libs'] } } }

}

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar']) //如果此处填写了 '*.aar' 则下方具体的aar依赖不用再写,需要 rebuild 工程

    ...

    implementation(name:'ibx_sdk_release_v2.0.0',ext:'aar') //根据 libs 目录下具体文件填写

    implementation(name:'device_release_v1.0.0',ext:'aar')


    implementation(name:'oaid_sdk_1.1.0’,ext:'aar') //必须 获取OAIDSDK

    

    implementation 'com.arialyy.aria:core:3.8.10'  //必须

    annotationProcessor 'com.arialyy.aria:compiler:3.8.10' //必须

    implementation "com.github.donkingliang:ImageSelector:2.2.0"//必须 AndroidX 项目 使用 1.9.2版本

    

    implementation 'com.github.bumptech.glide:glide:4.9.0'//必须

    annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'//必须

}


3.打开爱变现主页(setOAIDCertFileName方法务必调用)


xxxxxxxxxx






IBXSdk.getInstance()

    .init(Application application, String appKey,String secret,String userId)

    .setOAIDInfo(oaidCertName,oaidLibName,oaidHelperVersion) 

    //oaidCertName:申请的证书文件完整名,包括后缀名,例如 com.example.oaidtest2.cert.pem

    //oaidLibName:OAID aar文件中jni目录下,libnllvmxxxxxx.so文件,即去掉lib前缀和.so后缀剩下的内容

    //oaidHelperVersion:官方DemoHelper.java中给出的版本号

    .start(activity);


参数说明:

application  应用

appKey       后台申请的 appKey

secret       后台申请的 secret

userId       用户ID



*补充:

OAID证书申请方法

http://msa-alliance.cn/在官网注册帐号,记得选择:需要SDK

然后根据<移动智能终端补充设备标识体系统一调用SDK开发者说明文档v1.0.2X.pdf>说明:

证书需要填写example_batch.csv 后发送到msa@caict.ac.cn 申请,注意每

个包名对应一个签名,申请时需要将需要申请的全部包名填写到表格中。* 

4.混淆配置


xxxxxxxxxx





-keep class com.aiyingli.**{*;}

-keep class com.ayl.**{*;}


-dontwarn com.bumptech.glide.**

-keep class com.bumptech.glide.**{*;}

-keep public class * implements com.bumptech.glide.module.GlideModule

-keep public class * extends com.bumptech.glide.AppGlideModule

-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {

  **[] $VALUES;

  public *;

} 

  

-dontwarn com.arialyy.aria.**

-keep class com.arialyy.aria.**{*;}

-keep class **$$DownloadListenerProxy{ *; }

-keep class **$$UploadListenerProxy{ *; }

-keep class **$$DownloadGroupListenerProxy{ *; }

-keep class **$$DGSubListenerProxy{ *; }

-keepclasseswithmembernames class * {

    @Download.* <methods>;

    @Upload.* <methods>;

    @DownloadGroup.* <methods>;

}


-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.bun.lib.**{*;} 

-keep class com.bun.miitmdid.**{*;} 

-keep class com.huawei.hms.ads.identifier.**{*;} 

-keep class com.samsung.android.deviceidservice.**{*;} 

-keep class org.json.**{*;} 

-keep public class com.netease.nis.sdkwrapper.Utils {public

<methods>;}


# sdk

-keep class com.bun.miitmdid.** { *; }

# 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.** {*; }

-keep class com.huawei.hms.ads.identifier.** { *; }

-keep class com.uodis.opendevice.aidl.** { *; }

# 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.依赖 “ com.github.donkingliang:ImageSelector:2.2.0” 下载不下载,

出现这个情况,大多数是网络不稳定导致的,请多次尝试下载。

如果还是不行,请在根build.gradle里添加以下内容,再次尝试同步工程(sync project with gradle files)


xxxxxxxxxx





repositories {

    ...

    maven {

        url 'https://maven.aliyun.com/repository/google'

    }

    maven {

        url 'https://maven.aliyun.com/repository/gradle-plugin'

    }

    maven {

        url 'https://maven.aliyun.com/repository/jcenter'

    }

    maven {

        url 'https://maven.aliyun.com/repository/public'

    }

    maven {

        url 'https://maven.aliyun.com/repository/central'

    }

    maven {

        url 'https://plugins.gradle.org/m2/com/gradle'

    }

    google()

    jcenter()

    maven { url 'https://jitpack.io' }

    mavenCentral()

    ...

}


2.项目编译出现 Glide 冲突、appcompat 冲突

是因为依赖 ImageSelector 导致的,请在 build.gradle 里修改为如下


xxxxxxxxxx





implementation ("com.github.donkingliang:ImageSelector:2.2.0") {

    exclude  group:"com.github.bumptech.glide", module: "glide"

    exclude  group:"androidx.appcompat", module: "appcompat"

}


3.出现 java.io.FileNotFoundException: supplierconfig.json 报错

请从demo中或者MSA集成指南中找到 supplierconfig.json ,复制到项目的 assets 目录下。

4.在使用SDK加载页面出现异常时(空白等)

请打开日志,查看输入


xxxxxxxxxx





(IBXSdk.getInstance().showLog(true))


1)签名错误

请检查初始化参数。

2)系统不一致

3app_key 不存在,请检查是否调用了 setDebug(true) , 请改为 setDebug(false)

请检查是否后台申请的是否对应当前的APP