事前準備
SDK v5にアップデートする前に、以下を行ってください。
- SDK v5はSDKシグネチャーの検証をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。
- アプリがバージョン21以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります。
SDKをインストールする
SDK v5の使用を開始するには、プロジェクトにdependencyとしてSDK v5を追加する必要があります。これを行うには、以下の手順に従ってください。
-
現在build.gradle
ファイルにある古いバージョンの SDK を全て削除します。
-
build.gradle
ファイルに以下のdependencyを追加します:
implementation 'com.adjust.sdk:adjust-android:5.0.0'
implementation 'com.android.installreferrer:installreferrer:2.2'
// Add the following if you are using the Adjust SDK inside web views on your app
implementation 'com.adjust.sdk:adjust-android-webbridge:5.0.0'
初期化メソッドを更新
SDK v4では、初期化メソッドはAdjust.onCreate(AdjustConfig)
です。SDK v5ではAdjust.initSdk(AdjustConfig)
に変更されています。
Adjust.onCreate(adjustConfig) // v4
Adjust.initSdk(adjustConfig) // v5
Adjust.onCreate(adjustConfig); // v4
Adjust.initSdk(adjustConfig); // v5
SDKシグネチャーライブラリを設定
SDK v5には、 SDKシグネチャーライブラリが含まれています。これは、シグネチャーライブラリ連携ガイドのテスト手順に従ってテストすることができます。
シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、以下の手順に従ってください
- シグネチャーの検証を有効化します。
- テスト前にアプリのSHA-1フィンガープリントを提供してください。
v5 SDKをインストールしたら、新しいAPIを使用するために既存のAdjustコードを更新する必要があります。
新規API
SDK v5では、以下のプラグインが追加されました。
インストールリファラーゲッター
SDK v5には、インストールリファラー情報を取得するための新しいゲッターメソッドが含まれています。
Adjust.getGooglePlayInstallReferrer(
object : OnGooglePlayInstallReferrerReadListener {
override fun onInstallReferrerRead(referrerDetails: GooglePlayInstallReferrerDetails) {}
override fun onFailure(message: String) {}
AdjustHuaweiReferrer.getHuaweiAdsInstallReferrer(
object : OnHuaweiInstallReferrerReadListener() {
fun onInstallReferrerDetailsRead(referrerDetails: HuaweiInstallReferrerDetails?) {}
fun onFail(message: String?) {}
AdjustHuaweiReferrer.getHuaweiAppGalleryInstallReferrer(
object : OnHuaweiInstallReferrerReadListener() {
fun onInstallReferrerDetailsRead(referrerDetails: HuaweiInstallReferrerDetails?) {}
fun onFail(message: String?) {}
AdjustSamsungReferrer.getSamsungInstallReferrer(
object : OnSamsungInstallReferrerReadListener() {
fun onSamsungInstallReferrerRead(referrerDetails: SamsungInstallReferrerDetails?) {}
fun onFail(message: String?) {}
AdjustVivoReferrer.getVivoInstallReferrer(
object : OnVivoInstallReferrerReadListener() {
fun onVivoInstallReferrerRead(referrerDetails: VivoInstallReferrerDetails?) {}
fun onFail(message: String?) {}
AdjustXiaomiReferrer.getXiaomiInstallReferrer(
object : OnXiaomiInstallReferrerReadListener() {
fun onXiaomiInstallReferrerRead(referrerDetails: XiaomiInstallReferrerDetails?) {}
fun onFail(message: String?) {}
Adjust.getGooglePlayInstallReferrer(getApplicationContext(), new OnGooglePlayInstallReferrerReadListener() {
public void onInstallReferrerRead(GooglePlayInstallReferrerDetails referrerDetails) {
public void onFailure(String message) {
AdjustHuaweiReferrer.getHuaweiAdsInstallReferrer(getApplicationContext(), new OnHuaweiInstallReferrerReadListener() {
public void onInstallReferrerDetailsRead(HuaweiInstallReferrerDetails referrerDetails) {
public void onFail(String message) {
AdjustHuaweiReferrer.getHuaweiAppGalleryInstallReferrer(getApplicationContext(), new OnHuaweiInstallReferrerReadListener() {
public void onInstallReferrerDetailsRead(HuaweiInstallReferrerDetails referrerDetails) {
public void onFail(String message) {
AdjustSamsungReferrer.getSamsungInstallReferrer(getApplicationContext(), new OnSamsungInstallReferrerReadListener() {
public void onSamsungInstallReferrerRead(SamsungInstallReferrerDetails referrerDetails) {
public void onFail(String message) {
AdjustVivoReferrer.getVivoInstallReferrer(getApplicationContext(), new OnVivoInstallReferrerReadListener() {
public void onVivoInstallReferrerRead(VivoInstallReferrerDetails referrerDetails) {
public void onFail(String message) {
AdjustXiaomiReferrer.getXiaomiInstallReferrer(getApplicationContext(), new OnXiaomiInstallReferrerReadListener() {
public void onXiaomiInstallReferrerRead(XiaomiInstallReferrerDetails referrerDetails) {
public void onFail(String message) {
変更されたAPI
SDK v5では、以下のAPIが変更されました。
SDKを無効化および有効化する
SDK v4では、boolean
値でAdjust.setEnabled()
を呼び出すことで、SDKを有効化・無効化することができます。
- SDKを無効化するには、
Adjust.setEnabled(false)
を呼び出します。
- SDKを有効化するには、
Adjust.setEnabled(true)
を呼び出します。
Adjust.setEnabled(false) // disable SDK
Adjust.setEnabled(true) // enable SDK
Adjust.setEnabled(false); // disable SDK
Adjust.setEnabled(true); // enable SDK
SDK v5では、わかりやすくするためにこの機能は別々のコマンドに分割されています。
- SDKを無効化するには、
Adjust.disable()
を呼び出します。
- SDKを有効化するには、
Adjust.enable()
を呼び出します。
Adjust.disable() // disable SDK
Adjust.enable() // enable SDK
Adjust.disable(); // disable SDK
Adjust.enable(); // enable SDK
オフラインモード
SDK v4では、boolean
値でAdjust.setOfflineMode()
を呼び出すことで、SDKでオフラインモードを有効化・無効化することができます。
Adjust.setOfflineMode(false) // put SDK in offline mode
Adjust.setOfflineMode(true) // put SDK back in online mode
Adjust.setOfflineMode(false); // put SDK in offline mode
Adjust.setOfflineMode(true); // put SDK back in online mode
SDK v5では、わかりやすくするためにこの機能は別々のコマンドに分割されています。
- SDKをオフラインモードに設定するには、
Adjust.switchToOfflineMode()
を呼び出します。
- SDKをオンラインモードに戻すには、
Adjust.switchBackToOnlineMode()
を呼び出します。
Adjust.switchToOfflineMode() // put SDK in offline mode
Adjust.switchBackToOnlineMode() // put SDK back in online mode
Adjust.switchToOfflineMode(); // put SDK in offline mode
Adjust.switchBackToOnlineMode(); // put SDK back in online mode
プリインストール記録
SDK v4では、ブーリアン引数でAdjustConfig
インスタンスのsetPreinstallTrackingEnabled
メソッドを呼び出すことで、SDKがユーザーのデバイスにプリインストールされているアプリのアクティビティを記録するように設定できます。
adjustConfig.setPreinstallTrackingEnabled(true)
adjustConfig.setPreinstallTrackingEnabled(true);
SDK v5では、このメソッドはenablePreinstallTracking
に改名されています。このメソッドは引数を取りません。
adjustConfig.enablePreinstallTracking()
adjustConfig.enablePreinstallTracking();
セッション情報を送信する
SDK v4では、ActivityLifecycleCallbacks
を実装し、アクティビティ再開時と一時停止時にそれぞれAdjust.onResume()
とAdjust.onPause()
を呼び出すことで、アクティビティライフサイクルのコールバックを登録する必要があります。
SDK v5では、ActivityLifecycleCallbacks
機能はSDKによって処理されます。コードから全てのカスタム アクティビティ ライフサイクル コールバックを削除してください。
セッションコールバックパラメーター
SDK v5では、セッション コールバック パラメーターはグローバル コールバック パラメーターに名称変更されました。
Adjust.addSessionCallbackParameter("foo", "bar")
Adjust.removeSessionCallbackParameter("foo")
Adjust.resetSessionCallbackParameters()
Adjust.addGlobalCallbackParameter("foo", "bar")
Adjust.removeGlobalCallbackParameter("foo")
Adjust.removeGlobalCallbackParameters()
Adjust.addSessionCallbackParameter("foo", "bar");
Adjust.removeSessionCallbackParameter("foo");
Adjust.resetSessionCallbackParameters();
Adjust.addGlobalCallbackParameter("foo", "bar");
Adjust.removeGlobalCallbackParameter("foo");
Adjust.removeGlobalCallbackParameters();
セッションパートナーパラメーター
SDK v5では、セッション パートナー パラメーターはグローバル パートナー パラメーターに名称変更されました。
Adjust.addSessionPartnerParameter("foo", "bar")
Adjust.removeSessionPartnerParameter("foo")
Adjust.resetSessionPartnerParameters()
Adjust.addGlobalPartnerParameter("foo", "bar")
Adjust.removeGlobalPartnerParameter("foo")
Adjust.removeGlobalPartnerParameters()
Adjust.addSessionPartnerParameter("foo", "bar");
Adjust.removeSessionPartnerParameter("foo");
Adjust.resetSessionPartnerParameters();
Adjust.addGlobalPartnerParameter("foo", "bar");
Adjust.removeGlobalPartnerParameter("foo");
Adjust.removeGlobalPartnerParameters();
イベントの重複排除
SDK v4では、イベント重複排除はイベントorder ID
と組み合わされ、最大10個のユニークIDに制限されています。
val event = AdjustEvent("event_token")
event.setOrderId("deduplication_id")
AdjustEvent event = new AdjustEvent("event_token");
event.setOrderId("deduplication_id");
Adjust.trackEvent(event);
SDK v5では、この機能はorder ID
から切り離され、イベント重複排除のためにdeduplicationId
という新しいIDフィールドが追加されました。ユーザーは、重複イベントを識別するためにリストに追加可能なdeduplicationId
の数にカスタム制限を設定できます。デフォルトでは、制限は 10 に設定されています。
val adjustConfig = AdjustConfig(this, appToken, environment)
adjustConfig.setEventDeduplicationIdsMaxSize(20) // if not set, then 10
Adjust.initSdk(adjustConfig)
val event = AdjustEvent("event_token")
event.setDeduplicationId("deduplication_id")
AdjustConfig adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setEventDeduplicationIdsMaxSize(20); // if not set, then 10
Adjust.initSdk(adjustConfig);
AdjustEvent event = new AdjustEvent("event_token");
event.setDeduplicationId("deduplication_id");
Adjust.trackEvent(event);
AdjustAttributionクラス
SDK v4では、AdjustAttribution
コールはadid
というプロパティを持ちます。SDK v5 では、AdjustAttribution
クラスからadid
プロパティが削除されました。デバイスのADIDを取得するには、getAdid()
ゲッターメソッドを使用してください。
ディープリンクを使用したリアトリビューション
Adjust SDKにディープリンクデータをパスするためのメソッドの名前が変更されました。
- v4:
Adjust.appWillOpenUrl()
- v5:
Adjust.processDeeplink()
Adjust.appWillOpenUrl(url, applicationContext) //v4
Adjust.processDeeplink(adjustDeepLink, applicationContext) //v5
Adjust.appWillOpenUrl(url, getApplicationContext()); //v4
Adjust.processDeeplink(adjustDeepLink, getApplicationContext()); //v5
ディファードディープリンクのコールバック
SDK v4では、setOnDeeplinkResponseListener
メソッドを呼び出してディファード ディープリンク コールバックを処理できます。
adjustConfig.setOnDeeplinkResponseListener { deeplink ->
Log.d("example", "Deferred deep link callback called!")
adjustConfig.setOnDeeplinkResponseListener(new OnDeeplinkResponseListener() {
public boolean launchReceivedDeeplink(Uri deeplink) {
Log.d("example", "Deferred deep link callback called!");
より明確にするため、SDK v5では、このメソッドはsetOnDeferredDeeplinkResponseListener
に改名されました。全ての引数は同じです。
adjustConfig.setOnDeferredDeeplinkResponseListener {uri ->
Log.d("example", "Deferred deep link callback called!")
adjustConfig.setOnDeferredDeeplinkResponseListener(new OnDeferredDeeplinkResponseListener() {
public boolean launchReceivedDeeplink(Uri deeplink) {
Log.d("example", "Deferred deep link callback called!");
児童オンラインプライバシー保護法(COPPA)コンプライアンス
SDK v4では、ブーリアン値でAdjustConfig
インスタンスのsetCoppaCompliantEnabled
メソッドを呼び出すことで、アプリをCOPPAに準拠していることをマークできます。
adjustConfig.setCoppaCompliantEnabled(true)
adjustConfig.setCoppaCompliantEnabled(true);
SDK v5では、このメソッドはenableCoppaCompliance
に改名されています。このメソッドは引数を取りません。
adjustConfig.enableCoppaCompliance()
adjustConfig.enableCoppaCompliance();
Playストアの子供向けアプリ
SDK v4では、ブーリアン引数でAdjustConfig
インスタンスのsetPlayStoreKidsAppEnabled
メソッドを呼び出すことで、アプリをPlayストアの子供向けアプリとしてマークできます。
adjustConfig.setPlayStoreKidsAppEnabled(true)
adjustConfig.setPlayStoreKidsAppEnabled(true);
SDK v5では、このメソッドはenablePlayStoreKidsCompliance
に改名されています。このメソッドは引数を取りません。
adjustConfig.enablePlayStoreKidsCompliance()
adjustConfig.enablePlayStoreKidsCompliance();
特定のソースの広告収益を送信する
SDK v4では、広告収益ソースはAdjustConfig
クラスの定数として定義されています。SDK v5では、広告収益ソースは文字列としてパスされる必要があります。
val adjustAdRevenue = AdjustAdRevenue(AdjustConfig.AD_REVENUE_APPLOVIN_MAX) // v4
val adjustAdRevenue = AdjustAdRevenue("applovin_max_sdk") // v5
AdjustAdRevenue adjustAdRevenue = new AdjustAdRevenue(AdjustConfig.AD_REVENUE_APPLOVIN_MAX); // v4
AdjustAdRevenue adjustAdRevenue = new AdjustAdRevenue("applovin_max_sdk"); // v5
v4 | v5 |
---|
AdjustConfig.AD_REVENUE_APPLOVIN_MAX | "applovin_max_sdk" |
AdjustConfig.AD_REVENUE_ADMOB | "admob_sdk" |
AdjustConfig.AD_REVENUE_IRONSOURCE | "ironsource_sdk" |
AdjustConfig.AD_REVENUE_ADMOST | "admost_sdk" |
AdjustConfig.AD_REVENUE_UNITY | "unity_sdk" |
AdjustConfig.AD_REVENUE_HELIUM_CHARTBOOST | "helium_chartboost_sdk" |
AdjustConfig.AD_REVENUE_ADX | "adx_sdk" |
AdjustConfig.AD_REVENUE_SOURCE_PUBLISHER | "publisher_sdk" |
AdjustConfig.AD_REVENUE_TRADPLUS | "tradplus_sdk" |
AdjustConfig.AD_REVENUE_TOPON | "topon_sdk" |
AdjustConfig.AD_REVENUE_MOPUB | "mopub" |
データレジデンシーとURL戦略を設定する
SDK v4では、URL戦略とデータレジデンシードメインはAdjustConfig
クラスの定数として定義されています。
adjustConfig.setUrlStrategy(AdjustConfig.DATA_RESIDENCY_EU)
adjustConfig.setUrlStrategy(AdjustConfig.DATA_RESIDENCY_EU);
SDK v5では、選択したドメインを配列としてパスする必要があります。また、以下を設定することも可能です:
useSubdomains
(boolean
):ソースにサブドメインのプレフィックスを付けるかどうか。
isDataResidency
(boolean
):ドメインをデータレジデンシーに使用するかどうか。
val domains: List<string> = mutableListOf("domain") // eg. eu.adjust.com
val useSubdomains = true // or false
val isDataResidency = false // or true for data residency
adjustConfig.setUrlStrategy(domains, useSubdomains, isDataResidency)
List<string> domains = Arrays.asList("domain"); // eg. eu.adjust.com
boolean useSubdomains = true; // or false
boolean isDataResidency = false; // or true for data residency
adjustConfig.setUrlStrategy(domains, useSubdomains, isDataResidency);
SDK v5でURL戦略を設定する方法については、以下の表をご確認ください。
v4 | v5 - メインおよびフォールバックドメイン | v5 - サブドメインの使用 | v5 - データレジデンシー |
---|
AdjustConfig.DATA_RESIDENCY_EU | "eu.adjust.com" | true | true |
AdjustConfig.DATA_RESIDENCY_TR | "tr.adjust.com" | true | true |
AdjustConfig.DATA_RESIDENCY_US | "us.adjust.com" | true | true |
AdjustConfig.URL_STRATEGY_CHINA | "adjust.world" 。 "adjust.com" | true | false |
AdjustConfig.URL_STRATEGY_CN | "adjust.cn" 。 "adjust.com" | true | false |
AdjustConfig.URL_STRATEGY_CN_ONLY | "adjust.cn" | true | false |
AdjustConfig.URL_STRATEGY_INDIA | "adjust.net.in" 。 "adjust.com" | true | false |
例
adjustConfig.setUrlStrategy(listOf("adjust.net.in", "adjust.com"), true, false)
adjustConfig.setUrlStrategy(listOf("adjust.world", "adjust.com"), true, false)
adjustConfig.setUrlStrategy(listOf("adjust.cn"), true, false)
adjustConfig.setUrlStrategy(listOf("eu.adjust.com"), true, true)
adjustConfig.setUrlStrategy(listOf("tr.adjust.com"), true, true)
adjustConfig.setUrlStrategy(listOf("us.adjust.com"), true, true)
config.setUrlStrategy(Arrays.asList("adjust.net.in", "adjust.com"), true, false);
adjustConfig.setUrlStrategy(Arrays.asList("adjust.world", "adjust.com"), true, false);
adjustConfig.setUrlStrategy(Arrays.asList("adjust.cn"), true, false);
adjustConfig.setUrlStrategy(Arrays.asList("eu.adjust.com"), true, true);
adjustConfig.setUrlStrategy(Arrays.asList("tr.adjust.com"), true, true);
adjustConfig.setUrlStrategy(Arrays.asList("us.adjust.com"), true, true);
デバイスIDゲッター
SDK v4では、全てのデバイスIDのゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されています。
Adjust.getGoogleAdId(this, object : OnGoogleAdIdReadListener {
override fun onGoogleAdIdRead(googleAdId: String) {}
Adjust.getAttribution {attribution ->
AdjustOaid.getOaid(applicationContext, object : OnOaidReadListener() {
fun onOaidRead(oaid: String?) {}
fun onFail(message: String?) {}
Adjust.getAmazonAdId(applicationContext, object : OnAmazonAdIdReadListener {
override fun onAmazonAdIdRead(amazonAdId: String) {}
Adjust.getSdkVersion {sdkVersion ->
Adjust.isEnabled(applicationContext) { isEnabled ->
Adjust.getGoogleAdId(this, new OnGoogleAdIdReadListener() {
public void onGoogleAdIdRead(String googleAdId) {}
Adjust.getAdid(new OnAdidReadListener() {
public void onAdidRead(String adid) {
Adjust.getAttribution(new OnAttributionReadListener() {
public void onAttributionRead(AdjustAttribution attribution) {
AdjustOaid.getOaid(getApplicationContext(), new OnOaidReadListener() {
public void onOaidRead(String oaid) {
public void onFail(String message) {
Adjust.getAmazonAdId(getApplicationContext(), new OnAmazonAdIdReadListener() {
public void onAmazonAdIdRead(String amazonAdId) {
Adjust.getSdkVersion(new OnSdkVersionReadListener() {
public void onSdkVersionRead(String sdkVersion) {
Adjust.isEnabled(getApplicationContext(), new OnIsEnabledListener() {
public void onIsEnabledRead(boolean isEnabled) {
削除されたAPI
SDK v5では、以下のAPIが削除されました。
イベントバッファリング
SDK v4はイベントバッファリングをサポートしています。この機能は、リクエストイベント、広告収益、Pushトークン、その他の情報をローカルバッファに保存し、後日送信します。
adjustConfig.setEventBufferingEnabled(true)
adjustConfig.setEventBufferingEnabled(true);
この設定はSDK v5では廃止されています。
カスタムユーザーエージェント文字列
SDK v4は、ユーザーエージェント文字列でAdjustConfig.setUserAgent()
を呼び出すことで、カスタムユーザーエージェントの設定をサポートしています。
adjustConfig.setUserAgent("user_agent_value")
adjustConfig.setUserAgent("user_agent_value");
この設定はSDK v5では廃止されています。
既知のデバイスかどうかを通知する設定
SDK v4では、AdjustConfig.setDeviceKnown()
メソッドを呼び出して、デバイスが既知かどうかをSDKに手動で通知することができます。
adjustConfig.setDeviceKnown(true)
adjustConfig.setDeviceKnown(true);
この設定はSDK v5では廃止されています。
SDKの起動開始を遅延させる
SDK v4では、AdjustConfig.setDelayStart()
を最大 120秒 遅延させて呼び出すことで、SDKの開始を遅延させることができます。
adjustConfig.setDelayStart(delay)
adjustConfig.setDelayStart(delay);
この設定はSDK v5では廃止されています。
サードパーティとの共有をグローバルに無効化する
SDK v4では、Adjust.disableThirdPartySharing()
メソッドを呼び出すことで、サードパーティとの情報共有をグローバルに無効化することができます。
Adjust.disableThirdPartySharing(applicationContext)
Adjust.disableThirdPartySharing(getApplicationContext());
この機能はSDK v5では削除されました。SDK v5では、Adjust.trackThirdPartySharing()
メソッドを使用してサードパーティとのデータ共有を有効化または無効化できます。
val adjustThirdPartySharing = AdjustThirdPartySharing(true)
Adjust.trackThirdPartySharing(adjustThirdPartySharing)
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(true);
Adjust.trackThirdPartySharing(adjustThirdPartySharing);
アプリシークレットを設定
SDK v4では、AdjustConfig
インスタンスのsetAppSecret
メソッドを呼び出して、SDKトラフィックの署名に使用するアプリシークレットを設定することができます。
adjustConfig.setAppSecret(secretId, info1, info2, info3, info4)
adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);
この設定はSDK v5では廃止されています。
新規プラグイン
SDK v5では、以下のプラグインが削除されました。
Huawei インストールリファラープラグイン
SDK v5は、デバイスのインストールリファラープラグイン情報を記録するHuawei インストールリファラープラグインをサポートしています。プラグインを追加するには、build.gradle
ファイルに以下のdependencyを追加します:
implementation 'com.adjust.sdk:adjust-android-huawei-referrer:5.0.0'
Meta インストールリファラープラグイン
SDK v5は、Metaのインストールリファラー情報を記録するMeta インストールリファラープラグインをサポートしています。この情報を読み取る方法は以下の通りです:
-
build.gradle
ファイルに以下のdependencyを追加します:
implementation 'com.adjust.sdk:adjust-android-meta-referrer:5.0.0'
-
App DashboardでMetaアプリIDを検索します。詳しくはMetaのアプリダッシュボードのドキュメントをご覧ください。
-
AdjustConfig.setFbAppId
メソッドにString
引数としてアプリIDをパスします。
val config = AdjustConfig(this, appToken, environment)
config.setFbAppId(<fb_app_id_string>)
AdjustConfig config = new AdjustConfig(this, appToken, environment);
config.setFbAppId(<fb_app_id_string>);
削除されたプラグイン
SDK v5では以下のプラグインが削除されました:
- Criteo
- Trademob
- Sociomantic