adjust-icon

iOS Web Bridge v5移行ガイド

事前準備

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

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

SDKのインストール

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

  1. 現在Podfileにある古いバージョンの SDK を全て削除します。

  2. 以下をPodfileファイルに追加します:

    Podfile
    pod 'Adjust/AdjustWebBridge', :git => 'https://github.com/adjust/ios_sdk.git', :tag => 'v5.0.0'
  3. pod installを実行してdependencyをインストールします。

変更内容

v5 SDKをインストールしたら、新しいAPIを使用するために既存のAdjustコードを更新する必要があります。

初期化メソッド

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

設定

このセクションでは、SDK設定の変更について説明します。

IDFAの読み取りを無効化する

SDK v5では、 AdjustConfig インスタンスの disableIdfaReading メソッドを呼び出すことで、 Adjust SDKが広告主のデバイスID IDFAを読み取らないようにすることができます。

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

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 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インスタンスの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はイベントのバッファリングをサポートしています。この機能は、リクエストイベント、広告収益、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では、これら両方のメソッドが削除されました。

setPushToken

SDK v4は、プッシュトークンでAdjust.setDeviceTokenを呼び出すことによる、デバイスプッシュトークンの設定をサポートしています。

Adjust.setDeviceToken(deviceToken);

この機能はSDK v5では削除されました。

記録機能

このセクションでは、Adjustに情報を送信する機能の変更点について説明します。

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

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

このセクションでは、SDK v5でのディープリンクに関する変更点を説明します。

SDK v5では、 AdjustConfigインスタンスのdisableDeferredDeeplinkOpeningメソッドを呼び出すことで、SDKがディファードディープリンクを開かないようにすることができます。

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

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

Adjust.appWillOpenUrl(data, getApplicationContext());

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

Adjust LinkMe

SDK v4では、ブーリアン引数でAdjustConfigインスタンスのsetLinkMeEnabledメソッドを呼び出すことで、Adjust Web bridgeを使用してAdjust LinkMeを有効にできます。

setupWebViewJavascriptBridge(function (bridge) {
var yourAppToken = yourAppToken;
var environment = AdjustConfig.EnvironmentSandbox;
var adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.setLinkMeEnabled(true);
});

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

プライバシー機能

このセクションでは、Adjust SDKのプライバシー機能の変更点について説明します。

児童オンラインプライバシー保護法(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();

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

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

Adjust.trackAdRevenue(source, payload);

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

データレジデンシーと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戦略を設定する方法については、以下の表をご確認ください。

インド 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);

SKAdNetworkとATT

このセクションでは、SDK v5におけるSKAdNetworkとApp Tracking Transparency(ATT)機能の変更点について説明します。

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

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

ATTステータスを確認

SDK v4では、 Adjust.checkForNewAttStatusメソッドを呼び出すことで、ユーザーのATTステータスの変更を確認できます。

Adjust.checkForNewAttStatus();

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

デバイス情報を取得

このセクションでは、SDK v5におけるデバイス情報ゲッターの変更点について説明します。

デバイス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);
});