基本的な統合

ドキュメント

アンリアル エンジン SDK 統合ガイド

開発者向けガイド 開発者向けガイド変更履歴
前提条件
互換性 アンリアル エンジン 4.23 以上
インテグレーション ガイド
  1. 基本的なインテグレーション
  2. イベントと収益のトラッキング
  3. ディープリンクの実装
  4. SKAdNetwork サポートの追加
  5. 詳細オプション

SDKのインストール

SDKをインストールするには

  1. SDKアーカイブをダウンロードし、解凍します。
  2. SingularSDKフォルダをアプリのPluginsフォルダにコピーします。
  3. アプリのBuild.csファイル(<YOUR_APP>.Build.cs)のPublicDependencyModuleNames配列にSingularSDKを依存関係として追加します:

    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject",
      "Engine", "InputCore", "SingularSDK" });

SDKの初期化

:Singular SDKを実装する際には、GDPR、CCPA、COPPAなど、ビジネスを行う地域で制定されている様々なプライバシー法を遵守することを忘れないでください。詳しくはSDKのオプトインとオプトアウトをご覧ください。

SDK初期化コードは、アプリを開くたびに呼び出す必要があります。これはSingularのすべてのアトリビューション機能の前提条件であり、またユーザー保持の計算に使用される新しいセッションをSingularに送信します。SDKの初期化は、アプリの実行のできるだけ早い段階で行うことをお勧めします。

SDKを初期化するには、SingularSDKBPLibraryクラスのInitializeメソッドを呼び出します:

Initialize メソッド
説明 Singular SDKを初期化し、ユーザーセッションをSingularサーバーに送信します。
署名
static bool Initialize(FString sdkKey, FString sdkSecret,
       int sessionTimeout = 60,
       FString customUserId = TEXT(""),
       bool skAdNetworkEnabled = true,
       bool manualSkanConversionManagement = false,
       int waitForTrackingAuthorizationWithTimeoutInterval = 0,
       bool oaidCollection = false);
使用例
#include "SingularSDKBPLibrary.h"
  
  [...]
  
  USingularSDKBPLibrary::Initialize("SDK KEY", "SDK SECRET");
  

メソッドのパラメータ

パラメータ 必須か? 説明 デフォルト
SDKキー これらのキーを取得するには、Singularアカウントにログインし、"Developer Tools > SDK Integration > SDK Keys"に進みます。
sdkSecret

セッションタイムアウト

カスタムセッションタイムアウトを設定します(秒単位)。 60
カスタムユーザーID ユーザーIDをSingularに送信します。詳細は後述
waitForTrackingAuthorization WithTimeoutInterval (iOS)ユーザーがデバイス識別子データの共有に同意するか拒否するまで、Singularへのセッション/イベントの送信を遅らせます。詳細は以下をご覧ください。 False
skAdNetworkEnabled (iOS) Singularにユーザーのコンバージョン値を追跡させるためにTrueに設定します。詳しくはSingularのSKAdNetworkソリューションの紹介をご覧ください。 False
マニュアルSkanConversion管理 (iOS)SKAdNetworkのコンバージョン値を手動で管理したい場合、Trueに設定します(コード内で自分で設定・更新します)。詳しくはSingularのSKAdNetworkソリューションの紹介を ご覧 ください。 False
oaidCollection (Android)デバイスのOAIDを収集するにはtrueを設定します。 False


ユーザーIDの設定

Singular SDKのメソッドを使用して、内部ユーザーIDをSingularに送信できます。

注意: Singularのクロスデバイスソリューションを使用する場合は、すべてのプラットフォームでユーザーIDを収集する必要があります。

  • ユーザーIDはどのような識別子でもかまいませんが、PII(個人を特定できる情報)を公開すべきではありません。例えば、ユーザーのメールアドレス、ユーザー名、電話番号は使用しないでください。Singularは、お客様のファーストパーティデータにのみユニークなハッシュ値を使用することを推奨します。
  • Singularに渡すユーザーIDは、すべてのプラットフォーム(ウェブ/モバイル/PC/コンソール/オフライン)で同じ内部ユーザーIDを使用する必要があります。
  • Singularはユーザーレベルのエクスポート、ETL、内部BIポストバック(設定されている場合)にユーザーIDを含めます。ユーザーIDはファーストパーティデータであり、Singularが他者と共有することはありません。
  • ユーザーIDの値は、Singular SDKメソッドで設定されると、UnsetCustomUserId メソッドで設定が解除されるまで、またはアプリがアンインストールされるまで保持されます。アプリを終了または再起動しても、ユーザーIDはアンセットされません。

ユーザーIDを設定するには、SetCustomUserId メソッドを使用します。設定を解除するには(ユーザがアカウントから「ログアウト」した場合など)、UnsetCustomUserId を呼び出してください。

注:複数のユーザが1つのデバイスを使用する場合、ログインとログアウトのたびにユーザIDを設定および解除するログアウトフローを実装することを推奨します。

アプリを開いたときにユーザーIDがすでに分かっている場合は、Singular SDKを初期化する前にSetCustomUserId 。こうすることで、Singularは最初のセッションからユーザーIDを持つことができます。しかし、ユーザーIDは通常、ユーザーが登録するかログインを実行するまで利用できません。その場合は、登録フローが完了した後にSetCustomUserId

SingularSDK SetCustomUserId メソッド
説明 ユーザー ID を Singular に送信します。
シグネチャ static void SetCustomUserId(FString customUserId)
使用例
USingularSDKBPLibrary::SetCustomUserId("custom_user_id");
SingularSDK UnsetCustomUserId メソッド
説明 Singular に送信されたユーザー ID の設定を解除します。
シグネチャ static void UnsetCustomUserId()
使用例
USingularSDKBPLibrary::UnsetCustomUserId();

オプション:カスタムユーザーID デバイスマッピング

重要:この高度なエンタープライズ機能は例外的な場合にのみ使用できます。実装する前にSingularのソリューションエンジニアにご相談ください。

Singularはサーバー間の統合により、追加のモバイルイベント追跡データを受け取ることができます。この機能を利用するには、ユーザーIDをSingularのモバイルデバイス追跡識別子にマッピングする必要があります。

注意:Singular SDKを初期化した後、またはユーザーIDを取得した後、できるだけ早くこのメソッドを呼び出してください。

SingularSDK SetCustomUserId メソッド
説明 ログイン時と同じカスタムユーザーIDを設定し、Singularのトラッキング識別子にマッピングします。
シグネチャ static void SetDeviceCustomUserId(FString customUserId)
使用例
USingularSDKBPLibrary::SetDeviceCustomUserId("custom_user_id");


iOS 14+ アプリのトラッキングの透明性のサポート

iOS 14+ では、アプリはユーザーデータを共有する前に、デバイスの IDFA 値を使うことも含めて、ユーザーの同意を求めなければなりません(App Tracking Transparency を参照)。Singularは、デバイスを識別し、インストールアトリビューションを実行するために、IDFAを持つことで大きな利益を得ています。そのため、Singular SDKがユーザーセッションとユーザーイベントをSingularサーバーに送信し始める前に、ユーザーの同意を求める必要があります。

SDKがセッションを送信すると、その時点でSingularが利用可能なデータのみに基づいて、Singularのインストールアトリビューションプロセスが開始されます。

SDKがユーザーセッションとユーザーイベントを送信するのを遅らせるには、watefForTrackingAuthorizationWithTimeoutIntervalパラメータでSingular SDKを初期化します。そうすると

  1. SDKは初期化され、セッションとユーザーイベントの記録を開始しますが、Singularサーバーにはまだ送信されません。
  2. App Tracking Transparencyの同意が許可/拒否されるか、設定されたタイムアウトが経過するとすぐに、SDKはセッションとキューに入ったイベントをSingularサーバーに送信します(IDFAの有無は問いません)。
  3. Singularはその後、IDFAが利用可能であればそれを利用してアトリビューションプロセスを開始します。

詳細については、iOS 14 の準備を参照してください。