Adjust iOS SDKを実装することで、アトリビューションやイベントなどのさまざまなデータをWebアプリで記録できます。このガイドでは、Adjust SDKをアプリに実装する方法を紹介します。
1. プロジェクトにSDKを追加する iOSアプリでAdjust SDKを使うには、Xcodeプロジェクトに追加する必要があります。
Swift Package Managerを使ってSDKを追加するには、以下の手順に従ってください。
File --> Swift Packages --> Add Package Dependency を選択します。表示されたボックスに、SDKのGitHubのアドレスを入力します。 https://github.com/adjust/ios_sdk
Version ドロップダウンで、使用したいAdjust SDKのバージョンを選択します。最新のパージョンはリリースページ からご確認ください。その他のインストール方法 To add the SDK using Cocoapods, specify the version you want to use in your Podfile
:
# Get pod from repository
アプリでWeb viewを使用している場合は、以下のようにAdjust Web Bridgeを追加します。
pod 'Adjust/AdjustWebBridge' , '~> 5.0.1'
To add the SDK using Carthage, add the following to your Cartfile
:
2. Adjust SDKを実装する Adjust SDKをXcode
プロジェクトに追加したら、それをアプリで実装する必要があります。
プロジェクトファイルに関連するimport statement(インポートステートメント)を追加します。
To import the Adjust SDK, add the following to your bridging header file:
To import the Adjust SDK, add the following to your AppDelegate.h
file:
#import <AdjustSdk/AdjustSdk.h>
3. iOS frameworksを追加する Adjust SDKは、特定のデバイス情報にアクセスするためにフレームワークに依存しています。この情報を読み取れるようにするには、フレームワークを追加してそれらを オプション として表示します。
Framework 説明 注意 AdSupport.framework
デバイスのIDFAにアクセスできるようにします。また、iOS 14以前のデバイスでLAT情報にアクセスできるようになります。 アプリが「子供向け」カテゴリーをターゲットにしている場合、このフレームワークは追加しないでください。 AdServices.framework
ASAアトリビューションを処理します。 StoreKit.framework
SKAdNetworkフレームワークにアクセスできるようにします。 iOS14以降のデバイスでAdjust SDKがSKAdNetworkとの通信を処理するために必要です。 AppTrackingTransparency.framework
Adjust SDKがユーザーのATT同意ダイアログをラップし、iOS 14以降のデバイスで同意レスポンスにアクセスできるようにするために必要です。 アプリが「子供向け」カテゴリーをターゲットにしている場合、このフレームワークは追加しないでください。 WebKit.framework
アプリでWeb viewを使用できるようにします。 アプリがWeb viewを使用している場合にのみ必要です。
4. SDKシグネチャーを設定する If you want to use the SDK signature library to secure communications between the Adjust SDK and Adjust's servers, follow the instructions in the SDK signature guide on the Adjust Help Center .
5.(オプション)Adjust Web Bridgeを設定する アプリがWeb viewを使用している場合、Adjust Web Bridgeを設定してWeb view内のアクティビティを記録する必要があります。
AdjustBridge
をアプリに実装する プロジェクトナビゲータにて:
View Controllerのソースファイルを開きます。 ファイルの最上部にimport
ステートメントを追加します。 Web View DelegateのviewDidLoad
またはviewWillAppear
メソッドのAdjustBridge
に以下のコールを追加します。 func viewWillAppear ( _ animated: Bool ) {
let webView = WKWebView ( frame : view.bounds)
// add var adjustBridge: AdjustBridge? on your interface
adjustBridge. loadWKWebViewBridge (webView)
#import "<AdjustSdk/AdjustSdk.h>"
- ( void )viewWillAppear:( BOOL )animated {
WKWebView * webView = [[WKWebView alloc ] initWithFrame:self .view.bounds];
// add @property (nonatomic, strong) AdjustBridge *adjustBridge; on your interface
[ self .adjustBridge loadWKWebViewBridge: webView];
AdjustBridge
をWeb viewに実装する Web viewでJavascriptを使用するには、bridgeを設定する必要があります。Adjust iOSのWeb bridgeを初期化するには、以下のJavascriptコードを追加してください。
var yourAppToken = yourAppToken;
var environment = AdjustConfig.EnvironmentSandbox;
var adjustConfig = new AdjustConfig (yourAppToken, environment);
Adjust. initSdk (adjustConfig);
6. Adjust SDKを初期化する Adjust SDKを初期化するには、configオブジェクトを作成する必要があります。このオブジェクトには、Adjust SDKの動作をコントロールする設定オプションが含まれています。最小限の設定を行うために、以下の引数をパスします。
appToken
: アプリトークン 。environment
: SDKを実行したい環境。ADJEnvironmentSandbox
に設定します。ConfigオブジェクトでAdjust SDKを初期化:
アプリデリゲートのdidFinishLaunching
またはdidFinishLaunchingWithOptions
メソッド内のconfigオブジェクトを宣言します。 ConfigオブジェクトのlogLevel
プロパティをADJLogLevelVerbose
(verbose)に設定します。デバイス情報を取得するには、verboseロギングを有効化する必要があります。 Configオブジェクトを引数としてinitSdk
メソッドにパスします。 func application ( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any ] ? ) -> Bool {
// Override point for customization after application launch.
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox
let adjustConfig = ADJConfig ( appToken : yourAppToken,
environment : environment)
Adjust. initSdk (adjustConfig)
#import <AdjustSdk/AdjustSdk.h>
- ( BOOL )application:(UIApplication * )application didFinishLaunchingWithOptions:( NSDictionary * )launchOptions {
NSString * yourAppToken = @"{YourAppToken}" ;
NSString * environment = ADJEnvironmentSandbox;
ADJConfig * adjustConfig = [[ADJConfig alloc ] initWithAppToken: appToken
environment: environment];
[Adjust initSdk: myAdjustConfig];
var yourAppToken = yourAppToken;
var environment = AdjustConfig.EnvironmentSandbox;
var adjustConfig = new AdjustConfig (yourAppToken, environment);
Adjust. initSdk (adjustConfig);
iMessageアプリを設定する アプリがiMessageをターゲティングしている場合、いくつか追加の設定を行う必要があります。
ソースからAdjust SDKを追加した場合、ADJUST_IM=1
プリプロセッサマクロをiMessageプロジェクトの設定に追加してください。 Adjust SDKをフレームワークとして追加した場合、 ビルドフェーズ プロジェクト設定で 新規コピーファイルフェーズ(New Copy Files Phases) を追加します。AdjustSdkIm.framework
をフレームワークフォルダーにコピーするように設定してください。 セッションを記録する Adjust SDKはiMessageアプリのiOSシステム通知を受け取りません。アプリがフォアグラウンドに入った、またはフォアグラウンドから離れたことをAdjust SDKに通知するには、trackSubsessionStart
とtrackSubsessionEnd
メソッドを呼び出す必要があります。
didBecomeActiveWithConversation:
メソッド内でtrackSubsessionStart
へのコールを追加します。
func didBecomeActive ( with conversation: MSConversation) {
// Called when the extension is about to move from the inactive to active state.
// This will happen when the extension is about to present UI.
// Use this method to configure the extension and restore previously stored state.
Adjust. trackSubsessionStart ()
- ( void )didBecomeActiveWithConversation:(MSConversation * )conversation {
// Called when the extension is about to move from the inactive to active state.
// This will happen when the extension is about to present UI.
// Use this method to configure the extension and restore previously stored state.
[Adjust trackSubsessionStart ];
willResignActiveWithConversation:
メソッド内でtrackSubsessionEnd
へのコールを追加します。
func willResignActive ( with conversation: MSConversation) {
// Called when the extension is about to move from the active to inactive state.
// This will happen when the user dismisses the extension, changes to a different
// conversation or quits Messages.
// Use this method to release shared resources, save user data, invalidate timers,
// and store enough state information to restore your extension to its current state
// in case it is terminated later.
Adjust. trackSubsessionEnd ()
- ( void )willResignActiveWithConversation:(MSConversation * )conversation {
// Called when the extension is about to move from the active to inactive state.
// This will happen when the user dismisses the extension, changes to a different
// conversation or quits Messages.
// Use this method to release shared resources, save user data, invalidate timers,
// and store enough state information to restore your extension to its current state
// in case it is terminated later.
[Adjust trackSubsessionEnd ];
Configオブジェクトと初期化ロジックを追加したら、Adjust SDKを設定してアプリの様々な部分に関する情報を記録することができます。設定ガイド と機能ガイド を参照し、記録したいデータを正確に設定してください。
8. Adjust SDKをテストする アプリの情報を記録するようにAdjust SDKを設定したら、次はテストを行います。Adjustは、アプリのテストに役立つテストコンソール とデバイスAPI を提供しています。
テストガイド に従って、Adjustがアプリから想定どおりの値を受け取ることを確認してください。
9. 本番用にアプリをビルドする テストが終わったら、本番用にアプリをビルドできます。そのためには、configオブジェクトを更新する必要があります。
以下の値を更新します。
environment
: ADJEnvironmentProduction
に設定します。logLevel
: ログレベル を選択するか、configプロジェクトにallowSuppressLogLevel
引数をパスしてログを完全に無効化します。 func application ( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any ] ? ) -> Bool {
// Override point for customization after application launch.
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentProduction
let adjustConfig = ADJConfig (
environment : environment,
adjustConfig ? .logLevel = ADJLogLevel.verbose
Adjust. initSdk (adjustConfig)
#import <AdjustSdk/AdjustSdk.h>
- ( BOOL )application:(UIApplication * )application didFinishLaunchingWithOptions:( NSDictionary * )launchOptions {
NSString * yourAppToken = @"{YourAppToken}" ;
NSString * environment = ADJEnvironmentSandbox;
ADJConfig * adjustConfig = [[ADJConfig alloc ] initWithAppToken: appToken
[adjustConfig setLogLevel: ADJLogLevelVerbose];
[Adjust initSdk: adjustConfig];
Xcode
のビルドフラグを使用して、debug buildと本番ビルドのどちらを作成するかに応じて、動的に設定を更新することができます。
func application ( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any ] ? ) -> Bool {
// Override point for customization after application launch.
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox
let adjustConfig = ADJConfig (
environment : environment)
adjustConfig ? .logLevel = ADJLogLevel.verbose
let environment = ADJEnvironmentProduction
let adjustConfig = ADJConfig (
environment : environment)
adjustConfig ? .logLevel = ADJLogLevel.suppress
Adjust. initSdk (adjustConfig)
#import <AdjustSdk/AdjustSdk.h>
- ( BOOL )application:(UIApplication * )application didFinishLaunchingWithOptions:( NSDictionary * )launchOptions {
NSString * yourAppToken = @"{YourAppToken}" ;
NSString * environment = ADJEnvironmentSandbox;
ADJConfig * adjustConfig = [[ADJConfig alloc ] initWithAppToken: appToken
environment: environment];
[adjustConfig setLogLevel: ADJLogLevelVerbose];
NSString * environment = ADJEnvironmentProduction;
ADJConfig * adjustConfig = [[ADJConfig alloc ] initWithAppToken: appToken
environment: environment];
[adjustConfig setLogLevel: ADJLogLevelSuppress];
[Adjust initSdk: adjustConfig];