Appearance
Adjust
概述
宝船 SDK 已经引入 adjust,并做了相应封装。通过接入宝船 SDK,你可以轻松实现 Adjust 的功能,在你的应用中跟踪归因、事件及更多数据。
应用接入
TIP
注意:上线后请关闭沙盒模式,isAdjustSandBox 设置为 false
- 如果你的应用没有继承 Applicaton 的类,请创建该类,如若已有实现类,则在应用的 Applicaton 继承类中添加如下方法:
bash
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
val config = B rickConfig()
//是否开启打印日志(可选)
config.logEnable = true
//app的业务Id,不能为空,可以为包名或者其他
config.bindUid ="cc.xxxx.demo"
//设置adjust是否开启沙盒模式,同时设置adjust回调(可选)
config.setAdjust(true, object :
AdjustCallBack {
override fun onAttributionChanged(attributionModel: attribution?) {
Log.e(
"MyApplication",
"onAttributionChanged ${attributionModel?.adid ?: ""} ${attributionModel?.trackerName ?: ""} ${attributionModel?.trackerToken ?: ""} ${attributionModel?.campaign ?: ""} ${attributionModel?.costCurrency ?: ""} ${attributionModel?.adgroup ?: ""} ${attributionModel?.clickLabel ?: ""} ${attributionModel?.costType ?: ""} ${attributionModel?.fbInstallReferrer ?: ""} ${attributionModel?.network ?: ""} "
)
}
override fun onFinishedEventTrackingFailed(adjustEventFailureModel: AdjustEventFailure?) {
Log.e(
"MyApplication",
"onFinishedEventTrackingFailed ${adjustEventFailureModel._toString_()}"
)
}
override fun onFinishedEventTrackingSucceeded(adjustEventSuccessModel: AdjustEventSuccess?) {
Log.e(
"MyApplication",
"onFinishedEventTrackingSucceeded ${adjustEventSuccessModel._toString_()}"
)
}
override fun onFinishedSessionTrackingFailed(adjustSessionFailureModel: AdjustSessionFailure?) {
Log.e(
"MyApplication",
"onFinishedSessionTrackingFailed ${adjustSessionFailureModel._toString_()}"
)
}
override fun onFinishedSessionTrackingSucceeded(adjustSessionSuccessModel: AdjustSessionSuccess?) {
Log.e(
"MyApplication",
"onFinishedSessionTrackingSucceeded ${adjustSessionSuccessModel._toString_()}"
)
}
})
BrickSDK.initBrick(
this,
"cdshf8dfbshdf8sdfc",//宝船出海SDK应用创建后,平台生成的key
"sdjncvs8893d47xr983274cvhsd" //宝船出海SDK应用创建后,平台生成的秘钥
config
)
}
}
- initBrick(context: Context, mKey: String, mSecret: String, config: BrickConfig = BrickConfig()) 方法说明:宝船平台 SDK 的初始化,该方法推荐放在 Application 类的 onCreate 方法中调用。是 BrickSDK 类中的方法 context:应用的上下文 mKey:为你在宝船出海 SDK 平台应用创建后,平台生成的 key mSecret:为你在宝船出海 SDK 平台应用创建后,平台生成的秘钥 config:对应 BrickConfig 类,是 sdk 的配置对象,可在该对象中设置是否开启日志打印,adjust 沙盒模式是否开启,与 adjust 回调等。
- 打开
/app/manifest/AndroidManifest.xml
文件,在里面同步引用上一步创建的 MyApplication
bash
<application
android:name="你的包名和路径.MyApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/logo"
android:supportsRtl="true">
......
</application>
adjust 功能
获取归因信息
getAttribution(): attribution?
说明:获取归因信息
bash
val attribution = BrickAdjust.getAttribution()
Log.e(
"MainActivity",
"${attribution?.adid ?: ""} ${attribution?.trackerName ?: ""} ${attribution?.trackerToken ?: ""} ${attribution?.campaign ?: ""} ${attribution?.costCurrency ?: ""} ${attribution?.adgroup ?: ""} ${attribution?.clickLabel ?: ""} ${attribution?.costType ?: ""} ${attribution?.fbInstallReferrer ?: ""} ${attribution?.network ?: ""} "
)
获取设备标识符
getAdid(): String
说明:adjust 获取设备标识符
bash
BrickAdjust.getAdid()
获取 Amazon 广告 ID
getAmazonAdId(context: Context): String
说明:获取 Amazon 广告标识符( Amazon 广告 ID)
context 应用上下文
bash
BrickAdjust.getAmazonAdId(this)
获取 Google 广告 ID
getGoogleAdId(context: Context, onDeviceIdsRead: OnDeviceIdsRead)
说明:adjust 获取 Google Play 服务广告标识符(即 Google 广告 ID),是一台设备的独特标识符
context 上下文
onDeviceIdsRead google 广告 ID 的回调
bash
BrickAdjust.getGoogleAdId(this, object : OnDeviceIdsRead {
override fun onGoogleAdIdRead(googleAdId: String) {
Log.e("MainActivity googleAdId", googleAdId)
}
})
普通跟踪
track(event: String)
说明:简单地进行事件跟踪,只需要传入事件识别码
event 事件识别码
bash
BrickAdjust.track("event token")
收入跟踪
trackForRevenue(event: String, money: Double, unit: String)
说明:跟踪应用中生成收入的操作,包括广告交互和应用内购买
event 事件识别码
money 收入的金额
unit 货币识别码,应当是包含 3 个字符的字符串
bash
BrickAdjust.trackForRevenue("b7vvoe", 0.01, "EUR")
避免重复进行跟踪收入
trackForOrderId(event: String, money: Double, unit: String, orderId: String)
说明:利用交易 Id,避免重复进行收入跟踪
event 事件识别码
money 收入的金额
unit 货币识别码,应当是包含 3 个字符的字符串
orderId 订单交易 Id
bash
BrickAdjust.trackForOrderId("bnnnoe", 0.01, "EUR", "4r634734")
跟踪特定来源的广告收入
trackForRevenue(adRevenue: adRevenue)
说明:跟踪特定来源的广告收入,Adjust SDK 支持从特定渠道合作伙伴接收广告收入信息。此功能只能用于特定广告收入来源。请查看受支持的来源列表
adRevenueModel 特定来源的广告收入的对象
bash
val adRevenue = adRevenue(AdjustConfig._AD_REVENUE_APPLOVIN_MAX_)
adRevenue.revenue = 1.00
adRevenue.currency = "EUR"
adRevenue.adImpressionsCount = 10
adRevenue.adRevenueNetwork = "network1"
adRevenue.adRevenueUnit = "unit1"
adRevenue.adRevenuePlacement = "banner"
adRevenue.addCallbackParameter("key1", "value1")
adRevenue.addPartnerParameter("key2", "value2")
BrickAdjust.trackForRevenue(adRevenue)
事件跟踪同时回传标识符
trackForCallBackId(event: String, callbackId: String)
说明:为想要跟踪的每个事件添加自定义字符串标识符。Adjust 后端将在事件回传中报告该标识符。这样就能了解哪些事件已经被成功跟踪
event 事件识别码
_callbackId 设置唯一回传 ID _
bash
BrickAdjust.trackForCallBackId("event", "callbackId")
事件跟踪同时将回传单个参数
trackForCallBackParameter(event: String, key: String, value: String)
说明:事件跟踪同时将回传参数发送至 Adjust
event 事件识别码
key 回传参数的键
value 回传参数的值
bash
BrickAdjust.trackForCallBackParameter("event", "key", "value")
事件跟踪同时将回传多个参数
trackForCallBackParameter(event: String, params: Map<String, String>)
说明:adjust 事件跟踪同时将回传参数发送至 Adjust
event 事件识别码
params 回传参数,对应 map 对象
bash
BrickAdjust.trackForCallBackParameter("event", _mapOf_("key" _to _"value"))
事件跟踪同时将回传单个参数发送至渠道合作伙伴
trackForPartnerParameter(event: String, key: String, value: String)
说明:当用户在应用内触发事件时,您可以将参数发送至渠道合作伙伴
event 事件识别码
key 回传参数的键
value 回传参数的值
bash
BrickAdjust.trackForPartnerParameter("event", "key", "value")
事件跟踪同时将回传多个参数发送至渠道合作伙伴
trackForPartnerParameter(event: String, params: Map<String, String>)
说明:adjust 事件跟踪同时将回传参数发送至 Adjust
event 事件识别码
params 回传参数,对应 map 对象
bash
BrickAdjust.trackForPartnerParameter("event", _mapOf_("key" _to _"value"))
设置会话回传单个参数
addSessionCallbackParameter(key: String, value: String)
说明:设置会话回传参数,你可以同时发送回传参数和 Adjust SDK 记录的会话
key 回传参数的键
value 回传参数的值
bash
BrickAdjust.addSessionCallbackParameter("key", "value")
设置会话回传多个参数
addSessionCallbackParameter(params: Map<String, String>)
说明:设置会话回传参数,你可以同时发送回传参数和 Adjust SDK 记录的会话
params 回传参数,对应 map 对象
bash
BrickAdjust.addSessionCallbackParameter( _mapOf_("key" _to _"value"))
移除会话回传单个参数
removeSessionCallbackParameter(key: String)
说明:移除会话回传单个参数
key 回传参数的键
bash
BrickAdjust.removeSessionCallbackParameter("key")
移除会话回传多个参数
removeSessionCallbackParameter(keyList: List<String>)
说明:移除会话回传多个参数
keyList 需要移除回传参数的 Key 的列表
bash
BrickAdjust.removeSessionCallbackParameter(_listOf_("key1", "key2"))
重置会话回传参数
resetSessionCallbackParameters()
说明:重置会话回传参数
bash
BrickAdjust.resetSessionCallbackParameters()
回传单个参数发送至渠道合作伙伴
addSessionPartnerParameter(key: String, value: String)
说明:回传单个参数发送至渠道合作伙伴
key 回传参数的键
value 回传参数的值
bash
BrickAdjust.addSessionPartnerParameter( "key", "value")
回传多个参数发送至渠道合作伙伴
addSessionPartnerParameter(params: Map<String, String>)
说明:回传多个参数发送至渠道合作伙伴
params 回传参数,对应 map 对象
bash
BrickAdjust.addSessionPartnerParameter( _mapOf_("key" _to _"value"))
混淆
为了防止你的 app 混淆打包后后,而无法正常调用宝船出海 SDK 的方法,请在你的混淆文件中例如 proguard-rules.pro 文件中,或者你的自定义混淆文件中加入如下代码:
bash
################adjust###############
-keep class com.adjust.sdk.**{ *; }
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.**{ *; }