ディープリンクのサポート
ディープリンクは、アプリ内の特定のコンテンツにユーザーを誘導するURLです。アプリがすでにインストールされているデバイスでユーザーがディープリンクをタップすると、アプリは目的の製品ページやエクスペリエンスに直接開きます。Singularトラッキングリンクは、ディープリンクとディファードディープリンクの両方をサポートしています。詳しくは、ディープリンクFAQと シンギュラーリンクFAQをご覧ください。
必要条件
-
Singular Links Prerequisitesを完了してください。
実装
iOSのAppDelegateを更新する。
iOSの前提条件
Singular SDKがiOSアプリの起動関連データを処理し、ディープリンクを扱えるようにするには、AppDelegate.m ファイルでlaunchOptions とuserActivity オブジェクトをSingular SDKに渡す必要があります。iOSが提供するこれらのオブジェクトには、アプリの起動方法と起動理由に関する重要な情報が含まれており、Singularはこれをアトリビューショントラッキングとディープリンクナビゲーションに使用します。
// Top of the AppDelegate.m
#import <Singular-React-Native/SingularBridge.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Add inside didFinishLaunchingWithOptions
[SingularBridge startSessionWithLaunchOptions:launchOptions];
return YES;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
[SingularBridge startSessionWithUserActivity:userActivity];
return YES;
}
AndroidのMainActivityを更新する
Androidの前提条件
Singular SDKがAndroidアプリの起動関連データを処理し、ディープリンクを処理できるようにするには、MainActivity ファイルを修正して、Intent オブジェクトをSingular SDKに渡す必要があります。Androidシステムから提供されるIntent オブジェクトには、アプリの起動方法と起動理由に関する情報が含まれており、Singularはこれをアトリビューショントラッキングとディープリンクナビゲーションに使用します。
// Add as part of the imports at the top of the class
import android.content.Intent;
import net.singular.react_native.SingularBridgeModule;
// Add to the MainActivity class
@Override
public void onNewIntent(Intent intent) {
if(intent.getData() != null) {
setIntent(intent);
super.onNewIntent(intent);
SingularBridgeModule.onNewIntent(intent);
}
}
// Add as part of the imports at the top of the class
import android.content.Intent
import net.singular.react_native.SingularBridgeModule
// Add to the MainActivity class
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
if (intent.data != null) {
setIntent(intent)
SingularBridgeModule.onNewIntent(intent)
}
}
SingularConfig オブジェクトを更新する
-
コールバックを withSingularLinkコールバックをSingularConfigオブジェクトに追加します。
注: withSingularLink は、アプリがSingular Linkを通じて開かれた場合にのみトリガーされます。詳細については、(Singular Links FAQを参照してください)を参照してください。
withSingularLinkコールバックの動作に関する注意事項:
-
新規インストールでは、アプリの起動時にOpen URLがありません。そのため、Singularは最後のタッチポイントへのアトリビューションを完了し、トラッキングリンクに設定されたディープリンクまたはディファードディープリンク(DDL)値が含まれているかどうかを判断する必要があります。このプロセスは、Singular SDKが最初のセッションをSingularサーバーに送信するときに発生します。該当する場合、ディープリンク値はSDKのwithSingularLinkコールバックに返され、「deeplink」パラメータに表示されます。
このシナリオをテストするには
- デバイスからアプリをアンインストールします(現在インストールされている場合)。
- Google Advertising ID (GAID)をリセットします。
- 端末からSingularトラッキングリンクをクリックします。Singularトラッキングリンクにディープリンク値が設定されていることを確認します。
- アプリをインストールして開きます。
プロのヒント異なるパッケージ名(例えば、com.example.prod の代わりにcom.example.dev )を持つアプリの開発バージョンでディープリンクまたは遅延ディープリンクをテストする場合、トラッキングリンクが本番アプリのパッケージ名ではなく、開発アプリのパッケージ名専用に設定されていることを確認してください。さらに、デバイス上でテストリンクをクリックした後、アプリストアから本番アプリをダウンロードするのではなく、開発ビルドをテストデバイスに直接インストールしてください(Android StudioやAPKなど)。
アトリビュートが正常に完了し、DDL値がアプリに渡されるはずです。
- トラッキングリンクにpassthrough (_p) パラメータが含まれている場合、withSingularLink コールバックのパススルーパラメータには対応するデータが含まれます。これは、アプリでクリックからの追加データを取得するのに便利です。
- トラッキングリンクのURLからすべてのクエリパラメータを取得するには、_forward_params=2 パラメータをトラッキングリンクに追加します。すべてのクエリパラメータは、withSingularLink コールバックのdeeplinkパラメータに含まれます。
- アプリがすでにインストールされている場合、Singularリンクをクリックするとアプリが開きます。SingularはAndroid App Linksテクノロジーを使ってこれを実現します。Android OSはSingularトラッキングリンク全体を含むOpen URLを提供します。SDKの初期化中に、Singular SDKはAndroidIntent を解析し、ディープリンクと パススルーの値を抽出し、withSingularLink コールバックを通して返します。