adjust-icon

SDK v5移行ガイド

事前準備

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

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

ベータ版のSDKをインストールする

SDK v5をインストールする前に、まずプロジェクトから全てのSDK v4アセットとコードを削除する必要があります。

既存のプロジェクトに変更を追加したい場合は、以下の手順に従ってAdjust SDK v4の全てのアセットを削除してください。

  1. Assetsディレクトリ内の既存のAdjustインストールを削除します。

  2. XcodeプロジェクトからAdjustへの全てのリファレンスを削除します。

    • プロジェクトの Libraries セクションのAdjustディレクトリを削除します。
    • General タブを開き、 Frameworks、Libraries、Embedded Contentの 下にあるAdjust.aライブラリを削除します。
    • オプション :SDK v4では、アプリターゲットの その他のリンカーフラグ 設定で-ObjCフラグを追加します。これがSDKによって自動的に追加された場合にのみ、このフラグを削除してください。
  3. Android StudioプロジェクトでAdjustへのリファレンスを全て削除します。

    • プロジェクトのlibsディレクトリ内にあるadjust-android.jarライブラリを見つけて、削除します。

プロジェクトから全てのSDK v4アセットを削除したら、GitHubのリリースページからAdjust unitypackageをダウンロードして、プロジェクトにインポートします。

変更内容

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

SDKの名前空間

SDKの名前空間の名前がcom.adjust.sdkからAdjustSdkに変更されました。

初期化メソッド

SDK v4では、SDKはAdjustConfigオブジェクトを設定し、Adjust.start()メソッドにパスすることで初期化されます。

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
Adjust.start(adjustConfig);

SDK v5では、このメソッドの名前はAdjust.InitSdk()に変更されました。

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
Adjust.InitSdk(adjustConfig);

設定

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

ログレベルの設定

SDK v4では、 AdjustConfig.setLogLevel()メソッドにAdjustLogLevel定数をパスすることでログレベルを設定できます。

adjustConfig.setLogLevel(AdjustLogLevel.Verbose);

SDK v5では、 AdjustConfigインスタンスのLogLevelプロパティにAdjustLogLevel定数を割り当てる必要があります。

adjustConfig.LogLevel = AdjustLogLevel.Verbose;

SDKを無効化・有効化する

SDK v4では、bool値でAdjust.setEnabled()を呼び出すことで、SDKを有効化・無効化することができます。

  • SDKを無効化するには、Adjust.setEnabled(false)を呼び出します。
  • SDKを有効化するには、Adjust.setEnabled(true)を呼び出します。
Adjust.setEnabled(false); // Disable the SDK
Adjust.setEnabled(true); // Enable the SDK

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

  • SDKを無効化するには、Adjust.Disable()を呼び出します。
  • SDKを有効化するには、Adjust.Enable()を呼び出します。
Adjust.Disable(); // Disable the SDK
Adjust.Enable(); // Enable the SDK

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

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

adjustConfig.setSendInBackground(true);

SDK v5では、AdjustConfigインスタンスのIsSendingInBackgroundEnabledプロパティをtrueに設定し、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信できるようにする必要があります。

adjustConfig.IsSendingInBackgroundEnabled = true;

プリインストールアプリ計測

SDK v4では、 AdjustConfig.setPreinstallTrackingEnabledメソッドを使用して、プリインストールアプリの計測を有効にできます。

adjustConfig.setPreinstallTrackingEnabled(true);

SDK v5では、 AdjustConfigインスタンスのIsPreinstallTrackingEnabledプロパティをtrueに設定する必要があります。

adjustConfig.IsPreinstallTrackingEnabled = true;

SDK v4では、 AdjustConfig.setPreinstallFilePathメソッドを使用して、プリインストールされたアプリ情報を含むパスを設定できます。

adjustConfig.setPreinstallFilePath("path");

SDK v5では、AdjustConfigインスタンスのPreinstallFilePathプロパティに、プリインストールされたアプリ情報を含むファイルパスを設定する必要があります。

adjustConfig.PreinstallFilePath = "path";

SDK v4では、 AdjustConfig.setDefaultTracker()メソッドを使用して、デフォルトリンクトークンを設定して、プリインストールアプリのインストールを計測できます。

adjustConfig.setDefaultTracker("abc123");

SDK v5では、リンクをAdjustConfigインスタンスのDefaultTrackerプロパティに直接割り当てる必要があります。

adjustConfig.DefaultTracker = "abc123";

外部デバイスIDの設定

SDK v4では、 AdjustConfig.setExternalDeviceId()メソッドにIDをパスすることで外部デバイスIDを設定できます。

adjustConfig.setExternalDeviceId("unique-custom-device-id");

SDK v5では、 AdjustConfigインスタンスのExternalDeviceIDプロパティにIDを直接割り当てる必要があります。

adjustConfig.ExternalDeviceId = "unique-custom-device-id";

MetaアプリIDを設定する

SDK v4では、AdjustConfig.setFbAppId()メソッドを使用してPushトークンを設定できます。

adjustConfig.setFbAppId("fb-app-id");

SDK v5では、 AdjustConfigインスタンスのFbAppIdプロパティにMetaアプリIDを割り当てる必要があります。

adjustConfig.FbAppId = "fb-app-id";

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

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

adjustConfig.setAllowAdServicesInfoReading(false);

SDK v5でAdjust SDKがAdServices情報を読み取らないようにするには、 AdjustConfigインスタンスのIsAdServicesEnabledプロパティをfalseに設定する必要があります。

adjustConfig.IsAdServicesEnabled = false;

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

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

adjustConfig.setAllowIdfaReading(false);

SDK v5でAdjust SDKがデバイスのIDFAを読み取らないようにするには、 AdjustConfigインスタンスのIsIdfaReadingEnabledプロパティをfalseに設定する必要があります。

adjustConfig.IsIdfaReadingEnabled = false;

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

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

adjustConfig.setNeedsCost(true);

SDK v5でデバイスのアトリビューション情報のコストデータを有効化するには、 AdjustConfigインスタンスのIsCostDataInAttributionEnabledプロパティをtrueに設定する必要があります。

adjustConfig.IsCostDataInAttributionEnabled = true;

LinkMeを有効化する

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

adjustConfig.setLinkMeEnabled(true);

SDK v5でLinkMeを有効化するには、 AdjustConfigインスタンスのIsLinkMeEnabledプロパティをtrueに設定する必要があります。

adjustConfig.IsLinkMeEnabled = true;

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

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

adjustConfig.setReadDeviceInfoOnceEnabled(true);

SDK v5では、 AdjustConfigインスタンスのIsDeviceIdsReadingOnceEnabledプロパティをtrueに設定し、SDKがデバイスIDを1回だけ読み取るように指示する必要があります。

adjustConfig.IsDeviceIdsReadingOnceEnabled = true;

オフラインモード

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

Adjust.setOfflineMode(true);
Adjust.setOfflineMode(false);

より明確にするため、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

イベントバッファリング

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

adjustConfig.setEventBufferingEnabled(true);

この設定はSDK v5では廃止されています。

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

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

adjustConfig.setUserAgent("custom-user-agent");

この設定はSDK v5では廃止されています。

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

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

adjustConfig.setDeviceKnown(true);

この設定はSDK v5では廃止されています。

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

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

adjustConfig.setDelayTimer(10);

この設定はSDK v5では廃止されています。

記録機能

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

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

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

Adjust.addSessionCallbackParameter("key", "value");
Adjust.removeSessionCallbackParameter("key");
Adjust.resetSessionCallbackParameters();

SDK v5では、セッションパラメーターはグローバルパラメーターに改名されています。

Adjust.AddGlobalCallbackParameter("key", "value");
Adjust.RemoveGlobalCallbackParameter("key");
Adjust.RemoveGlobalCallbackParameters();

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

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

Adjust.addSessionPartnerParameter("key", "value");
Adjust.removeSessionPartnerParameter("key");
Adjust.resetSessionPartnerParameters();

SDK v5では、セッション パートナー パラメーターはグローバル パートナー パラメーターに改名されました。

Adjust.AddGlobalPartnerParameter("key", "value");
Adjust.RemoveGlobalPartnerParameter("key");
Adjust.RemoveGlobalPartnerParameters();

成功および失敗コールバック

SDK v4では、 AdjustConfig.setSessionSuccessDelegate()およびAdjustConfig.setSessionFailureDelegate()メソッドにそれぞれデリゲート関数をパスすることで、セッションの成功および失敗コールバックを設定できます。

adjustConfig.setSessionSuccessDelegate(sessionSuccessCallback); // Session success callback
adjustConfig.setFailureSuccessDelegate(sessionFailureCallback); // Session failure callback

SDK v5では、 AdjustConfigインスタンスのSessionSuccessDelegateSessionFailureDelegateプロパティを関連するデリゲート関数に設定する必要があります。

adjustConfig.SessionSuccessDelegate = sessionSuccessCallback; // Session success callback
adjustConfig.SessionFailureDelegate = sessionFailureCallback; // Session failure callback

イベントの成功と失敗のコールバックにも、同じ変更が適用されます。SDK v4では、それぞれAdjustConfig.setSessionSuccessDelegate()AdjustConfig.setSessionFailureDelegate()メソッドにデリゲート関数を渡すことで、これらが設定されます。

adjustConfig.setEventSuccessDelegate(eventSuccessCallback); // Event success callback
adjustConfig.setEventFailureDelegate(eventFailureCallback); // Event failure callback

SDK v5では、 AdjustConfigインスタンスのEventSuccessDelegateEventFailureDelegateプロパティを関連するデリゲート関数に設定する必要があります。

adjustConfig.EventSuccessDelegate = eventSuccessCallback; // Event success callback
adjustConfig.EventFailureDelegate = eventFailureCallback; // Event failure callback

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

このセクションでは、Adjust SDKのサブスクリプション送信に関する変更について説明します。

App Storeのサブスクリプション

以下のクラスプロパティは、SDK v5で直接設定する必要があります:

  • TransactionDate
  • SalesRegion

以下のセッターの名前が変更されました:

  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

変更内容の例は以下のとおりです:

AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription(
price,
currency,
transactionId,
receipt);
subscription.setTransactionDate("transaction-date");
subscription.setSalesRegion("sales-region");
subscription.addCallbackParameter("key1", "value1");
subscription.addPartnerParameter("key2", "value2");
subscription.TransactionDate = "transaction-date";
subscription.SalesRegion = "sales-region";
subscription.AddCallbackParameter("key1", "value1");
subscription.AddPartnerParameter("key2", "value2");
Adjust.trackAppStoreSubscription(subscription);

Play ストア サブスクリプション

以下のクラスプロパティは、SDK v5で直接設定する必要があります:

  • PurchaseTime

以下のセッターの名前が変更されました:

  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

変更内容の例は以下のとおりです:

AdjustPlayStoreSubscription subscription = new AdjustPlayStoreSubscription(
price,
currency,
sku,
orderId,
signature,
purchaseToken);
subscription.setPurchaseTime(purchaseTime);
subscription.addCallbackParameter("key1", "value1");
subscription.addPartnerParameter("key2", "value2");
subscription.PurchaseTime = purchaseTime
subscription.AddCallbackParameter("key1", "value1");
subscription.AddPartnerParameter("key2", "value2");
Adjust.trackPlayStoreSubscription(subscription);

AdjustEvent クラス

以下のクラスプロパティは、SDK v5で直接設定する必要があります:

  • CallbackId
  • TransactionId
  • ProductId
  • Receipt
  • PurchaseToken

以下のセッターの名前が変更されました:

  • setRevenue -> SetRevenue
  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

変更内容の例は以下のとおりです:

AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.25, "EUR");
adjustEvent.setTransactionId("random-id");
adjustEvent.setCallbackId("callback-id");
adjustEvent.setProductId("product-id");
adjustEvent.setPurchaseToken("purchase-token");
adjustEvent.setReceipt("receipt");
adjustEvent.addCallbackParameter("key", "value");
adjustEvent.addPartnerParameter("key", "value");
adjustEvent.SetRevenue(0.25, "EUR");
adjustEvent.TransactionId = "random-id";
adjustEvent.CallbackId = "callback-id";
adjustEvent.ProductId = "product-id";
adjustEvent.PurchaseToken = "purchase-token";
adjustEvent.Receipt = "base64-encoded-receipt";
adjustEvent.AddCallbackParameter("key", "value");
adjustEvent.AddPartnerParameter("key", "value");
Adjust.trackEvent(adjustEvent);

イベントの重複排除

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

adjustEvent.setTransactionId("transaction-id");

SDK v5では、この機能はtransaction IDから分離されています。イベント重複排除のため、 DeduplicationIdと呼ばれる新しいIDフィールドが追加されました。

adjustEvent.DeduplicationId = "deduplication-id";

重複したイベントを識別するために、リストに追加できるDeduplicationIdの数をカスタム制限することができます。デフォルトでは、制限は 10 に設定されています。

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
adjustConfig.EventDeduplicationIdsMaxSize = 20
Adjust.InitSdk(adjustConfig);

AdjustAttributionクラス

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

さらに、 AdjustAttributionクラスの全ての内部メンバーは公開プロパティになります。

クラスメンバー
adjustAttribution.trackerToken
adjustAttribution.trackerName
adjustAttribution.network
adjustAttribution.campaign
adjustAttribution.adgroup
adjustAttribution.creative
adjustAttribution.clickLabel
adjustAttribution.costType
adjustAttribution.costAmount
adjustAttribution.costCurrency
adjustAttribution.fbInstallReferrer
adjustAttribution.TrackerToken
adjustAttribution.TrackerName
adjustAttribution.Network
adjustAttribution.Campaign
adjustAttribution.Adgroup
adjustAttribution.Creative
adjustAttribution.ClickLabel
adjustAttribution.CostType
adjustAttribution.CostAmount
adjustAttribution.CostCurrency
adjustAttribution.FbInstallReferrer

アトリビューションがコールバックを変更

SDK v4では、 AdjustConfig.setAttributionChangedDelegate()関数にデリゲート関数を割り当てることで、デバイスのアトリビューションが変化した時にデリゲート関数を呼び出すことができます。

adjustConfig.setAttributionChangedDelegate(attributionCallback);

SDK v5では、 AdjustConfigインスタンスのAttributionChangedDelegateプロパティにデリゲート関数を割り当てる必要があります。

adjustConfig.AttributionChangedDelegate = attributionCallback;

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

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

Adjust.appWillOpenUrl("url");

SDK v5では、わかりやすくするためにAdjust.ProcessDeeplink()に改名されています。

Adjust.ProcessDeeplink("url");

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

adjustConfig.setLaunchDeferredDeeplink(true);

SDK v5でSDKがディープリンクを開くには、 AdjustConfigインスタンスのIsDeferredDeeplinkOpeningEnabledプロパティをtrueに設定する必要があります。

adjustConfig.IsDeferredDeeplinkOpeningEnabled = true;

プライバシー機能

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

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

SDK v4では、COPPAコンプライアンスAdjustConfigクラスを使用して設定され、SDKの初期化中に読み込まれます。つまり、SDKを初期化したら値を更新することはできません。

adjustConfig.setCoppaCompliantEnabled(true);

SDK v5では、このメソッドはAdjustクラスで利用可能です。つまり、Adjust.EnableCoppaCompliance()を呼び出してCOPPAコンプライアンスを有効化するか、Adjust.DisableCoppaCompliance()を呼び出してCOPPAコンプライアンスを無効化することで、いつでも設定を変更することができます。

Adjust.EnableCoppaCompliance(); // Enable COPPA compliance
Adjust.DisableCoppaCompliance(); // Disable COPPA compliance

Playストアの子供向けアプリ

SDK v4では、AdjustConfigクラスを使用してアプリをPlayストアの子供向けアプリとして表示できます。このプロパティはSDKの初期化中に読み込まれるため、SDKを初期化したら値を更新することはできません。

adjustConfig.setPlayStoreKidsAppEnabled(true);

SDK v5では、このメソッドはAdjustクラスで利用可能です。つまり、Adjust.EnablePlayStoreKidsApp()を呼び出してアプリをPlayストアの子供向けアプリとして表示するか、Adjust.DisablePlayStoreKidsApp()を呼び出してアプリをPlayストアの子供向けアプリとして表示するのを解除することで、いつでも設定を変更できます。

Adjust.EnablePlayStoreKidsApp(); // Enable Play Store Kids compliance
Adjust.DisablePlayStoreKidsApp(); // Disable Play Store Kids compliance

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

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

adjustConfig.setUrlStrategy(AdjustConfig.AdjustDataResidencyEU);

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

  • shouldUseSubdomainsbool):ソースにサブドメインのプレフィックスを付けるかどうか。
  • isDataResidencybool):ドメインをデータレジデンシーに使用するかどうか。
adjustConfig.SetUrlStrategy(new List<string id="sl-md0000000"> {"eu.adjust.com"}, true, true);

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

インド URL戦略
adjustConfig.SetUrlStrategy(new List<string id="sl-md0000000"> {"adjust.net.in", "adjust.com"}, true, false);
中国 URL戦略
adjustConfig.SetUrlStrategy(new List<string id="sl-md0000000"> {"adjust.world", "adjust.com"}, true, false);
中国限定 URL設定
adjustConfig.SetUrlStrategy(new List<string id="sl-md0000000"> {"adjust.cn"}, true, false);
EU データレジデンシー
adjustConfig.SetUrlStrategy(new List<string id="sl-md0000000"> {"eu.adjust.com"}, true, true);
トルコ データレジデンシー
adjustConfig.SetUrlStrategy(new List<string id="sl-md0000000"> {"tr.adjust.com"}, true, true);
米国 データレジデンシー
adjustConfig.SetUrlStrategy(new List<string id="sl-md0000000"> {"us.adjust.com"}, true, true);

サードパーティーとの共有に関する変更

このセクションでは、SDKバージョン5でのサードパーティ共有機能の変更について説明します。

AdjustThirdPartySharing クラスの変更点

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

  • addGranularOption -> AddGranularOption
  • addPartnerSharingSetting -> AddPartnerSharingSetting

変更内容の例は以下のとおりです:

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addGranularOption("PartnerA", "key", "value");
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);
adjustThirdPartySharing.AddGranularOption("PartnerA", "key", "value");
adjustThirdPartySharing.AddPartnerSharingSetting("PartnerA", "all", false);
Adjust.trackThirdPartySharing(adjustThirdPartySharing);

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

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

Adjust.disableThirdPartySharing()

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

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(false);
Adjust.TrackThirdPartySharing(adjustThirdPartySharing);

広告収益

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

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

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

AdjustAdRevenue adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
AdjustAdRevenue adRevenue = new AdjustAdRevenue("applovin_max_sdk");

AdjustAdRevenueクラスの変更

以下のクラスプロパティは、SDK v5で直接設定する必要があります:

  • AdImpressionsCount
  • AdRevenueNetwork
  • AdRevenueUnit
  • AdRevenuePlacement

以下のセッターの名前が変更されました:

  • setRevenue -> SetRevenue
  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

変更内容の例は以下のとおりです:

AdjustAdRevenue adRevenue = new AdjustAdRevenue("applovin_max_sdk");
adRevenue.setRevenue(6.66, "CAD");
adRevenue.setAdImpressionsCount(6);
adRevenue.setAdRevenueNetwork("network");
adRevenue.setAdRevenueUnit("unit");
adRevenue.setAdRevenuePlacement("placement");
adRevenue.addCallbackParameter("key1", "value1");
adRevenue.addPartnerParameter("key2", "value2");
adRevenue.SetRevenue(6.66, "CAD");
adRevenue.AdImpressionsCount = 6;
adRevenue.AdRevenueNetwork = "network";
adRevenue.AdRevenueUnit = "unit";
adRevenue.AdRevenuePlacement = "placement";
adRevenue.AddCallbackParameter("key1", "value1");
adRevenue.AddPartnerParameter("key2", "value2");
Adjust.trackAdRevenue(adRevenue);

SKAdNetworkとATT

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

ATTポップアップの待機インターバルを設定

SDK v4では、 AdjustConfig.setAttConsentWaitingInterval()メソッドを使用して、ATTポップアップの表示を一時停止するように設定することができます。

adjustConfig.setAttConsentWaitingInterval(66);

SDK v5では、 AdjustConfigインスタンスのAttConsentWaitingIntervalプロパティにディレイインターバルを割り当てる必要があります。

adjustConfig.AttConsentWaitingInterval = 66;

SKAdNetworkの通信を無効化する

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

AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox, true);
adjustConfig.deactivateSKAdNetworkHandling();
Adjust.start(adjustConfig);

SDK v5では、SKAdNetworkの通信を無効化するには、 AdjustConfigインスタンスのIsSkanAttributionEnabledプロパティをfalseに設定する必要があります。

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
adjustConfig.IsSkanAttributionEnabled = false;
Adjust.InitSdk(adjustConfig);

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

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

Adjust.checkForNewAttStatus();

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

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

SDK v4では、 AdjustConfig.setConversionValueUpdatedDelegate()にデリゲート関数を割り当てて、conversion valueの更新を受信することができます。

adjustConfig.setConversionValueUpdatedDelegate(ConversionValueUpdatedCallback);

SDK v5では、 AdjustConfigインスタンスのSkanUpdatedDelegateプロパティにデリゲート関数を割り当てる必要があります。

adjust.SkanUpdatedDelegate = skanUpdatedCallback;

Conversion valueを更新する

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

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

  • conversionValueint):更新されたconversion value
  • coarseValuestring):更新された粗いconversion value
  • lockWindowbool):コンバージョン期間が終了する前にポストバックを送信するかどうか
  • callback Action<string id="sl-md0000000">発生したエラーを処理できるコールバック関数
Adjust.UpdateSkanConversionValue(1, "low", false, error =>
{
// process error, if any
});

App Tracking Transparency認証ラッパー

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

Adjust.requestTrackingAuthorizationWithCompletionHandler((status) =>
{
switch (status)
{
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
});

より明確にするため、SDK v5ではAdjust.RequestAppTrackingAuthorization()に改名されました。

Adjust.RequestAppTrackingAuthorization((status) =>
{
switch (status)
{
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
});

デバイス情報を取得

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

IDFAゲッター
Adjust.GetIdfa(idfa =>
{
// use idfa
});
IDFVゲッター
Adjust.GetIdfv(idfv =>
{
// use idfv
});
ADIDゲッター
Adjust.GetAdid(adid =>
{
// use adid
});
アトリビューションゲッター
Adjust.GetAttribution(attribution =>
{
// use attribution
});
有効化ステータスゲッター
Adjust.IsEnabled(isEnabled =>
{
// use isEnabled
});
SDKバージョンゲッター
Adjust.GetSdkVersion(sdkVersion =>
{
// use sdkVersion
});
Amazon ADIDゲッター
Adjust.GetAmazonAdId(amazonAdId =>
{
// use amazonAdId
});
ラストディープリンクゲッター
Adjust.GetLastDeeplink(lastDeeplink =>
{
// use lastDeeplink
});