Unreal Engine SDK:基本統合

SDKをプロジェクトに追加する

Singular SDKをプロジェクトに追加します:

  1. ダウンロードしたSDKアーカイブには、SDKプラグインを含むSingularSDKフォルダが含まれています。SingularSDKフォルダをアプリのPluginsフォルダにコピーします。
  2. アプリの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 = false,
       bool manualSkanConversionManagement = false,
       int waitForTrackingAuthorizationWithTimeoutInterval = 0,
       bool oaidCollection = false);
使用例
#include "SingularSDKBPLibrary.h"
  
  [...]
  
  USingularSDKBPLibrary::Initialize("SDK KEY", "SDK SECRET");
  

メソッドのパラメータ

パラメータ 必須か 説明 デフォルト
sdkKey   これらのキーを取得するには、Singularアカウントにログインし、"Developer Tools > SDK Integration > SDK Keys "にアクセスしてください。  
sdkSecret    

sessionTimeout

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

ユーザーIDをSingularに送信する(オプション)

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 の準備を参照してください。