事前準備
SDK v5にアップデートする前に、以下を行ってください。
-
Adjust SDK v5は、 SDKシグネチャーの検証をネイティブでサポートしています。現在、SDKシグネチャーライブラリを使用している場合は、まずシグネチャーライブラリをアプリから削除する必要があります。
-
SDK v5の最小サポート対象APIバージョンが更新されました。以前のバージョンをターゲットにしている場合は、まずアプリをアップデートする必要があります。
- iOS: 12.0
- Android: 21
SDKをインストールする
SDK v5の使用を開始するには、XCodeプロジェクトにdependencyとしてSDK v5を追加する必要があります。pubspec.yaml
ファイルに以下のdependencyを追加します:
dependencies: adjust_sdk: ^5.0.0
初期化メソッドを更新
SDK v4では、初期化メソッドはAdjust.start
です。SDK v5ではAdjust.initSdk
に変更されています。
Adjust.start(adjustConfig); // v4Adjust.initSdk(adjustConfig); // v5
変更されたAPI
SDK v5では、以下のAPIが変更されました。
SDKを無効化および有効化する
SDK v4では、bool
値でAdjust.setEnabled
を呼び出すことで、SDKを有効化・無効化することができます。
Adjust.setEnabled(false); // disable SDKAdjust.setEnabled(true); // enable SDK
より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。
- SDKを無効化するには、
Adjust.disable
を呼び出します。 - SDKを有効化するには、
Adjust.enable
を呼び出します。
Adjust.disable();Adjust.enable();
バックグラウンドで情報を送信する
SDK v4では、adjustConfig
インスタンスのsendInBackground
プロパティをtrue
に設定し、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信できるようにする必要があります。
adjustConfig.sendInBackground = true;
SDK v5では、adjustConfig
インスタンスのisSendingInBackgroundEnabled
プロパティをtrue
に設定し、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信できるようにする必要があります。
adjustConfig.isSendingInBackgroundEnabled = true;
プリインストールアプリ計測
SDK v4では、 adjustConfig
インスタンスのpreinstallTrackingEnabled
プロパティをtrue
に設定し、プリインストールアプリの計測を有効化することができます。
adjustConfig.preinstallTrackingEnabled = true;
SDK v5でプリインストールアプリの計測を有効化するには、 adjustConfig
インスタンスのisPreinstallTrackingEnabled
プロパティをtrue
に設定する必要があります。
adjustConfig.isPreinstallTrackingEnabled = true;
AdServices情報の読み取りを無効化する
SDK v4でAdjust SDKがAdServices情報を読み取らないようにするには、adjustConfig
インスタンスのallowAdServicesInfoReading
プロパティをfalse
に設定します。
adjustConfig.allowAdServicesInfoReading = false;
SDK v5でAdjust SDKがAdServices情報を読み取らないようにするには、 adjustConfig
インスタンスのisAdServicesEnabled
プロパティをfalse
に設定する必要があります。
adjustConfig.isAdServicesEnabled = false;
IDFAの読み取りを無効化する
SDK v4でAdjust SDKがデバイスのIDFAを読み取らないようにするには、 adjustConfig
インスタンスのallowIdfaReading
プロパティをfalse
に設定する必要があります。
adjustConfig.allowIdfaReading = false;
SDK v5でAdjust SDKがデバイスのIDFAを読み取らないようにするには、 adjustConfig
インスタンスのisIdfaReadingEnabled
プロパティをfalse
に設定する必要があります。
adjustConfig.isIdfaReadingEnabled = false;
アトリビューションにコストデータを有効化する
SDK v4でデバイスのアトリビューション情報のコストデータを有効化するには、 adjustConfig
インスタンスのneedsCost
プロパティをtrue
に設定する必要があります。
adjustConfig.needsCost = true;
SDK v5でデバイスのアトリビューション情報のコストデータを有効化するには、adjustConfig
インスタンスのisCostDataInAttributionEnabled
プロパティをtrue
に設定する必要があります。
adjustConfig.isCostDataInAttributionEnabled = true;
LinkMeを有効化する
SDK v4でAdjust LinkMeを有効化するには、 adjustConfig
インスタンスのlinkMeEnabled
プロパティをtrue
に設定します。
adjustConfig.linkMeEnabled = true;
SDK v5でAdjust LinkMeを有効化するには、 adjustConfig
インスタンスのisLinkMeEnabled
プロパティをtrue
に設定する必要があります。
adjustConfig.isLinkMeEnabled = true;
デバイスIDを1回だけ読み取る
SDK v4では、adjustConfig
インスタンスのreadDeviceInfoOnceEnabled
プロパティをtrue
に設定し、SDKがデバイスIDを1回だけ読み取るように指示することができます。
adjustConfig.readDeviceInfoOnceEnabled = true;
SDK v5でSDKがディープリンクを開くには、 adjustConfig
インスタンスのisDeviceIdsReadingOnceEnabled
プロパティをtrue
に設定する必要があります。
adjustConfig.isDeviceIdsReadingOnceEnabled = true;
オフラインモード
SDK v4では、bool
引数でAdjust.setOfflineMode
を呼び出すことで、SDKでオフラインモードを有効化・無効化することができます。
Adjust.setOfflineMode(true);Adjust.setOfflineMode(false);
より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。
- SDKをオフラインモードに設定するには、
Adjust.switchToOfflineMode
を呼び出します。 - SDKをオンラインモードに戻すには、
Adjust.switchBackToOnlineMode
を呼び出します。
Adjust.switchToOfflineMode(); // Put the SDK in offline modeAdjust.switchBackToOnlineMode(); // Put the SDK back in online mode
セッションコールバックパラメーター
SDK v4では、Adjust.addSessionCallbackParameter
メソッドにキーと値のペアをパスすることでセッションパラメーターを追加し、Adjust.removeSessionCallbackParameter
メソッドを使用して個々のパラメーターを削除することができます。
Adjust.addSessionCallbackParameter('key', 'value');Adjust.removeSessionCallbackParameter('key');Adjust.resetSessionCallbackParameters();
SDK v5では、セッションパラメーターはグローバルパラメーターに改名されています。
Adjust.addGlobalCallbackParameter('key', 'value');Adjust.removeGlobalCallbackParameter('key');Adjust.removeGlobalCallbackParameters();
セッションパートナーパラメーター
SDK v4では、Adjust.addSessionPartnerParameter
メソッドにキーと値のペアをパスすることでセッション パートナー パラメーターを追加し、Adjust.removeSessionPartnerParameter
メソッドを使用して個々のパラメーターを削除することができます。
Adjust.addSessionPartnerParameter('key', 'value');Adjust.removeSessionPartnerParameter('key');Adjust.resetSessionPartnerParameters();
SDK v5では、セッション パートナー パラメーターはグローバル パートナー パラメーターに改名されました。
Adjust.addGlobalPartnerParameter('key', 'value');Adjust.removeGlobalPartnerParameter('key');Adjust.removeGlobalPartnerParameters();
App Storeのサブスクリプション
SDK v4では、 AdjustAppStoreSubscription
オブジェクトを設定することで新しいサブスクリプションを設定できます。このオブジェクトは、 price
、 currency
、 transactionId
、 receipt
の4つの引数で初期化されます。
AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription( price, currency, transactionId, receipt);
SDK v5では、購入認証に receipt
引数が不要になったため、引数をパスする必要はありません。
AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription( price, currency, transactionId);
App Storeでの購入
SDK v4では、 AdjustAppStorePurchase
オブジェクトを設定することで新しい購入を設定できます。このオブジェクトは3つの引数receipt
、 product ID
、 transaction ID
で初期化されます。
AdjustAppStorePurchase purchase = new AdjustAppStorePurchase(receipt, productId, transactionId);
SDK v5では、購入認証に receipt
引数が不要になったため、引数をパスする必要はありません。
AdjustAppStorePurchase purchase = new AdjustAppStorePurchase(productId, transactionId);
Play ストア サブスクリプション
SDK v4では、 setPurchaseTime
メソッドにタイムスタンプをパスすることで、ユーザーがサブスクリプションを購入した日付を記録できます。
adjustPlayStoreSubscription.setPurchaseTime('purchase-time');
SDK v5では、ユーザーがサブスクリプションを購入した日を記録するには、 adjustPlayStoreSubscription
インスタンスのpurchaseTime
プロパティにタイムスタンプを割り当てる必要があります。
adjustPlayStoreSubscription.purchaseTime = 'purchase-time';
ディープリンクを使用したリアトリビューション
SDK v4では、Adjust.appWillOpenUrl
メソッドにディープリンク情報をパスすることができます。
Adjust.appWillOpenUrl('url');
SDK v5では、Adjust.processDeeplink
に改名されています。ディープリンクを作成するための新しいAdjustDeeplink
クラスが追加されました。ディープリンクを処理するには、ディープリンクURLでAdjustDeeplink
オブジェクトをインスタンス化し、 Adjust.processDeeplink
メソッドにパスしてください。
Adjust.processDeeplink(new AdjustDeeplink('url'));
ディファードディープリンクをローンチする
SDK v4では、SDKがディープリンクを開けるようにするには、 adjustConfig
インスタンスのlaunchDeferredDeeplink
プロパティをtrue
に設定することができます。
adjustConfig.launchDeferredDeeplink = true;
SDK v5でSDKがディープリンクを開けるようにするには、 adjustConfig
インスタンスのisDeferredDeeplinkOpeningEnabled
プロパティをtrue
に設定する必要があります。
adjustConfig.isDeferredDeeplinkOpeningEnabled = true;
ディープリンクの解決
SDK v4では、 url
をprocessDeeplink
メソッドにパスすることで、短縮されたディープリンクを解決できます。
Adjust.processDeeplink('url').then((resolvedLink) { // resolvedLink is the unshortened link};
SDK v5では、ディープリンクurl
で初期化されたAdjustDeeplink
オブジェクトを送信する必要があります。これが、短縮されていない元のディープリンクを返します。
Adjust.processAndResolveDeeplink(new AdjustDeeplink('url')).then((resolvedLink) { // resolvedLink is the unshortened link};
児童オンラインプライバシー保護法(COPPA)コンプライアンス
SDK v4では、adjustConfig
インスタンスのcoppaCompliantEnabled
プロパティをtrue
に設定して、COPPAコンプライアンスを有効にすることができます。
adjustConfig.coppaCompliantEnabled = true;
SDK v5では、COPPAコンプライアンスを有効にするには、adjustConfig
インスタンスのisCoppaComplianceEnabled
プロパティをtrue
に設定する必要があります。
adjustConfig.isCoppaComplianceEnabled = true;
Playストアの子供向けアプリ
SDK v4では、 adjustConfig
インスタンスのplayStoreKidsAppEnabled
プロパティをtrue
に設定して、アプリをPlay Storeの子供向けアプリとしてマークすることができます。このプロパティはSDKの初期化中に読み込まれるため、SDKを初期化したら値を更新することはできません。
adjustConfig.playStoreKidsAppEnabled = true;
SDK v5では、コンプライアンスを有効にするには、adjustConfig
インスタンスのisPlayStoreKidsComplianceEnabled
プロパティをtrue
に設定する必要があります。
adjustConfig.isPlayStoreKidsComplianceEnabled = true;
データレジデンシーとURL戦略を設定する
SDK v4では、URL戦略とデータレジデンシーのドメインはadjustConfig
クラスの定数として定義されています。
adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyEU);
SDK v5では、選択したドメインまたはドメインを配列としてパスする必要があります。以下も設定してください。
useSubdomains
(bool
):ドメインをAdjustドメインとして扱うかどうかを指定します。true
の場合、SDKはドメインにAdjust固有のサブドメインを追加します。false
の場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。isDataResidency
(bool
):ドメインをデータレジデンシーに使用するかどうか。
adjustConfig.setUrlStrategy(['eu.adjust.com'], true, true);
SDK v5でURL戦略を設定する方法については、以下の表をご確認ください。
v4 | v5 - メインおよびフォールバックドメイン | v5 - サブドメインの使用 | v5 - データレジデンシー |
---|---|---|---|
adjustConfig.DataResidencyEU | 'eu.adjust.com' | true | true |
adjustConfig.DataResidencyTR | 'tr.adjust.com' | true | true |
adjustConfig.DataResidencyUS | 'us.adjust.com' | true | true |
adjustConfig.UrlStrategyChina | 'adjust.world' 。 'adjust.com' | true | false |
adjustConfig.UrlStrategyCn | 'adjust.cn' 。 'adjust.com' | true | false |
adjustConfig.UrlStrategyCnOnly | 'adjust.cn' | true | false |
adjustConfig.UrlStrategyIndia | 'adjust.net.in' 。 'adjust.com' | true | false |
例
adjustConfig.setUrlStrategy(['adjust.net.in', 'adjust.com'], true, false);
adjustConfig.setUrlStrategy(['adjust.world', 'adjust.com'], true, false);
adjustConfig.setUrlStrategy(['adjust.cn'], true, false);
adjustConfig.setUrlStrategy(['eu.adjust.com'], true, true);
adjustConfig.setUrlStrategy(['tr.adjust.com'], true, true);
adjustConfig.setUrlStrategy(['us.adjust.com'], true, true);
広告収益を記録する
SDK v4では、 source
とpayload
を引数としてパスし、 trackAdRevenue
メソッドを呼び出すことで広告収益を記録できます。
Adjust.trackAdRevenue('source', 'payload');
SDK v4の更新されたメソッドを使用すると、 source
で新しいAdjustAdRevenue
オブジェクトを作成し、このオブジェクトをtrackAdRevenueNew
メソッドにパスすることで広告収益を記録できます。
AdjustAdRevenue adRevenue = new AdjustAdRevenue('source');adRevenue.setRevenue(6, 'CAD');Adjust.trackAdRevenueNew(adRevenue);
SDK v5では、 source
で新しいAdjustAdRevenue
オブジェクトを作成し、このオブジェクトをtrackAdRevenue
メソッドにパスすることで広告収益を記録する必要があります。
AdjustAdRevenue adRevenue = new AdjustAdRevenue('source');adRevenue.setRevenue(6, 'CAD');Adjust.trackAdRevenue(adRevenue);
特定のソースの広告収益を送信する
SDK v4では、広告収益ソースはadjustConfig
クラスの定数として定義されています。SDK v5では、広告収益ソースは文字列としてパスされる必要があります。
AdjustAdRevenue adRevenue = new AdjustAdRevenue(AdjustConfig.AdRevenueSourceAppLovinMAX);AdjustAdRevenue adRevenue = new AdjustAdRevenue('applovin_max_sdk');
v4 | v5 |
---|---|
adjustConfig.AdRevenueAppLovinMAX | 'applovin_max_sdk' |
adjustConfig.AdRevenueSourceAdMob | 'admob_sdk' |
adjustConfig.AdRevenueSourceIronSource | 'ironsource_sdk' |
adjustConfig.AdRevenueSourceAdMost | 'admost_sdk' |
adjustConfig.AdRevenueSourceUnity | 'unity_sdk' |
adjustConfig.AdRevenueSourceHeliumChartboost | 'helium_chartboost_sdk' |
adjustConfig.AdRevenueSourceADX | 'adx_sdk' |
adjustConfig.AdRevenueSourcePublisher | 'publisher_sdk' |
adjustConfig.AdRevenueSourceTradplus | 'tradplus_sdk' |
adjustConfig.AdRevenueSourceTopOn | 'topon_sdk' |
adjustConfig.AdRevenueSourceMopub | サポート終了 |
SKAdNetworkの通信を無効化する
SDK v4では、adjustConfig.deactivateSKAdNetworkHandling
メソッドを呼び出すことで、SDKがSKAdNetworkと通信しないようにすることができます。
adjustConfig.deactivateSKAdNetworkHandling();
SDK v5では、SKAdNetworkとの通信を無効にするには、adjustConfig
インスタンスのisSkanAttributionEnabled
プロパティをfalse
に設定する必要があります。
adjustConfig.isSkanAttributionEnabled = false;
Conversion valueのアップデートを受信する
SDK v4では、 adjustConfig
でskad4conversionValueUpdatedCallback
プロパティを使用してconversion valueの更新を受信できます。SKAN4より前は、 conversionValueUpdatedCallback
プロパティを使用できました。
// pre-SKAN4 callbackadjustConfig.conversionValueUpdatedCallback = (num? conversionValue) {};
// SKAN4 callbackadjustConfig.skad4ConversionValueUpdatedCallback = (num? conversionValue, String? coarseValue, bool? lockWindow) {};
SDK v5では、 adjustConfig
オブジェクトのskanUpdatedCallback
プロパティにコールバック関数を割り当てる必要があります。
config.skanUpdatedCallback = (Map<String, String> skanUpdateData) { print('[Adjust]: Received SKAN update information!'); if (skanUpdateData["conversion_value"] != null) { print('[Adjust]: Conversion value: ' + skanUpdateData["conversion_value"]!); } if (skanUpdateData["coarse_value"] != null) { print('[Adjust]: Coarse value: ' + skanUpdateData["coarse_value"]!); } if (skanUpdateData["lock_window"] != null) { print('[Adjust]: Lock window: ' + skanUpdateData["lock_window"]!); } if (skanUpdateData["error"] != null) { print('[Adjust]: Error: ' + skanUpdateData["error"]!); }};
Conversion valueを更新する
SDK v4では、以下のいずれかのメソッドを使用して、更新されたconversion valueをAdjustに送信できます:
Adjust.updateConversionValue(6);
Adjust.updateConversionValueWithErrorCallback(6).then((error) { // error is present in case it happened});
Adjust.updateConversionValueWithErrorCallbackSkad4(6, 'coarse-value', true).then((error) { // error is present in case it happened});
SDK v5でconversion valueを更新するには、以下の引数でupdateSkanConversionValue
メソッドを使用します:
conversionValue
(int
):更新されたconversion valuecoarseValue
(string
):更新された粗いconversion valuelockWindow
(bool
):コンバージョン期間が終了する前にポストバックを送信するかどうか
Adjust.updateSkanConversionValue(6, 'coarse-value', true).then((error) { // error is present in case it happened});
App Tracking Transparency認証ラッパー
SDK v4では、Adjust.requestTrackingAuthorizationWithCompletionHandler
メソッドを使用して、ユーザーのATT認証ステータスの変更を処理することができます。
Adjust.requestTrackingAuthorizationWithCompletionHandler().then((status) { print('[Adjust]: Authorization status update!'); switch (status) { case 0: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusNotDetermined'); break; case 1: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusRestricted'); break; case 2: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusDenied'); break; case 3: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusAuthorized'); break; }});
より明確にするため、SDK v5ではAdjust.requestAppTrackingAuthorization
に改名されました。
Adjust.requestAppTrackingAuthorization().then((status) { print('[Adjust]: Authorization status update!'); switch (status) { case 0: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusNotDetermined'); break; case 1: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusRestricted'); break; case 2: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusDenied'); break; case 3: print( '[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusAuthorized'); break; }});
削除されたAPI
SDK v5では、以下のAPIが削除されました。
イベントバッファリング
SDK v4はイベントのバッファリングをサポートしています。この機能は、リクエストイベント、広告収益、Pushトークン、その他の情報をローカルバッファに保存し、後日送信します。
adjustConfig.eventBufferingEnabled = true;
SDK v5では、この設定はご利用いただけません。
カスタムユーザーエージェント文字列
SDK v4は、adjustConfig
インスタンスのuserAgent
プロパティにユーザーエージェント文字列を割り当てることで、カスタムユーザーエージェントの設定をサポートしています。
adjustConfig.userAgent = 'custom-user-agent';
SDK v5では、この設定はご利用いただけません。
既知のデバイスかどうかを設定する
SDK v4では、adjustConfig
インスタンスのisDeviceKnown
メソッドを呼び出して、既知のデバイスかどうかをSDKに手動で通知することができます。
adjustConfig.isDeviceKnown = true;
SDK v5では、この設定はご利用いただけません。
SDKの起動開始を遅延させる
SDK v4では、 adjustConfig
インスタンスのdelayStart
プロパティを遅延するように設定することで、SDKの起動を遅らせることができます。最大 10秒 の遅延を設定できます。
adjustConfig.delayStart = 10;
この設定は、 Adjust.checkForNewAttStatus
メソッドを含むSDK v5では削除されています。このメソッドを呼び出すと、SDKは遅延を解除し、機能を継続します。
Android最終アトリビューション
SDK v4では、adjustConfig
インスタンスのfinalAndroidAttributionEnabled
プロパティをtrue
に設定して、最終的なAndroidでのアトリビューションを送信することができます。
adjustConfig.finalAndroidAttributionEnabled = true;
この設定はSDK v5では削除されました。現在では、Androidプラットフォームでは最終的なアトリビューションのみがアトリビューションコールバックを通じて提供されるようになっています。
AdjustEventの変更
SDK v4では、サブスクリプションと購入のためにreceipt
をadjustEvent
のadjustEvent.receipt
プロパティに送信できます。
adjustEvent.receipt = 'receipt';
購入認証に必要がなくなったため、このクラスのプロパティはSDK v5で削除されました。
サードパーティとの共有をグローバルに無効化する
SDK v4では、Adjust.disableThirdPartySharing
メソッドを呼び出すことで、サードパーティとの情報共有をグローバルに無効化することができます。
Adjust.disableThirdPartySharing();
この機能はSDK v5では削除されました。SDK v5では、Adjust.trackThirdPartySharing
メソッドを使用してサードパーティとのデータ共有を有効化または無効化できます。
AdjustThirdPartySharing thirdPartySharing = new AdjustThirdPartySharing(false);Adjust.trackThirdPartySharing(thirdPartySharing);
アプリシークレットを設定
SDK v4では、AdjustConfig
インスタンスのsetAppSecret
メソッドを呼び出して、SDKトラフィックの署名に使用するアプリシークレットを設定することができます。
adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);
SDK v5では、この設定はご利用いただけません。