Unreal Engine SDK:ディープリンクの実装

はじめに

ディープリンクは、アプリ内の特定のコンテンツにつながるリンクです。アプリがインストールされたデバイス上でユーザーがディープリンクをクリックすると、アプリが開き、特定の商品や体験が表示されます。

シンギュラートラッキングリンクは、ディープリンクだけでなく、ディファードディープリンクも含むことができます(詳しくはディープリンクFAQと シンギュラートラッキングリンクFAQをご覧ください)。

以下の手順で方法を説明します:

  1. アプリを開くきっかけとなったトラッキングリンクにアクセスする、
  2. ディープリンク先を読み取る
  3. 適切なコンテンツを表示する。

注意事項

  • この記事は、あなたの組織がSingular Links(2019年に発表されたSingularの新しいトラッキングリンク技術)を使用していることを前提としています。Singularの古いお客様は、Singularの古いトラッキングリンク(レガシーリンク)を使用している可能性があります。 レガシーリンクでのディープリンクをサポートするには、レガシーリンクでのディープリンクの処理を参照してください。
  • アプリのディープリンク先は、Singularのアプリページで 設定する必要があります(ディープリンクURLの設定を参照)。

ディープリンクの前提条件

iOSおよびAndroidのセットアップ

Singular Links Prerequisitesの指示に従って、ディープリンクを有効にします。

ディープリンクの処理

Singular SDKは、アプリを開くきっかけとなったトラッキングリンクの詳細を読み取るハンドラメカニズムを提供します。

ハンドラを使用するには

  1. OnSingularLinkResolvedインターフェースを実装します。
  2. Singular SDKを初期化する前にOnSingularLinkResolvedデリゲートに登録し、クラスをディープリンクのハンドラーとして登録します。
  3. Singular SDKを初期化すると、トラッキングリンクを取得し、OnSingularLinkResolvedメソッドを呼び出し、トラッキングリンクの詳細を渡します。リンクの詳細を読み込んで処理するには、このメソッドをオーバーライドします。

以下のサンプルコードは3つのステップを示しています:


  // アプリの include セクションに追加します
  #include "SingularLinkParams.h"
  #include "SingularDelegates.h"
  
  // このメソッドをクラスに追加します
  void YourClass::SingularLinksResolved(const FSingularLinkParams& linkParams) { 
const FString deeplink = linkParams.SingularLinksParams["deeplink"]; const FString passthrough = linkParams.SingularLinksParams["passthrough"]; const bool isDeferred = linkParams.SingularLinksParams["isDeferred"]; } ... // 初期化を呼び出す前にこのコードを呼び出します USingularDelegates* singularDelegates = CreateDefaultSubobject<USingularDelegates>(TEXT("SingularLinksHandler")); singularDelegates->OnSingularLinksResolved.AddDynamic(this, &YourClass::SingularLinksResolved); ...
SingularLinksResolved メソッドの詳細
説明 Singular Linksの コールバックメソッドです。トラッキングリンクの詳細を読み込んで処理します。
シグネチャ
public void OnSingularLinksResolved(const FSingularLinkParams& linkParams)

注意: FSingularLinkParams オブジェクトには以下の値が含まれます:

  • Deeplink - Singular プラットフォームの Manage Links ページで設定されたディープリンク先。
  • Passthrough - リンクに追加されたパススルーパラメータ(もしあれば)。
  • IsDeferred - リンクが遅延ディープ リンクとして設定されているか。