Skip to content

Adjust

概述

宝船 SDK 已经引入 adjust,并做了相应封装。通过接入宝船 SDK,你可以轻松实现 Adjust 的功能,在你的应用中跟踪归因、事件及更多数据。

应用接入

TIP

注意:上线后请关闭沙盒模式,isAdjustSandBox 设置为 false

  1. 如果你的应用没有继承 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 回调等。
  1. 打开 /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.**{ *; }