事前準備
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]メソッドにパスすることで初期化されます。
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox as? String
let adjustConfig = ADJConfig(
environment: environment)
Adjust.appDidLaunch(adjustConfig)
NSString *yourAppToken = @"{YourAppToken}";
NSString *environment = ADJEnvironmentSandbox;
*adjustConfig = [ADJConfig configWithAppToken:yourAppToken;
environment:environment];
[Adjust appDidLaunch:adjustConfig];
SDK v5では、このメソッドの名前は[Adjust initSdk]に変更されました。
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox as? String
let adjustConfig = ADJConfig(
environment: environment)
Adjust.initSdk(adjustConfig)
NSString *yourAppToken = @"{YourAppToken}";
NSString *environment = ADJEnvironmentSandbox;
ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken
environment:environment];
[Adjust initSdk:adjustConfig];
SDKシグネチャーライブラリを設定
SDK v5には、 SDKシグネチャーライブラリが含まれています。これは、シグネチャーライブラリ連携ガイドのテスト手順に従ってテストすることができます。
シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、シグネチャーの検証を有効化してください。
変更されたAPI
SDK v5では、以下のAPIが変更されました。
SDKを無効化および有効化する
SDK v4では、BOOL値で[Adjust setEnabled]を呼び出すことで、SDKを有効化・無効化することができます。
- SDKを無効化するには、
[Adjust setEnabled:NO]を呼び出します。
- SDKを有効化するには、
[Adjust setEnabled:YES]を呼び出します。
Adjust.setEnabled(false) //disable SDK
Adjust.setEnabled(true) //enable SDK
[Adjust setEnabled:NO]; // disable SDK
[Adjust setEnabled:YES]; // enable SDK
より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。
- SDKを無効化するには、
[Adjust disable]を呼び出します。
- SDKを有効化するには、
[Adjust enable]を呼び出します。
Adjust.disable() //disable SDK
Adjust.enable() //enable SDK
[Adjust disable]; // disable SDK
[Adjust enable]; // enable SDK
バックグラウンドで情報を送信する
SDK v4では、[ADJConfig setSendInBackground]メソッドにtrue引数を付けて呼び出すことで、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信することができます。
adjustConfig.setSendInBackground(true)
[adjustConfig setSendInBackground:YES];
SDK v5では、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信できるようにするには、引数なしで[ADJConfig enableSendingInBackground]メソッドを呼び出す必要があります。
adjustConfig.enableSendingInBackground()
[adjustConfig enableSendingInBackground];
AdServices情報の読み取りを無効化する
SDK v4では、[ADJConfig setAllowAdServicesInfoReading]メソッドにfalse引数を付けて呼び出すことで、Adjust SDKがAdServices情報を読み取らないようにすることができます。
adjustConfig.setAllowAdServicesInfoReading(false)
[adjustConfig setAllowAdServicesInfoReading:NO];
SDK v5では、Adjust SDKがAdServices情報を読み取らないようにするには、引数なしでdisableAdServicesメソッドを呼び出す必要があります。
adjustConfig.disableAdServices()
[adjustConfig disableAdServices];
IDFAの読み取りを無効化する
SDK v4では、[ADJConfig setAllowIdfaReading]メソッドにfalse引数を付けて呼び出すことで、Adjust SDKがデバイスのIDFAを読み取らないようにすることができます。
adjustConfig.setAllowIdfaReading(false)
[adjustConfig setAllowIdfaReading:NO];
SDK v5では、Adjust SDKがデバイスのIDFAを読み取らないようにするには、引数なしでdisableIdfaReadingメソッドを呼び出す必要があります。
adjustConfig.disableIdfaReading()
[adjustConfig disableIdfaReading];
アトリビューションにコストデータを有効化する
SDK v4では、[ADJConfig setNeedsCost]メソッドにtrue引数をつけて呼び出すことで、デバイスのアトリビューション情報のコストデータを有効化することができます。
adjustConfig.setNeedsCost(true)
[adjustConfig setNeedsCost:YES];
SDK v5では、引数なしで[ADJConfig enableCostDataInAttribution]メソッドを呼び出す必要があります。
adjustConfig.enableCostDataInAttribution()
[adjustConfig enableCostDataInAttribution];
LinkMeを有効化する
SDK v4では、[ADJConfig setLinkMeEnabled]メソッドにtrue引数を付けて呼び出すことで、Adjust LinkMeを有効化できます。
adjustConfig.setLinkMeEnabled(true)
[adjustConfig setLinkMeEnabled:YES];
SDK v5では、引数なしで[ADJConfig enableLinkMe]メソッドを呼び出す必要があります。
adjustConfig.enableLinkMe()
[adjustConfig enableLinkMe];
デバイスIDを1回だけ読み取る
SDK v4では、[ADJConfig setReadDeviceInfoOnceEnabled]メソッドにtrue引数を付けて呼び出すことで、起動時に1回だけデバイス識別子を読み込むようにSDKに指示することができます。
adjustConfig.setReadDeviceInfoOnceEnabled(true)
[adjustConfig setReadDeviceInfoOnceEnabled:YES];
SDK v5では、引数なしで[ADJConfig enableDeviceIdsReadingOnce]メソッドを呼び出す必要があります。
adjustConfig.enableDeviceIdsReadingOnce()
[adjustConfig enableDeviceIdsReadingOnce];
オフラインモード
SDK v4では、BOOL引数で[Adjust setOfflineMode]を呼び出すことで、SDKでオフラインモードを有効化・無効化することができます。
Adjust.setOfflineMode(true) // put the SDK in offline mode
Adjust.setOfflineMode(false) // put the SDK back in online mode
[Adjust setOfflineMode:YES]; // put the SDK in offline mode
[Adjust setOfflineMode:NO]; // put the SDK back in online mode
より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。
- SDKをオフラインモードに設定するには、
[Adjust switchToOfflineMode]を呼び出します。
- SDKをオンラインモードに戻すには、
[Adjust switchBackToOnlineMode]を呼び出します。
Adjust.switchToOfflineMode() // put the SDK in offline mode
Adjust.switchBackToOnlineMode() // put the SDK back in online mode
[Adjust switchToOfflineMode]; // put the SDK in offline mode
[Adjust switchBackToOnlineMode]; // put the SDK back in online mode
Pushトークン
SDK v4では、[Adjust setDeviceToken]メソッドを使用してPushトークンを設定できます。
func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Adjust.setDeviceToken(deviceToken)
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[Adjust setDeviceToken:deviceToken];
このメソッドはSDK v5では[Adjust setPushToken]に改名されています。
func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken pushToken: Data) {
Adjust.setPushToken(pushToken)
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pushToken {
[Adjust setPushToken:pushToken];
セッションコールバックパラメーター
SDK v4では、[Adjust addSessionCallbackParameter]メソッドにキーと値のペアをパスすることでセッションパラメーターを追加し、[Adjust removeSessionCallbackParameter]メソッドを使用して個々のパラメーターを削除することができます。
Adjust.addSessionCallbackParameter("foo", value: "bar")
Adjust.removeSessionCallbackParameter("foo")
Adjust.resetSessionCallbackParameters()
[Adjust addSessionCallbackParameter:@"foo" value:@"bar"];
[Adjust removeSessionCallbackParameter:@"foo"];
[Adjust resetSessionCallbackParameters];
SDK v5では、セッションパラメーターはグローバルパラメーターに改名されています。SDK v5では、キーと値を位置引数として代入する代わりに、forKeyインスタンスメソッドを使用してキーに値を代入します。
Adjust.addGlobalCallbackParameter("bar", forKey: "foo")
Adjust.removeGlobalCallbackParameter(forKey: "foo")
Adjust.removeGlobalCallbackParameters()
[Adjust addGlobalCallbackParameter:@"bar" forKey:@"foo"];
[Adjust removeGlobalCallbackParameterForKey:@"foo"];
[Adjust removeGlobalCallbackParameters];
セッションパートナーパラメーター
SDK v4では、[Adjust addSessionPartnerParameter]メソッドにキーと値のペアをパスすることでセッション パートナー パラメーターを追加し、[Adjust removeSessionPartnerParameter]メソッドを使用して個々のパラメーターを削除することができます。
Adjust.addSessionPartnerParameter("foo", value: "bar")
Adjust.removeSessionPartnerParameter("foo")
Adjust.resetSessionPartnerParameters()
[Adjust addSessionPartnerParameter:@"foo" value:@"bar"];
[Adjust removeSessionPartnerParameter:@"foo"];
[Adjust resetSessionPartnerParameters];
SDK v5では、セッション パートナー パラメーターはグローバル パートナー パラメーターに改名されました。SDK v5では、キーと値を位置引数として代入する代わりに、forKeyインスタンスメソッドを使用してキーに値を代入します。
Adjust.addGlobalPartnerParameter("bar", forKey: "foo")
Adjust.removeGlobalPartnerParameter(forKey: "foo")
Adjust.removeGlobalPartnerParameters()
[Adjust addGlobalPartnerParameter:@"bar" forKey:@"foo"];
[Adjust removeGlobalPartnerParameterForKey:@"foo"];
[Adjust removeGlobalPartnerParameters];
サブスクリプション情報を送信する
SDK v4では、ADJSubscriptionクラスを使ってAdjustに送信するサブスクリプション情報のペイロードを作成することができます。
let subscription = ADJSubscription(
transactionId: transactionId,
ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price
transactionId:transactionId];
より明確にするため、SDK v5では、このクラスはADJAppStoreSubscriptionに改名されました。
let subscription = ADJAppStoreSubscription(
transactionId: transactionId)
ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc]
transactionId:transactionId];
イベントの重複排除
SDK v4では、イベント重複排除はイベントtransaction IDと組み合わされ、最大10個のユニークIDに制限されています。
let event = ADJEvent(eventToken: "eventToken")
event.setTransactionId("deduplication_id")
ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"];
[event setTransactionId:@"deduplication_id"];
[Adjust trackEvent:event];
SDK v5では、この機能はtransaction IDから切り離され、イベント重複排除のためにdeduplicationIdという新しいIDフィールドが追加されました。ユーザーは、重複イベントを識別するためにリストに追加可能なdeduplicationIdの数にカスタム制限を設定できます。デフォルトでは、制限は 10 に設定されています。
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox as? String
let adjustConfig = ADJConfig(
environment: environment)
adjustConfig.setEventDeduplicationIdsMaxSize(20)
Adjust.initSdk(adjustConfig)
guard let event = ADJEvent(eventToken: "eventToken") else { return }
event.setDeduplicationId("deduplication_id")
NSString *yourAppToken = @"{YourAppToken}";
NSString *environment = ADJEnvironmentSandbox;
ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken
environment:environment];
[adjustConfig setEventDeduplicationIdsMaxSize:20];
[Adjust initSdk:adjustConfig];
ADJEvent *event = [[ADJEvent alloc] initWithEventToken:kEventToken3];
[event setDeduplicationId:@"deduplication_id"];
[Adjust trackEvent:event];
AdjustAttributionクラス
SDK v4では、AdjustAttributionコールはadidというプロパティを持ちます。SDK v5 では、AdjustAttribution クラスからadidプロパティが削除されました。デバイスのADIDを取得するには、[Adjust adidWithCompletionHandler]ゲッターメソッドを使用してください。
ディープリンクを使用したリアトリビューション
SDK v4では、[Adjust appWillOpenUrl]メソッドにディープリンク情報をパスすることができます。
options: [UIApplication.OpenURLOptionsKey: Any] = [:]
// add your code below to handle deep link
// (for example, open deep link content)
// incomingURL object contains the deep link
// call the below method to send deep link to Adjust's servers
Adjust.appWillOpen(incomingURL)
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)incomingURL
options:(NSDictionary *)options {
// add your code below to handle deep link
// (for example, open deep link content)
// incomingURL object contains the deep link
// call the below method to send deep link to Adjust's servers
[Adjust appWillOpenUrl:incomingURL];
SDK v5では、わかりやすくするために[Adjust processDeeplink]に改名されています。
options: [UIApplication.OpenURLOptionsKey: Any] = [:]
// add your code below to handle deep link
// (for example, open deep link content)
// incomingURL object contains the deep link
// call the below method to send deep link to Adjust's servers
if let deeplink = ADJDeeplink(deeplink: incomingURL) {
Adjust.processDeeplink(deeplink)
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)incomingURL
options:(NSDictionary *)options {
// add your code below to handle deep link
// (for example, open deep link content)
// incomingURL object contains the deep link
// call the below method to send deep link to Adjust's servers
[Adjust processDeeplink:[[ADJDeeplink alloc] initWithDeeplink:incomingURL]];
ディファードディープリンクのコールバック
SDK v4では、adjustDeepLinkResponseメソッドを呼び出してディファード ディープリンク コールバックを処理できます。
func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool {
print("Deferred deep link callback called!")
print(String(format: "Deferred deep link URL: %@", deeplink.absoluteString))
// Allow Adjust SDK to open received deferred deep link.
// If you don't want it to open it, return false instead.
- (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink {
NSLog(@"Deferred deep link callback called!");
NSLog(@"Deferred deep link URL: %@", [deeplink absoluteString]);
// Allow Adjust SDK to open received deferred deep link.
// If you don't want it to open it, return NO; instead.
より明確にするため、SDK v5では、このメソッドはadjustDeferredDeeplinkReceivedに改名されています。全ての引数は同じです。
func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool {
print("Deferred deep link callback called!")
print(String(format: "Deferred deep link URL: %@", deeplink.absoluteString))
// Allow Adjust SDK to open received deferred deep link.
// If you don't want it to open it, return false instead.
- (BOOL)adjustDeferredDeeplinkReceived:(NSURL *)deeplink {
NSLog(@"Deferred deep link callback called!");
NSLog(@"Deferred deep link URL: %@", [deeplink absoluteString]);
// Allow Adjust SDK to open received deferred deep link.
// If you don't want it to open it, return NO; instead.
児童オンラインプライバシー保護法(COPPA)コンプライアンス
SDK v4では、ブール値を渡してADJConfigインスタンスのsetCoppaCompliantEnabledメソッドを呼び出すことで、アプリをCOPPAに準拠していることをマークできます。
adjustConfig.setCoppaCompliantEnabled(true)
[adjustConfig setCoppaCompliantEnabled:YES];
SDK v5では、このメソッドはenableCoppaComplianceに改名されています。このメソッドは引数を取りません。
adjustConfig?.enableCoppaCompliance()
[adjustConfig enableCoppaCompliance];
特定のソースの広告収益を送信する
SDK v4では、広告収益ソースはADJConfigクラスの定数として定義されています。SDK v5では、広告収益ソースは文字列としてパスされる必要があります。
let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourceAppLovinMAX); //v4
let adRevenue = ADJAdRevenue(source: "applovin_max_sdk") //v5
ADJAdRevenue *revenue = [[ADJAdRevenue alloc]
initWithSource:ADJAdRevenueSourceAppLovinMAX]; // v4
ADJAdRevenue *adRevenue = [[ADJAdRevenue alloc]
initWithSource:@"applovin_max_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クラスの定数として定義されています。
[adjustConfig setUrlStrategy:ADJDataResidencyEU];
SDK v5では、選択したドメインを配列としてパスする必要があります。また、以下を設定することも可能です:
useSubdomains (BOOL):ドメインをAdjustドメインとして扱うかどうか。trueの場合、SDKはAdjust固有のサブドメインをドメインにプレフィックスとします。falseの場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。
isDataResidency (BOOL):ドメインをデータレジデンシーに使用するかどうか。
[adjustConfig setUrlStrategy:domain useSubdomains:YES
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 |
例
let domain = ["adjust.net.in", "adjust.com"]
adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false)
let domain = ["adjust.world", "adjust.com"]
adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false)
let domain = ["adjust.cn"]
adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false)
let domain = ["eu.adjust.com"]
adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true)
let domain = ["tr.adjust.com"]
adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true)
let domain = ["us.adjust.com"]
adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true)
NSArray *domain = [[NSArray alloc]
initWithObjects:@"adjust.net.in", @"adjust.com", nil];
[adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO];
NSArray *domain = [[NSArray alloc]
initWithObjects:@"adjust.world", @"adjust.com", nil];
[adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO];
NSArray *domain = [[NSArray alloc]
initWithObjects:@"adjust.cn", nil];
[adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO];
NSArray *domain = [[NSArray alloc]
initWithObjects:@"eu.adjust.com", nil];
[adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES];
NSArray *domain = [[NSArray alloc]
initWithObjects:@"tr.adjust.com", nil];
[adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES];
NSArray *domain = [[NSArray alloc]
initWithObjects:@"us.adjust.com", nil];
[adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES];
SKAdNetworkの通信を無効化する
SDK v4では、[ADJConfig deactivateSKAdNetworkHandling]メソッドを呼び出すことで、SDKがSKAdNetworkと通信しないようにすることができます。
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox as? String
let adjustConfig = ADJConfig(
environment: environment)
adjustConfig.deactivateSKAdNetworkHandling()
ADJConfig *adjustConfig = [[ADJConfig alloc]
initWithAppToken:@"{YourAppToken}"
environment:ADJEnvironmentSandbox];
[adjustConfig deactivateSKAdNetworkHandling];
より明確にするため、SDK v5では、このメソッドは[ADJConfig disableSkanAttribution]に改名されています。
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox as? String
let adjustConfig = ADJConfig(
environment: environment)
adjustConfig?.disableSkanAttribution()
ADJConfig *adjustConfig = [[ADJConfig alloc]
initWithAppToken:@"{YourAppToken}"
environment:ADJEnvironmentSandbox];
[adjustConfig 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):コンバージョン期間が終了する前にポストバックを送信するかどうか
Adjust.updateSkanConversionValue(
coarseValue: SKAdNetwork.CoarseConversionValue.low.rawValue,
lockWindow: false) { error in
print(String(format:"An error occurred during completion: %@", error))
[Adjust updateSkanConversionValue:1
coarseValue:SKAdNetworkCoarseConversionValueLow
withCompletionHandler:^(NSError *_Nullable error) {
NSLog(@"An error occurred during completion: %@", error);
App Tracking Transparency認証ラッパー
SDK v4では、[Adjust requestTrackingAuthorizationWithCompletionHandler]メソッドを使用して、ユーザーのATT認証ステータスの変更を処理することができます。
Adjust.requestTrackingAuthorization { status in
// ATTrackingManagerAuthorizationStatusNotDetermined case
// ATTrackingManagerAuthorizationStatusRestricted case
// ATTrackingManagerAuthorizationStatusDenied case
// ATTrackingManagerAuthorizationStatusAuthorized case
[Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
// ATTrackingManagerAuthorizationStatusNotDetermined case
// ATTrackingManagerAuthorizationStatusRestricted case
// ATTrackingManagerAuthorizationStatusDenied case
// ATTrackingManagerAuthorizationStatusAuthorized case
より明確にするため、SDK v5では[Adjust requestAppTrackingAuthorizationWithCompletionHandler]に改名されました。
Adjust.requestAppTrackingAuthorization { status in
// ATTrackingManagerAuthorizationStatusNotDetermined case
// ATTrackingManagerAuthorizationStatusRestricted case
// ATTrackingManagerAuthorizationStatusDenied case
// ATTrackingManagerAuthorizationStatusAuthorized case
[Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
// ATTrackingManagerAuthorizationStatusNotDetermined case
// ATTrackingManagerAuthorizationStatusRestricted case
// ATTrackingManagerAuthorizationStatusDenied case
// ATTrackingManagerAuthorizationStatusAuthorized case
デバイス情報を取得する
SDK v4では、全てのデバイス情報ゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されまています。非同期処理の完了時に情報を処理するコールバック関数を追加することができます。
// add your completion handler
// add your completion handler
// add your completion handler
Adjust.sdkVersion { sdkVersion in
// add your completion handler
Adjust.isEnabled { isEnabled in
// add your completion handler
Adjust.attribution { attribution in
// add your completion handler
[Adjust adidWithCompletionHandler:^(NSString * _Nullable adid) {
// add your completion handler
[Adjust idfaWithCompletionHandler:^(NSString * _Nullable idfa) {
// add your completion handler
[Adjust idfvWithCompletionHandler:^(NSString * _Nullable idfv) {
// add your completion handler
[Adjust sdkVersionWithCompletionHandler:^(NSString * _Nullable sdkVersion) {
// add your completion handler
[Adjust isEnabledWithCompletionHandler:^(BOOL isEnabled) {
// add your completion handler
[Adjust attributionWithCompletionHandler:^(ADJAttribution * _Nullable attribution) {
// add your completion handler
削除されたAPI
SDK v5では、以下のAPIが削除されました。
イベントバッファリング
SDK v4はイベントのバッファリングをサポートしています。この機能は、リクエストイベント、広告収益、Pushトークン、その他の情報をローカルバッファに保存し、後日送信します。
Adjust.setEventBufferingEnabled(true)
[adjustConfig setEventBufferingEnabled:YES];
SDK v5では、この設定はご利用いただけません。
カスタムユーザーエージェント文字列
SDK v4では、ユーザーエージェント文字列で[AdjustConfig setUserAgent]を呼び出すことによるカスタムユーザーエージェントの設定をサポートしています。
adjustConfig.setUserAgent("user_agent_value")
[adjustConfig setUserAgent:@"user_agent_value"];
SDK v5では、この設定はご利用いただけません。
既知のデバイスかどうかを通知する設定
SDK v4では、[AdjustConfig setIsDeviceKnown];メソッドを呼び出して、既知のデバイスかどうかをSDKに手動で通知することができます。
adjustConfig.setIsDeviceKnown(true)
[adjustConfig setIsDeviceKnown:YES];
SDK v5では、この設定はご利用いただけません。
SDKの起動開始を遅延させる
SDK v4では、[AdjustConfig setDelayStart];を最大 10秒 遅延させて呼び出すことで、SDKの開始を遅延させることができます。
adjustConfig.setDelayStart(10)
[adjustConfig setDelayStart:10];
SDK v5では、この設定はご利用いただけません。
サードパーティとの共有をグローバルに無効化する
SDK v4では、Adjust.disableThirdPartySharing()メソッドを呼び出すことで、サードパーティとの情報共有をグローバルに無効化することができます。
Adjust.disableThirdPartySharing()
[Adjust disableThirdPartySharing];
この機能はSDK v5では削除されました。SDK v5では、[Adjust trackThirdPartySharing]メソッドを使用してサードパーティとのデータ共有を有効化または無効化できます。
guard let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: 0) else { return }
Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabled:@NO];
[Adjust trackThirdPartySharing:adjustThirdPartySharing];
承認ステータスの変更を確認する
SDK v4では、[Adjust checkForNewAttStatus]メソッドを使ってSDKにユーザーのATTステータスを読み込ませ、Adjustのサーバーに情報を転送することができます。
Adjust.checkForNewAttStatus()
[Adjust checkForNewAttStatus];
このメソッドはSDK v5では廃止されています。
Conversion valueのアップデートを受信する
SDK v4では、adjustConversionValueUpdatedメソッドを使用してSKAdNetworkのアップデートを受信することができます。
func adjustConversionValueUpdated(_ conversionValue: NSNumber) {
print("Conversion value updated callback called!")
print(String(format: "Conversion value: %@", conversionValue))
func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lockWindow: NSNumber) {
print("Conversion value updated callback called!")
print(String(format: "Conversion value: %@", fineValue))
print(String(format: "Coarse value: %@", coarseValue))
print(String(format: "Lock window: %@", lockWindow))
- (void)adjustConversionValueUpdated:(NSNumber *)conversionValue {
NSLog(@"Conversion value updated callback called!");
NSLog(@"Conversion value: %@", conversionValue);
- (void)adjustConversionValueUpdated:(NSNumber *)fineValue
coarseValue:(NSString *)coarseValue
lockWindow:(NSNumber *)lockWindow {
NSLog(@"Conversion value updated callback called!");
NSLog(@"Conversion value: %@", conversionValue);
NSLog(@"Coarse value: %@", coarseValue);
NSLog(@"Lock window: %@", lockWindow);
SDK v5では、これら2つのメソッドは、型付けされていない辞書を返す単一のadjustSkanUpdatedWithConversionDataメソッドに置き換えられました。現在サポートされているキーは以下の通りです:
conversion_value: 更新されたconversion value
coarse_value: 更新された粗いconversion value
lock_window: コンバージョン期間が終了する前にポストバックを送信するかどうか
error: 更新によって返されたエラーメッセージ
func adjustSkanUpdated(withConversionData data: [String: String]) {
print("Conversion value updated callback called!")
print(String(format: "Conversion value dictionary: \n%@", data.description))
- (void)adjustSkanUpdatedWithConversionData:(NSDictionary<NSString *, NSString *> *)data {
NSLog(@"Conversion value updated callback called!");
NSLog(@"Conversion value dictionary: \n%@", data.description);
アプリシークレットを設定
SDK v4では、ADJConfigインスタンスのsetAppSecretメソッドを呼び出して、SDKトラフィックの署名に使用するアプリシークレットを設定することができます。
adjustConfig.setAppSecret(secretId, info1: info1, info2: info2, info3: info3, info4: info4)
[adjustConfig setAppSecret:secretId info1:info1 info2:info2 info3:info3 info4:info4];
SDK v5では、この設定はご利用いただけません。
削除されたプラグイン
SDK v5では以下のプラグインが削除されました:
- Criteo
- Trademob
- Sociomantic