# 1、uniapp接入爱变现sdk

该对接方式适用于对接应用赚和游戏cpl

# uniapp原生插件本地引入

安卓SDK下载

# 一、配置爱变现

1.使用 Android Studio 导入 module : uniplugin_ibx

2.在项目的build.gradle中添加

implementation project(':uniplugin_ibx')

3.在项目的assets目录下找到dcloud_uniplugins.json文件(如果没有,则新建一个),添加爱变现插件配置

{
  "nativePlugins": [
    {
      "plugins": [
        {
          "type": "module",
          "name": "IBXUniappModule",
          "class": "com.aiyingli.uniplugin_ibx.IBXUniappModule"
        }
      ]
    }
  ]
}

4.修改uniplugin_ibx库的build.gradle,以确保内部依赖正确

//修改 ../simpleDemo/libs 为项目依赖包对应目录
compileOnly fileTree(dir: '../simpleDemo/libs', include: ['uniapp-v8-release.aar'])

# 二、调用爱变现

目前支持的功能有:跳转游戏赚、应用赚、获取设备信息(自定义时使用)。

demo中文件 /ibx/cpalist/cpalist.vue ,提供获取base信息示例,展示应用赚列表,详细逻辑请参考 http://www.aibianxian.net/igame-guide/app_task_list.html

以下是调用代码,具体请参考demo工程

<script>
	//第一步,导入插件
	var ibxModule = uni.requireNativePlugin("IBXUniappModule")
	const modal = uni.requireNativePlugin('modal');
	export default {
		methods:{
			startGameIndex(){
				//第二步,跳转游戏赚
				ibxModule.startIBX({
					'appkey':'142792768',//后台获取
					'secret':'1c03e83281b66486',//后台获取
					'userid':'userid',//用户ID
					'device':'device',//设备信息,android10及以上送OAID,以下送imei1
					'type':'0',//类型:游戏赚
				});
			},
			startAppIndex(){
				//跳转应用赚
				ibxModule.startIBX({
					'appkey':'142792768',//同上
					'secret':'1c03e83281b66486',//同上
					'userid':'userid',//同上
					'device':'device',//同上
					'type':'1',//类型:应用赚
				});
			},
			getDeviceInfo(){
				//获取设备信息
				var deviceInfo = ibxModule.getDeviceInfo()
				
				modal.toast({
					message: deviceInfo,
					duration: 1.5
				});
			}
		}
	}
</script>

# 三、运行demo工程

使用 Android Studio 导入 local_demo_project,需修改 \uniplugin_ibx\build.gradle

compileOnly fileTree(dir: 'libs', include: ['*.aar'])
改为
implementation fileTree(dir: 'libs', include: ['*.aar'])

local_demo_project\uniappH5 下为 uniapp 代码。 混淆配置

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

# Uniapp原生插件云打包方式接入

# 一、在项目根目录下新建 nativeplugins 目录,复制 ibx_plugin 文件夹到 nativeplugins 下

# 二、勾选爱变现插件

# 三、调用爱变现

目前支持的功能有:跳转游戏赚、应用赚、获取设备信息(自定义时使用)。

demo中文件 /ibx/cpalist/cpalist.vue ,提供获取base信息示例,展示应用赚列表,详细逻辑请参考 http://www.aibianxian.net/igame-guide/app_task_list.html

以下是调用代码,具体请参考demo工程

<script>
	//第一步,导入插件
	var ibxModule = uni.requireNativePlugin("IBXUniappModule")
	const modal = uni.requireNativePlugin('modal');
	export default {
		methods:{
			startGameIndex(){
				//第二步,跳转游戏赚
				ibxModule.startIBX({
					'appkey':'142792768',//后台获取
					'secret':'1c03e83281b66486',//后台获取
					'userid':'userid',//用户ID
					'device':'device',//设备信息,android10及以上送OAID,以下送imei1
					'type':'0',//类型:游戏赚
				});
			},
			startAppIndex(){
				//跳转应用赚
				ibxModule.startIBX({
					'appkey':'142792768',//同上
					'secret':'1c03e83281b66486',//同上
					'userid':'userid',//同上
					'device':'device',//同上
					'type':'1',//类型:应用赚
				});
			},
			getDeviceInfo(){
				//获取设备信息
				var deviceInfo = ibxModule.getDeviceInfo()
				
				modal.toast({
					message: deviceInfo,
					duration: 1.5
				});
			}
		}
	}
</script>

# 四、运行demo

请选择 运行->运行到手机或模拟器->运行自定义基座 进行云端打包。否则爱变现插件所依赖其他SDK的无法下载。