adjust-icon

SDK 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', :git => 'https://github.com/adjust/ios_sdk.git', :branch => 'v5'
  3. pod installを実行してdependencyをインストールします。

初期化メソッドを更新

v5で変更

SDK v4では、SDKはADJConfigオブジェクトを設定し、[Adjust appDidLaunch]メソッドにパスすることで初期化されます。

SDK v5では、このメソッドの名前は[Adjust initSdk]に変更されました。

SDKシグネチャーライブラリを設定

SDK v5には、 SDKシグネチャーライブラリが含まれています。これは、シグネチャーライブラリ連携ガイドのテスト手順に従ってテストすることができます。

シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、シグネチャーの検証を有効化してください。

変更されたAPI

v5で変更

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

SDKを無効化および有効化する

SDK v4では、BOOL値で[Adjust setEnabled]を呼び出すことで、SDKを有効化・無効化することができます。

  • SDKを無効化するには、[Adjust setEnabled:NO]を呼び出します。
  • SDKを有効化するには、[Adjust setEnabled:YES]を呼び出します。

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

  • SDKを無効化するには、[Adjust disable]を呼び出します。
  • SDKを有効化するには、[Adjust enable]を呼び出します。

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

SDK v4では、[ADJConfig setSendInBackground]メソッドにtrue引数を付けて呼び出すことで、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信することができます。

SDK v5では、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信できるようにするには、引数なしで[ADJConfig enableSendingInBackground]メソッドを呼び出す必要があります。

AdServices情報の読み取りを無効化する

SDK v4では、[ADJConfig setAllowAdServicesInfoReading]メソッドにfalse引数を付けて呼び出すことで、Adjust SDKがAdServices情報を読み取らないようにすることができます。

SDK v5では、Adjust SDKがAdServices情報を読み取らないようにするには、引数なしでdisableAdServicesメソッドを呼び出す必要があります。

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

SDK v4では、[ADJConfig setAllowIdfaReading]メソッドにfalse引数を付けて呼び出すことで、Adjust SDKがデバイスのIDFAを読み取らないようにすることができます。

SDK v5では、Adjust SDKがデバイスのIDFAを読み取らないようにするには、引数なしでdisableIdfaReadingメソッドを呼び出す必要があります。

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

SDK v4では、[ADJConfig setNeedsCost]メソッドにtrue引数をつけて呼び出すことで、デバイスのアトリビューション情報のコストデータを有効化することができます。

SDK v5では、引数なしで[ADJConfig enableCostDataInAttribution]メソッドを呼び出す必要があります。

LinkMeを有効化する

SDK v4では、[ADJConfig setLinkMeEnabled]メソッドにtrue引数を付けて呼び出すことで、Adjust LinkMeを有効化できます。

SDK v5では、引数なしで[ADJConfig enableLinkMe]メソッドを呼び出す必要があります。

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

SDK v4では、[ADJConfig setReadDeviceInfoOnceEnabled]メソッドにtrue引数を付けて呼び出すことで、起動時に1回だけデバイス識別子を読み込むようにSDKに指示することができます。

SDK v5では、引数なしで[ADJConfig enableDeviceIdsReadingOnce]メソッドを呼び出す必要があります。

オフラインモード

SDK v4では、BOOL引数で[Adjust setOfflineMode]を呼び出すことで、SDKでオフラインモードを有効化・無効化することができます。

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

  • SDKをオフラインモードに設定するには、[Adjust switchToOfflineMode]を呼び出します。
  • SDKをオンラインモードに戻すには、[Adjust switchBackToOnlineMode]を呼び出します。

Pushトークン

SDK v4では、[Adjust setDeviceToken]メソッドを使用してPushトークンを設定できます。

このメソッドはSDK v5では[Adjust setPushToken]に改名されています。

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

SDK v4では、[Adjust addSessionCallbackParameter]メソッドにキーと値のペアをパスすることでセッションパラメーターを追加し、[Adjust removeSessionCallbackParameter]メソッドを使用して個々のパラメーターを削除することができます。

SDK v5では、セッションパラメーターはグローバルパラメーターに改名されています。SDK v5では、キーと値を位置引数として代入する代わりに、forKeyインスタンスメソッドを使用してキーに値を代入します。

セッションパートナーパラメーター

SDK v4では、[Adjust addSessionPartnerParameter]メソッドにキーと値のペアをパスすることでセッション パートナー パラメーターを追加し、[Adjust removeSessionPartnerParameter]メソッドを使用して個々のパラメーターを削除することができます。

SDK v5では、セッション パートナー パラメーターはグローバル パートナー パラメーターに改名されました。SDK v5では、キーと値を位置引数として代入する代わりに、forKeyインスタンスメソッドを使用してキーに値を代入します。

サブスクリプション情報を送信する

SDK v4では、ADJSubscriptionクラスを使ってAdjustに送信するサブスクリプション情報のペイロードを作成することができます。

より明確にするため、SDK v5では、このクラスはADJAppStoreSubscriptionに改名されました。

イベントの重複排除

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

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

AdjustAttributionクラス

SDK v4では、AdjustAttributionコールはadidというプロパティを持ちます。SDK v5 では、AdjustAttribution クラスからadidプロパティが削除されました。デバイスのADIDを取得するには、[Adjust adidWithCompletionHandler]ゲッターメソッドを使用してください。

SDK v4では、[Adjust appWillOpenUrl]メソッドにディープリンク情報をパスすることができます。

SDK v5では、わかりやすくするために[Adjust processDeeplink]に改名されています。

ディファードディープリンクのコールバック

SDK v4では、adjustDeepLinkResponseメソッドを呼び出してディファード ディープリンク コールバックを処理できます。

より明確にするため、SDK v5では、このメソッドはadjustDeferredDeeplinkReceivedに改名されています。全ての引数は同じです。

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

SDK v4では、ブーリアン値でADJConfigインスタンスのsetCoppaCompliantEnabledメソッドを呼び出すことで、アプリをCOPPAに準拠していることをマークできます。

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

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

SDK v4では、広告収益ソースはADJConfigクラスの定数として定義されています。SDK v5では、広告収益ソースは文字列としてパスされる必要があります。

v4v5
ADJAdRevenueSourceAppLovinMAX"applovin_max_sdk"
ADJAdRevenueSourceAdMob"admob_sdk"
ADJAdRevenueSourceIronSource"ironsource_sdk"
ADJAdRevenueSourceAdMost"admost_sdk"
ADJAdRevenueSourceUnity"unity_sdk"
ADJAdRevenueSourceHeliumChartboost"helium_chartboost_sdk"
ADJAdRevenueSourceADX"adx_sdk"
ADJAdRevenueSourcePublisher"publisher_sdk"
ADJAdRevenueSourceTradplus"tradplus_sdk"
ADJAdRevenueSourceTopOn"topon_sdk"
ADJAdRevenueSourceMopub"mopub"

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

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

[adjustConfig setUrlStrategy:ADJDataResidencyEU];

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

  • useSubdomainsBOOL):ドメインをAdjustドメインとして扱うかどうか。trueの場合、SDKはAdjust固有のサブドメインをドメインにプレフィックスとします。falseの場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。
  • isDataResidencyBOOL):ドメインをデータレジデンシーに使用するかどうか。
NSArray *domain = [];
[adjustConfig setUrlStrategy:domain useSubdomains:YES
isDataResidency:YES];

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

v4v5 - メインおよびフォールバックドメインv5 - サブドメインの使用v5 - データレジデンシー
ADJDataResidencyEU"eu.adjust.com"truetrue
ADJDataResidencyTR"tr.adjust.com"truetrue
ADJDataResidencyUS"us.adjust.com"truetrue
ADJUrlStrategyChina"adjust.world""adjust.com"truefalse
ADJUrlStrategyCn"adjust.cn""adjust.com"truefalse
ADJUrlStrategyCnOnly"adjust.cn"truefalse
ADJUrlStrategyIndia"adjust.net.in""adjust.com"truefalse

SKAdNetworkの通信を無効化する

SDK v4では、[ADJConfig deactivateSKAdNetworkHandling]メソッドを呼び出すことで、SDKがSKAdNetworkと通信しないようにすることができます。

より明確にするため、SDK v5では、このメソッドは[ADJConfig disableSkanAttribution]に改名されています。

Conversion valueを更新する

SDK v4では、updateConversionValueメソッドを使ってAdjustに更新されたconversion valueを送ることができます。このメソッドはAppleが廃止したupdateConversionValueメソッドをラップするため、SDK v5では削除されています。

SDK v5でconversion valueを更新するには、以下の引数で[Adjust updateSkanConversionValue]メソッドを使用します:

  • conversionValueNSInteger):更新されたconversion value
  • coarseValueNSString):更新された粗いconversion value
  • lockWindowBOOL):コンバージョン期間が終了する前にポストバックを送信するかどうか

App Tracking Transparency認証ラッパー

SDK v4では、[Adjust requestTrackingAuthorizationWithCompletionHandler]メソッドを使用して、ユーザーのATT認証ステータスの変更を処理することができます。

より明確にするため、SDK v5では[Adjust requestAppTrackingAuthorizationWithCompletionHandler]に改名されました。

デバイス情報を取得する

SDK v4では、全てのデバイス情報ゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されまています。非同期処理の完了時に情報を処理するコールバック関数を追加することができます。

削除されたAPI

v5で削除

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

イベントバッファリング

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

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

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

SDK v4では、ユーザーエージェント文字列で[AdjustConfig setUserAgent]を呼び出すことによるカスタムユーザーエージェントの設定をサポートしています。

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

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

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

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

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

SDK v4では、[AdjustConfig setDelayStart];を最大 10秒 遅延させて呼び出すことで、SDKの開始を遅延させることができます。

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

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

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

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

承認ステータスの変更を確認する

SDK v4では、[Adjust checkForNewAttStatus]メソッドを使ってSDKにユーザーのATTステータスを読み込ませ、Adjustのサーバーに情報を転送することができます。

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

Conversion valueのアップデートを受信する

SDK v4では、adjustConversionValueUpdatedメソッドを使用してSKAdNetworkのアップデートを受信することができます。

SDK v5では、これら2つのメソッドは、型付けされていない辞書を返す単一のadjustSkanUpdatedWithConversionDataメソッドに置き換えられました。現在サポートされているキーは以下の通りです:

  • conversion_value: 更新されたconversion value
  • coarse_value: 更新された粗いconversion value
  • lock_window: コンバージョン期間が終了する前にポストバックを送信するかどうか
  • error: 更新によって返されたエラーメッセージ

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

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

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

削除されたプラグイン

v5で削除

SDK v5では以下のプラグインが削除されました:

  • Criteo
  • Trademob
  • Sociomantic