ディープリンクの設定 ディープリンク を作成して、ユーザーをアプリ内の特定の場所に誘導します。Adjust SDKは、ユーザーがデバイスにアプリをインストール済みかどうかによって、異なるロジックを使用します。
ダイレクトディープリンク は、ユーザーがアプリをすでにデバイスにインストールしている場合に使用されます。そのリンクは、リンクで指定された画面にユーザーをリダイレクトします。ディファードディープリンク は、ユーザーがアプリをデバイスにインストールしていない場合に使用されます。そのリンクは、ユーザーをアプリストアに送り、アプリを先にインストールしてもらいます。ユーザーがアプリをインストールすると、リンクで指定された画面が開きます。SDKは、ユーザーがリンクURLからアプリを起動した後にディープリンクの情報を読み取ることができます。
ユーザーがアプリをインストールしている場合、ユーザーがディープリンクを含むURLをクリックするとアプリが起動します。Adjust SDKには、ディープリンク情報を解析してアプリ全体で利用するためのツールが備わっています。
ディープリンクは、アプリレベルで設定する必要があります。使用するプラットフォームに合わせて、以下のリンク先のディープリンク設定手順に従ってください。
Adjustはディープリンクを使ったリエンゲージメントキャンペーンをサポートしています。詳しくは、アトリビューションデータをディープリンクに追加する方法 をご覧ください。
ユーザーをリアトリビュートするには、アプリ内でAdjust SDKにもう1つのコールをする必要があります。アプリがディープリンクのコンテンツを受け取る時に、appWillOpenUrl(Uri, Context)
メソッドにコールを追加してください。
全て展開する
import Adjust
class AppDelegate {
func application(application:UIApplication!, didFinishLaunchingWithOptions launchOptions:NSDictionary!) -> Bool {
GeneratedPluginRegistrant.registerWithRegistry(self)
// Override point for customization after application launch.
return super.application(application,didFinishLaunchingWithOptions:launchOptions)
}
func application(application:UIApplication!, openURL url:NSURL!, sourceApplication:String!, annotation:AnyObject!) -> Bool {
Adjust.appWillOpenUrl(url)
return true
}
func application(application:UIApplication!, continueUserActivity userActivity:NSUserActivity!, restorationHandler:([AnyObject]!)->Void) -> Bool {
if (userActivity.activityType() == NSUserActivityTypeBrowsingWeb) {
Adjust.appWillOpenUrl(userActivity.webpageURL())
}
return true
}
}
import com.adjust.sdk.flutter.AdjustSdk
import io.flutter.embedding.android.FlutterActivity
// Used for post flutter 1.12 Android projects
//import io.flutter.app.FlutterActivity
class MainActivity : FlutterActivity() {
// Either call make the call in onCreate.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// GeneratedPluginRegistrant.registerWith(this)
// Used only for pre flutter 1.12 Android projects
Intent intent = getIntent()
Uri data = intent.getData()
AdjustSdk.appWillOpenUrl(data,this)
}
// Or make the call in onNewIntent.
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
Uri data = intent.getData()
AdjustSdk.appWillOpenUrl(data,this)
}
}
SDKはデフォルトでディファードディープリンクを開きます。これはConfigオブジェクトのlaunchDeferredDeeplink
プロパティを true に設定することによって設定できます。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.launchDeferredDeeplink= true;
//...
Adjust.start(adjustConfig);
Adjust SDKがディファードディープリンクを受け取った際に、関数を呼び出すように設定することができます。この関数は、ディープリンクを 文字列 の引数で受け取ります。
AdjustConfig adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.deferredDeeplinkCallback = (String uri) {
print('[Adjust]: Received deferred deeplink: ' + uri);
};
Adjust.start(adjustConfig);
この例では、ユーザーがディファードディープリンクを開いた時に、AdjustがディープリンクURLをログに記録しています。
import 'package:adjust_sdk/adjust.dart';
import 'package:adjust_sdk/adjust_config.dart';
initPlatformState() async {
AdjustConfig config =
new AdjustConfig('2fm9gkqubvpc', AdjustEnvironment.sandbox);
config.logLevel = AdjustLogLevel.verbose;
config.deferredDeeplinkCallback= (String?uri) {
print('[Adjust]: Received deferred deeplink: ' + uri!);
};
Adjust.start(config);
}
Adjust SDKでは、デバイスのペーストボードからディープリンクの情報をコピーすることが可能です。AdjustのLinkMeソリューション を組み合わせることで、iOS 15以降のデバイスでディファードディープリンクを有効化することができます。
Adjust SDKは、ユーザーがアプリを初回起動した際にペーストボードを確認します。デバイスは、ユーザーのアプリに、ペーストボードの読み取りを許可するかどうかを尋ねるダイアログを表示します。
ユーザーがLinkMeのURLをクリックすると、そのリンク情報をシステムのペーストボードにコピーするオプションがあります。Adjust SDKを使用してシステムのペーストボードを読み、ディープリンクの情報を確認することができます。ディープリンクがある場合、SDKはユーザーをアプリ内の正しいページに転送します。
アプリ内でペーストボードの確認を有効化するには、ConfigオブジェクトのlinkMeEnabled
プロパティを true に設定します。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);
//...
adjustConfig.linkMeEnabled= true;
//...
Adjust.start(adjustConfig);