事前準備
SDK v5にアップデートする前に、以下を行ってください。
- SDK v5はSDKシグネチャーの検証をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。
- アプリが以下のバージョン以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります:
ベータ版のSDKをインストールする
SDK v5の使用を開始するには、XCodeプロジェクトにdependencyとしてSDK v5を追加する必要があります。これを行うには、以下の手順に従ってください。
-
現在Podfile
にある古いバージョンの SDK を全て削除します。
-
以下をPodfile
ファイルに追加します:
-
pod install
を実行してdependencyをインストールします。
初期化メソッドを更新
SDK v4では、SDKはADJConfig
オブジェクトを設定し、[Adjust appDidLaunch]
メソッドにパスすることで初期化されます。
SDK v5では、このメソッドの名前は[Adjust initSdk]
に変更されました。
SDKシグネチャーライブラリを設定
SDK v5には、 SDKシグネチャーライブラリが含まれています。これは、シグネチャーライブラリ連携ガイドのテスト手順に従ってテストすることができます。
シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、シグネチャーの検証を有効化してください。
変更されたAPI
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では、広告収益ソースは文字列としてパスされる必要があります。
v4 | v5 |
---|
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
クラスの定数として定義されています。
SDK v5では、選択したドメインを配列としてパスする必要があります。また、以下を設定することも可能です:
useSubdomains
(BOOL
):ドメインをAdjustドメインとして扱うかどうか。true
の場合、SDKはAdjust固有のサブドメインをドメインにプレフィックスとします。false
の場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。
isDataResidency
(BOOL
):ドメインをデータレジデンシーに使用するかどうか。
SDK v5でURL戦略を設定する方法については、以下の表をご確認ください。
v4 | v5 - メインおよびフォールバックドメイン | v5 - サブドメインの使用 | v5 - データレジデンシー |
---|
ADJDataResidencyEU | "eu.adjust.com" | true | true |
ADJDataResidencyTR | "tr.adjust.com" | true | true |
ADJDataResidencyUS | "us.adjust.com" | true | true |
ADJUrlStrategyChina | "adjust.world" 。 "adjust.com" | true | false |
ADJUrlStrategyCn | "adjust.cn" 。 "adjust.com" | true | false |
ADJUrlStrategyCnOnly | "adjust.cn" | true | false |
ADJUrlStrategyIndia | "adjust.net.in" 。 "adjust.com" | true | false |
例
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]
メソッドを使用します:
conversionValue
(NSInteger
):更新されたconversion value
coarseValue
(NSString
):更新された粗いconversion value
lockWindow
(BOOL
):コンバージョン期間が終了する前にポストバックを送信するかどうか
App Tracking Transparency認証ラッパー
SDK v4では、[Adjust requestTrackingAuthorizationWithCompletionHandler]
メソッドを使用して、ユーザーのATT認証ステータスの変更を処理することができます。
より明確にするため、SDK v5では[Adjust requestAppTrackingAuthorizationWithCompletionHandler]
に改名されました。
デバイス情報を取得する
SDK v4では、全てのデバイス情報ゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されまています。非同期処理の完了時に情報を処理するコールバック関数を追加することができます。
削除されたAPI
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では、この設定はご利用いただけません。
削除されたプラグイン
SDK v5では以下のプラグインが削除されました:
- Criteo
- Trademob
- Sociomantic