ディファードディープリンクは、ユーザーをApp Storeに誘導して、アプリをインストールした後に、アプリ内のある場所にユーザーを送ります。
仕組み
ディファードディープリンクは次のように機能します。
- ユーザーがAdjustディープリンクをクリックします。
- AdjustサーバーがユーザーをApp Storeにリダイレクトします。
- ユーザーがアプリをインストールして開きます。
- Adjustサーバーがアトリビューションを実行し、ディープリンクがAdjust SDKに送られます。
- アプリには、必要に応じて、オンボーディング画面やユーザーログインなどのコンテンツが表示されます。
- アプリがAdjust SDKからディープリンクを取得し、ディープリンクを処理します。
設定
アプリでディファードディープリンクを設定する方法には、次の2つがあります。
- Adjustのサーバーが、ディファードディープリンクをAdjust SDKに自動的にパスします。ユーザーがアプリを開くと、Adjust SDKはそのディープリンクを使用して
open(_:options:completionHandler:)
メソッドを自動的に呼び出します。アプリにオンボーディング画面やユーザーログインなどのコンテンツがない場合、またはディープリンクを開く前にアプリがすでにこのコンテンツを処理している場合は、これ以上の設定は不要です。このセクションの残りの部分はスキップすることができます。 - アプリにオンボーディング画面やユーザーログインなどのコンテンツがあり、ディープリンクを開く前にアプリがこのコンテンツをまだ処理していない場合、ディファードディープリンクのリスナーを追加することができます。
ディファードディープリンクのリスナーを設定する
- ディファードディープリンクのデリゲートコールバックを設定します。アトリビューションコールバックをすでに設定している場合は、この手順をスキップできます。
class AppDelegate: UIResponder, UIApplicationDelegate, AdjustDelegate {}
@interface AppDelegate : UIResponder <UIApplicationDelegate, AdjustDelegate>
- まだ設定していない場合、
ADJConfig
クラスのインスタンスを作成し、アプリデリゲートでADJConfig
オブジェクトにデリゲートを設定します。SDKを初期化する前に、ADJConfig
デリゲートを設定する必要があります。
let yourAppToken = "{YourAppToken}"let environment = ADJEnvironmentSandbox as? Stringlet adjustConfig = ADJConfig( appToken: yourAppToken, environment: environment)adjustConfig?.delegate = self
// ...
Adjust.appDidLaunch(adjustConfig)
*adjustConfig = [ADJConfig configWithAppToken:@"{YourAppToken}" environment:ADJEnvironmentSandbox];[adjustConfig setDelegate:self];
// ...
[Adjust appDidLaunch:adjustConfig];
- ディファードディープリンクのコールバックメソッド
adjustDeeplinkResponse
をデリゲートに追加します。Adjust SDKは、ディファードディープリンクを受け取った後にこのメソッドを呼び出します。- ディープリンク処理コードを設定します。
adjustDeeplinkResponse
メソッドの戻り値をtrueまたはfalseに設定します。これは、ディープリンク処理コードの実行後にAdjust SDKでopen(_:options:completionHandler:)
メソッドを呼び出してディープリンクを開くかどうかを示します。
func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { // add your code below to handle deep link // (for example, show onboarding screens, then open deep link content) // deeplink object contains the deep link
return false}
- (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink { // add your code below to handle deep link // (for example, show onboarding screens, then open deep link content) // deeplink object contains the deep link
return NO;}
Adjust LinkMeを設定する
@property (nonatomic, assign) BOOL linkMeEnabled;
AdjustのLinkMeソリューションは、デバイスのクリップボードからディープリンク情報を読み取ることで、強力なディファードディープリンクのパフォーマンスを保証するオプション機能です。
ユーザーがLinkMeのURLをクリックすると、そのリンク情報をシステムのペーストボードにコピーするオプションがあります。Adjust SDKを使用してシステムのペーストボードを読み、ディープリンクの情報を確認することができます。ディープリンクがある場合、Adjust SDKはユーザーをアプリ内の正しいページに転送します。
アプリ内でペーストボードの確認を有効化するには、ADJConfig
オブジェクトのsetLinkMeEnabled
メソッドにtrue
値をパスしてください。
let yourAppToken = "{YourAppToken}"let environment = ADJEnvironmentSandbox as? Stringlet adjustConfig = ADJConfig( appToken: yourAppToken, environment: environment)// ...adjustConfig?.linkMeEnabled = true
NSString *yourAppToken = @"{YourAppToken}";NSString *environment = ADJEnvironmentSandbox;*adjustConfig = [ADJConfig configWithAppToken:yourAppToken environment:environment];/// ...[adjustConfig setLinkMeEnabled:YES];
setupWebViewJavascriptBridge(function (bridge) { // ... var yourAppToken = yourAppToken; var environment = AdjustConfig.EnvironmentSandbox; var adjustConfig = new AdjustConfig(yourAppToken, environment); adjustConfig.setLinkMeEnabled(true);});