adjust-icon

Android Web Bridge v5移行ガイド

事前準備

SDK v5にアップデートする前に、以下を行ってください。

  1. SDK v5はSDKシグネチャーの検証をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。
  2. アプリがバージョン21以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります。

SDKをインストールする

SDK v5の使用を開始するには、プロジェクトにdependencyとしてSDK v5を追加する必要があります。これを行うには、以下の手順に従ってください。

  1. 現在build.gradleファイルにある古いバージョンの SDK を全て削除します。

  2. build.gradleファイルに以下のdependencyを追加します:

    build.gradle
    dependencies {
    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'
    }

初期化メソッドを更新

v5で変更

SDK v4では、初期化メソッドはAdjust.onCreate(AdjustConfig)です。SDK v5ではAdjust.initSdk(AdjustConfig)に変更されています。

const adjustConfig = new AdjustConfig(this, appToken, environment);
Adjust.onCreate(adjustConfig); // v4
Adjust.initSdk(adjustConfig); // v5

変更されたAPI

v5で変更

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

より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。

  • SDKを無効化するには、Adjust.disable()を呼び出します。
  • SDKを有効化するには、Adjust.enable()を呼び出します。
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

より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。

  • SDKをオフラインモードに設定するには、Adjust.switchToOfflineMode()を呼び出します。
  • SDKをオンラインモードに戻すには、Adjust.switchBackToOnlineMode()を呼び出します。
Adjust.switchToOfflineMode(); // put SDK in offline mode
Adjust.switchBackToOnlineMode(); // put SDK back in online mode

プリインストール記録

SDK v4では、アプリがデバイスにプリインストールされている場合、AdjustConfigインスタンスのsetPreinstallTrackingEnabledメソッドをブール引数で呼び出すことで、Adjust SDKがインストールデータをAdjustに送信できるように設定できます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setPreinstallTrackingEnabled(true);

SDK v5では、このメソッドはenabledPreinstallTrackingに改名されています。この新しいメソッドは引数を取りません。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.enablePreinstallTracking();

アトリビューションにコストデータを有効化する

SDK v4では、AdjustConfigインスタンスのsetNeedsCostメソッドをブール引数で呼び出すことで、SDKがユーザーのアトリビューションの一部としてコストデータを送信できるように設定できます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setNeedsCost(true);

SDK v5では、このメソッドはenableCostDataInAttributionに改名されています。この新しいメソッドは引数を取りません。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.enableCostDataInAttribution();

バックグラウンドで情報を送信する

SDK v4では、AdjustConfigインスタンスのsetSendInBackgroundメソッドをブール引数で呼び出すことで、アプリがバックグラウンドで実行されている時に、SDKがAdjustに情報を送信できるように設定できます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setSendInBackground(true);

SDK v5では、このメソッドの名前はenableSendingInBackgroundに変更されました。この新しいメソッドは引数を取りません。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.enableSendingInBackground();

デバイスIDを1回だけ読み取る

SDK v4では、ブーリアン値でsAdjustConfigインスタンスのsetReadDeviceInfoOnceEnabledメソッドを呼び出すことで、初期化時にデバイスIDを1度だけ読み取るようにSDKを設定することができます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setReadDeviceInfoOnceEnabled(true);

SDK v5では、このメソッドはenableDeviceIdsReadingOnceに改名されています。この新しいメソッドは引数を取りません。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.enableDeviceIdsReadingOnce();

セッションコールバックパラメーター

SDK v5では、セッション コールバック パラメーターはグローバル コールバック パラメーターに名称変更されました。

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();

イベントの重複排除

SDK v4では、イベント重複排除はイベントorder IDと組み合わされ、最大10個のユニークIDに制限されています。

const event = new AdjustEvent("event_token");
event.setOrderId("deduplication_id");
Adjust.trackEvent(event);

SDK v5では、この機能はorder IDから切り離され、イベント重複排除のためにdeduplicationIdという新しいIDフィールドが追加されました。ユーザーは、重複イベントを識別するためにリストに追加可能なdeduplicationIdの数にカスタム制限を設定できます。デフォルトでは、制限は 10 に設定されています。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setEventDeduplicationIdsMaxSize(20); // if not set, then 10
Adjust.initSdk(adjustConfig);
const event = new AdjustEvent("event_token");
event.setDeduplicationId("deduplication_id");
Adjust.trackEvent(event);

児童オンラインプライバシー保護法(COPPA)コンプライアンス

SDK v4では、 COPPAコンプライアンスは、ブーリアン引数でconfigオブジェクトのsetCoppaCompliantEnabledメソッドを呼び出すことで設定されます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setCoppaCompliantEnabled(true);

SDK v5では、このメソッドはenableCoppaComplianceに改名されています。この新しいメソッドは引数を受け取りません。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.enableCoppaCompliance();

Playストアの子供向けアプリ

SDK v4では、ブーリアン引数でconfigオブジェクトのsetPlayStoreKidsAppEnabledメソッドを呼び出すことで、アプリをPlayストアの子供向けアプリとしてマークできます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setPlayStoreKidsAppEnabled(true);

SDK v5では、このメソッドはenablePlayStoreKidsComplianceに改名されています。この新しいメソッドは引数を受け取りません。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.enablePlayStoreKidsCompliance();

データレジデンシーとURL戦略を設定する

SDK v4では、URL戦略とデータレジデンシーのドメインはAdjustConfigクラスの定数として定義されています。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyEU);

SDK v5では、選択したドメインを配列としてパスする必要があります。また、以下を設定することも可能です:

  • useSubdomainsboolean):ソースにサブドメインのプレフィックスを付けるかどうか。
  • isDataResidencyboolean):ドメインをデータレジデンシーに使用するかどうか。
const adjustConfig = new AdjustConfig(this, appToken, environment);
const domains = ["domain1", "domain2"];
const useSubdomains = true;
const isDataResidency = false;
adjustConfig.setUrlStrategy(domains, useSubdomains, isDataResidency);

SDK v5でURL戦略を設定する方法については、以下の表をご確認ください。

v4v5 - メインおよびフォールバックドメインv5 - サブドメインの使用v5 - データレジデンシー
AdjustConfig.DataResidencyEU"eu.adjust.com"truetrue
AdjustConfig.DataResidencyTR"tr.adjust.com"truetrue
AdjustConfig.DataResidencyUS"us.adjust.com"truetrue
AdjustConfig.UrlStrategyChina"adjust.world""adjust.com"truefalse
AdjustConfig.UrlStrategyCn"adjust.cn""adjust.com"truefalse
AdjustConfig.UrlStrategyCnOnly"adjust.cn"truefalse
AdjustConfig.UrlStrategyIndia"adjust.net.in""adjust.com"truefalse

インド URL戦略
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUrlStrategy(["adjust.net.in", "adjust.com"], true, false);
中国 URL戦略
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUrlStrategy(["adjust.world", "adjust.com"], true, false);
中国限定 URL設定
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUrlStrategy(["adjust.cn"], true, false);
EU データレジデンシー
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUrlStrategy(["eu.adjust.com"], true, true);
トルコ データレジデンシー
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUrlStrategy(["tr.adjust.com"], true, true);
米国 データレジデンシー
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUrlStrategy(["us.adjust.com"], true, true);

サードパーティとの共有をグローバルに無効化する

SDK v4では、Adjust.disableThirdPartySharing()メソッドを呼び出すことで、サードパーティとの情報共有をグローバルに無効化することができます。

Adjust.disableThirdPartySharing();

この機能はSDK v5では削除されました。SDK v5では、Adjust.trackThirdPartySharing()メソッドを使用してサードパーティとのデータ共有を有効化または無効化できます。

const adjustThirdPartySharing = new AdjustThirdPartySharing(true);
Adjust.trackThirdPartySharing(adjustThirdPartySharing);

デバイスIDゲッター

SDK v4では、全てのデバイスIDのゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されています。

ADIDゲッター
Adjust.getAdid(function (adid) {
alert("Ad Id:\n" + adid);
});
アトリビューション情報ゲッター
Adjust.getAttribution(function (attribution) {
alert(
"Tracker token = " +
attribution.trackerToken +
"\n" +
"Tracker name = " +
attribution.trackerName +
"\n" +
"Network = " +
attribution.network +
"\n" +
"Campaign = " +
attribution.campaign +
"\n" +
"Adgroup = " +
attribution.adgroup +
"\n" +
"Creative = " +
attribution.creative +
"\n" +
"Click label = " +
attribution.clickLabel,
);
});
SDKバージョンゲッター
Adjust.getSdkVersion(function (sdkVersion) {
alert("SDK version:\n" + sdkVersion);
});
有効化ステータスゲッター
Adjust.isEnabled(function (isEnabled) {
alert("Is SDK enabled? " + isEnabled);
});

削除されたAPI

v5で削除

SDK v5では、以下のAPIが削除されました。

イベントバッファリング

SDK v4はイベントのバッファリングをサポートしています。この機能は、リクエストイベント、広告収益、Pushトークン、その他の情報をローカルバッファに保存し、後日送信します。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setEventBufferingEnabled(true);

SDK v5では、この設定はご利用いただけません。

カスタムユーザーエージェント文字列

SDK v4は、ユーザーエージェント文字列でAdjustConfigインスタンスのsetUserAgentメソッドを呼び出すことで、カスタムユーザーエージェントの設定をサポートしています。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setUserAgent("user_agent_value");

SDK v5では、この設定はご利用いただけません。

既知のデバイスかどうかを設定する

SDK v4では、AdjustConfigインスタンスのsetDeviceKnownメソッドを呼び出して、既知のデバイスかどうかをSDKに手動で通知することができます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setDeviceKnown(true);

SDK v5では、この設定はご利用いただけません。

SDKの起動開始を遅延させる

SDK v4では、最大 120秒 の遅延でAdjustConfigインスタンスのsetDelayStartメソッドを呼び出すことで、SDKの起動を遅らせることができます。遅延が終了する前にアプリの準備ができている場合、 Adjust.sendFirstPackagesを呼び出すことで情報がすぐに送信されます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setDelayStart(delay);
Adjust.sendFirstPackages();

SDK v5では、これら両方のメソッドが削除されました。

SDK v4では、 Adjust.appWillOpenUrl()メソッドを呼び出すことで、Web BridgeでディープリンクURLをAdjustにパスすることができます。

Adjust.appWillOpenUrl(data, getApplicationContext());

このメソッドはSDK v5では廃止されています。

特定のソースの広告収益を送信する

SDK v4では、 Adjust.trackAdRevenue()メソッドにソースとペイロードをパスすることで、特定のソースから広告収益を送信することができます。

Adjust.trackAdRevenue(source, payload);

このメソッドはSDK v5では廃止されています。

アプリシークレットを設定

SDK v4では、AdjustConfigインスタンスのsetAppSecretメソッドを呼び出して、SDKトラフィックの署名に使用するアプリシークレットを設定することができます。

const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);

SDK v5では、この設定はご利用いただけません。