事前準備
SDK v5にアップデートする前に、以下を行ってください。
- SDK v5はSDKシグネチャーの検証をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。
- アプリが以下のバージョン以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります:
- iOS: 12.0
- tvOS: 12.0
SDKをインストールする
SDK v5の使用を開始するには、XCodeプロジェクトにdependencyとしてSDK v5を追加する必要があります。これを行うには、以下の手順に従ってください。
-
現在
Podfileにある古いバージョンの SDK を全て削除します。 -
以下を
Podfileファイルに追加します:Podfile pod 'Adjust/AdjustWebBridge', :git => 'https://github.com/adjust/ios_sdk.git', :tag => 'v5.0.0' -
pod installを実行してdependencyをインストールします。
初期化メソッドを更新
SDK v4では、初期化メソッドはAdjust.onCreate(AdjustConfig)です。SDK v5ではAdjust.initSdk(AdjustConfig)に変更されています。
const adjustConfig = new AdjustConfig(this, appToken, environment);
Adjust.onCreate(adjustConfig); // v4Adjust.initSdk(adjustConfig); // v5新規API
SDK v5では、以下のプラグインが追加されました。
IDFAの読み取りを無効化する
SDK v5では、 AdjustConfig インスタンスの disableIdfaReading メソッドを呼び出すことで、 Adjust SDKが広告主のデバイスID IDFAを読み取らないようにすることができます。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableIdfaReading();ディファードディープリンクを開かないようにする
SDK v5では、 AdjustConfigインスタンスのdisableDeferredDeeplinkOpeningメソッドを呼び出すことで、SDKがディファードディープリンクを開かないようにすることができます。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableDeferredDeepLinkOpening();SKAdNetworkアトリビューションを無効化する
SDK v5では、 AdjustConfigインスタンスのdisableSkanAttributionHandlingメソッドを呼び出すことで、Adjust SDKがAppleのSKAdNetworkにアトリビューション情報を送信しないように設定できます。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableSkanAttributionHandling();SKAdNetworkアップデートのコールバック
SDK v5では、AdjustConfigインスタンスのsetSkanUpdatedCallbackメソッドにコールバック関数を渡すことで、ユーザーのSKAdNetworkのconversion valueが変更された時にコールバック関数を実行するようAdjust SDKを設定できます。
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setSkanUpdatedCallback(function (skanData) { alert("SKAN: " + skanData.error);});変更されたAPI
SDK v5では、以下のAPIが変更されました。
AdServices情報の読み取りを無効化する
SDK v4では、AdjustConfigインスタンスのsetAllowAdServicesInfoReadingメソッドをfalse引数をつけて呼び出すことで、Adjust SDKがAdServices情報を読み取らないようにすることができます。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setAllowAdServicesInfoReading(false);SDK v5では、Adjust SDKがAdServices情報を読み取らないようにするには、引数なしでdisableAdServicesメソッドを呼び出す必要があります。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableAdServices();SDKを無効化および有効化する
SDK v4では、boolean値でAdjust.setEnabled()を呼び出すことで、SDKを有効化・無効化することができます。
- SDKを無効化するには、
Adjust.setEnabled(false)を呼び出します。 - SDKを有効化するには、
Adjust.setEnabled(true)を呼び出します。
Adjust.setEnabled(false); // disable SDKAdjust.setEnabled(true); // enable SDKより明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。
- SDKを無効化するには、
Adjust.disable()を呼び出します。 - SDKを有効化するには、
Adjust.enable()を呼び出します。
Adjust.disable(); // disable SDKAdjust.enable(); // enable SDKオフラインモード
SDK v4では、boolean値でAdjust.setOfflineMode()を呼び出すことで、SDKでオフラインモードを有効化・無効化することができます。
Adjust.setOfflineMode(false); // put SDK in offline modeAdjust.setOfflineMode(true); // put SDK back in online modeより明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。
- SDKをオフラインモードに設定するには、
Adjust.switchToOfflineMode()を呼び出します。 - SDKをオンラインモードに戻すには、
Adjust.switchBackToOnlineMode()を呼び出します。
Adjust.switchToOfflineMode(); // put SDK in offline modeAdjust.switchBackToOnlineMode(); // put SDK back in online modeアトリビューションにコストデータを有効化する
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 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 10Adjust.initSdk(adjustConfig);
const event = new AdjustEvent("event_token");event.setDeduplicationId("deduplication_id");Adjust.trackEvent(event);児童オンラインプライバシー保護法(COPPA)コンプライアンス
SDK v4では、 COPPAコンプライアンスは、AdjustConfigインスタンスのsetCoppaCompliantEnabledメソッドをブール引数で呼び出すことで設定できます。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setCoppaCompliantEnabled(true);SDK v5では、このメソッドはenableCoppaComplianceに改名されています。この新しいメソッドは引数を受け取りません。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enableCoppaCompliance();データレジデンシーとURL戦略を設定する
SDK v4では、URL戦略とデータレジデンシーのドメインはAdjustConfigクラスの定数として定義されています。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyEU);SDK v5では、選択したドメインを配列としてパスする必要があります。また、以下を設定することも可能です:
useSubdomains(boolean):ソースにサブドメインのプレフィックスを付けるかどうか。isDataResidency(boolean):ドメインをデータレジデンシーに使用するかどうか。
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戦略を設定する方法については、以下の表をご確認ください。
| 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 |
例
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["adjust.net.in", "adjust.com"], true, false);const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["adjust.world", "adjust.com"], true, false);const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["adjust.cn"], true, false);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);ATT承認ステータスをリクエストする
SDK v4では、Adjust.requestTrackingAuthorizationWithCompletionHandlerメソッドを使用して、ユーザーのATT認証ステータスの変更を処理することができます。
Adjust.requestTrackingAuthorizationWithCompletionHandler(function(status) { alert('Permission status\n' + status);};より明確にするため、SDK v5ではrequestAppTrackingAuthorizationWithCompletionHandlerに改名されました。
Adjust.requestAppTrackingAuthorizationWithCompletionHandler(function(status) { alert('Permission status\n' + status);};デバイスIDゲッター
SDK v4では、全てのデバイスIDのゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されています。
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, );});Adjust.getSdkVersion(function (sdkVersion) { alert("SDK version:\n" + sdkVersion);});Adjust.isEnabled(function (isEnabled) { alert("Is SDK enabled? " + isEnabled);});削除されたAPI
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では、これら両方のメソッドが削除されました。
Pushトークンを設定する
SDK v4では、Adjust.setDeviceTokenを呼び出すことで、デバイスのプッシュトークンを設定するサポートをしています。
Adjust.setDeviceToken(deviceToken);この機能はSDK v5では削除されました。
ディープリンクを使用したリアトリビューション
SDK v4では、 Adjust.appWillOpenUrl()メソッドを呼び出すことで、Web BridgeでディープリンクURLをAdjustにパスすることができます。
Adjust.appWillOpenUrl(data, getApplicationContext());このメソッドはSDK v5では廃止されています。
Adjust LinkMe
SDK v4では、Adjust Web Bridgeを使用して、AdjustConfigインスタンスのsetLinkMeEnabledメソッドをブール引数で呼び出すことで、Adjust LinkMeを有効化できます。
setupWebViewJavascriptBridge(function (bridge) { var yourAppToken = yourAppToken; var environment = AdjustConfig.EnvironmentSandbox; var adjustConfig = new AdjustConfig(yourAppToken, environment); adjustConfig.setLinkMeEnabled(true);});このメソッドはSDK v5では廃止されています。
特定のソースの広告収益を送信する
SDK v4では、 Adjust.trackAdRevenue()メソッドにソースとペイロードをパスすることで、特定のソースから広告収益を送信することができます。
Adjust.trackAdRevenue(source, payload);このメソッドはSDK v5では廃止されています。
サードパーティとの共有をグローバルに無効化する
SDK v4では、Adjust.disableThirdPartySharing()メソッドを呼び出すことで、サードパーティとの情報共有をグローバルに無効化することができます。
Adjust.disableThirdPartySharing();この機能はSDK v5では削除されました。SDK v5では、Adjust.trackThirdPartySharing()メソッドを使用してサードパーティとのデータ共有を有効化または無効化できます。
const adjustThirdPartySharing = new AdjustThirdPartySharing(true);Adjust.trackThirdPartySharing(adjustThirdPartySharing);ATTステータスを確認する
SDK v4では、 Adjust.checkForNewAttStatusメソッドを呼び出すことで、ユーザーのATTステータスの変更を確認できます。
Adjust.checkForNewAttStatus();このメソッドはSDK v5では廃止されています。
アプリシークレットを設定
SDK v4では、AdjustConfigインスタンスのsetAppSecretメソッドを呼び出して、SDKトラフィックの署名に使用するアプリシークレットを設定することができます。
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);SDK v5では、この設定はご利用いただけません。