adjust-icon

ディープリンク

ディープリンクを作成して、ユーザーをアプリ内の特定の場所に誘導します。Adjust SDKは、ユーザーがデバイスにアプリをインストール済みかどうかによって、異なるロジックを使用します。

  • ダイレクトディープリンクは、ユーザーがアプリをすでにデバイスにインストールしている場合に使用されます。そのリンクは、リンクで指定されたページにユーザーをリダイレクトします。
  • ディファードディープリンクは、ユーザーがアプリをデバイスにインストールしていない場合に使用されます。そのリンクは、ユーザーをアプリストアに送り、アプリを先にインストールしてもらいます。ユーザーがアプリをインストールすると、リンクで指定されたページが開きます。

SDKは、ユーザーがリンクからアプリを起動した後にディープリンクの情報を読み取ることができます。

ディープリンクの設定

ユーザーがアプリをインストールしている場合、ユーザーがディープリンク情報を含むリンクをクリックするとアプリが起動します。Adjust SDKには、ディープリンク情報を解析してアプリ全体で利用するためのツールが備わっています。アプリのディープリンクを設定するには、一意のスキーム名を選択し、指定されたハンドラーメソッドに割り当てる必要があります。これを行うには、以下の手順に従ってください。

  1. ソリューション エクスプローラー を開きます。
  2. Package.appxmanifestをダブルクリックし、マニフェストデザイナーを開きます。
  3. Declarationsタブ を選択します。
  4. Available Declarations —> Protocol を選択し、 Add を選択します。
  5. URIスキームの名前を選択します。URIスキーム名は 小文字 でなければなりません。
  6. Ctrl+S を押して変更を保存します。

Package.appxmanifestの設定のスクリーンショット

次に、OnActivatedイベントハンドラーを設定する必要があります。これは有効化されたディープリンクイベントを処理します。これを設定するには、以下をApp.xaml.csファイルに追加してください。

App.xaml.cs
// ...
protected override void OnActivated(IActivatedEventArgs args) {
if (args.Kind == ActivationKind.Protocol) {
var eventArgs = args as ProtocolActivatedEventArgs;
if (eventArgs != null) {
// to get deep link URI:
Uri deeplink = eventArgs.Uri;
// ...
}
}
base.OnActivated(args);
}
// ...

deep_linkパラメーターに 一意のスキーム名 が含まれるリンクをユーザーがクリックすると、アプリが起動します。この値はURLでエンコードされている必要があります。Adjust SDKは結果をエンコードされていないテキストとして提供します。

ディファードディープリンク

プロパティ宣言
public Func<Uri, bool> DeeplinkResponse { get; set; }

Adjust SDKがディファードディープリンクを受け取った際に、デリゲート関数を呼び出すように設定することができます。このデリゲート関数は、ディープリンクをstring引数で受け取ります。SDKがAdjustのサーバーからディープリンクコンテンツを受け取ると、SDKはデリゲート関数を介してそれを配信し、boolの戻り値を受け取ります。この値は、SDKがOnActivatedイベントハンドラーを起動する必要があるかどうかを表します。

var adjustConfig = new AdjustConfig(appToken, environment,
msg => System.Diagnostics.Debug.WriteLine(msg), LogLevel.Verbose);
adjustConfig.DeeplinkResponse = deepLinkUri =>
{
if (ShouldAdjustSdkLaunchTheDeeplink(deepLinkUri))
{
return true;
}
else
{
return false;
}
};
Adjust.ApplicationLaunching(adjustConfig);
// ...
メソッドシグネチャー
public static void AppWillOpenUrl(Uri uri);

ユーザーをリアトリビュートするには、アプリ内でAdjust SDKにもう1つのコールをする必要があります。アプリがディープリンクのコンテンツを受け取るときに、appWillOpenUrl(Uri, Context)メソッドにコールを追加してください。その後、Adjust SDKはディープリンク内で新しいアトリビューションデータを探します。SDKが新しい情報を見つけると、リアトリビューションのためにAdjustサーバーにその情報を転送します。

Adjustのディープリンクをクリックしたためにユーザーをリアトリビューションする必要がある場合、アトリビューションコールバックがトリガーされます。

アプリのOnActivatedメソッドにAdjust.AppWillOpenUrlを呼び出す必要があります。

using AdjustSdk;
public partial class App : Application
{
protected override void OnActivated(IActivatedEventArgs args) {
if (args.Kind == ActivationKind.Protocol) {
var eventArgs = args as ProtocolActivatedEventArgs;
if (eventArgs != null) {
Adjust.AppWillOpenUrl(eventArgs.Uri);
}
}
//...
}
}