Cordova SDK - ユーザー ID の設定

ドキュメント

ユーザーIDの設定

社内ユーザーIDをSingularに送信することで、デバイス間のトラッキングとユーザーレベルのデータレポートが可能になります。この識別子は、セッションやデバイス間のユーザーアクティビティをリンクし、包括的なアトリビューション分析を可能にします。

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

ユーザーIDの要件

プライバシーとベストプラクティス

プライバシーコンプライアンスと適切なクロスデバイス測定を保証するため、ユーザーIDトラッキングを実施する際は以下のガイドラインに従ってください。

  • PIIを公開しない:ユーザIDは、メールアドレス、ユーザ名、電話番号などの個人を特定できる情報(PII)を公開すべきではありません。ファーストパーティデータに固有のハッシュ化された値を使用してください。
  • プラットフォーム間の一貫性:ユーザーIDの値は、正確なクロスデバイス測定のために、すべてのプラットフォーム(ウェブ/モバイル/PC/コンソール/オフライン)で同じ内部識別子でなければなりません。
  • ファーストパーティデータ:Singularはユーザーレベルのエクスポート、ETL、内部BIポストバック(設定されている場合)にユーザーIDを含みます。 ユーザーIDはファーストパーティデータであり、第三者と共有されることはありません。
  • 永続性:ユーザー ID は、unsetCustomUserId() を使用して明示的に設定が解除されるか、アプリがアンインストールされるまで保持されます。アプリを終了または再起動しても、ユーザIDはクリアされません。

実装の概要

ユーザIDを設定するタイミング

ユーザー ID を設定するにはsetCustomUserId() を使用し、ログアウト時にクリアするにはunsetCustomUserId() を使用します。アプリのフローでユーザーIDが利用可能になるタイミングに応じて、実装方法を選択してください。

ベストプラクティス複数のユーザーが1つのデバイスを共有する場合は、ログイン時にsetCustomUserId() を呼び出し、ログアウト時にunsetCustomUserId() を呼び出すログアウトフローを実装します。

アプリを開いたときにユーザーIDがすでに分かっている場合(例えば、ユーザーが永続ログインを持っている場合)、Singular SDKを初期化する前にwithCustomUserId() 。これにより、Singularは最初のセッションからユーザーIDを受け取ります。ただし、ユーザIDは通常、ユーザが登録またはログインするまで使用できません。その場合は、登録または認証フローが完了した後にsetCustomUserId()


SDKメソッド

カスタムユーザーIDの設定

内部ユーザーIDをSingularに送信して、クロスデバイスのトラッキングやユーザーレベルのレポーティングを行います。認証に成功した直後にこのメソッドを呼び出し、その後のすべてのイベントがそのユーザーに関連付けられていることを確認します。

JavaScript
// Set the user ID after login or registration
cordova.plugins.SingularCordovaSdk.setCustomUserId('user_123456');

メソッドの署名

setCustomUserId(customUserId: string): void

例ログイン後のユーザーIDの設定

ユーザが認証に成功した直後にsetCustomUserId() をコールし、その後のすべてのイベントがユーザIDに関連付けられるようにします。

JavaScript
function handleUserLogin(email, password) {
  // Your authentication logic
  authenticateUser(email, password)
    .then(function(response) {
      if (response.success) {
        // Set the user ID in Singular after successful login
        cordova.plugins.SingularCordovaSdk.setCustomUserId(response.userId);
        
        console.log('User ID set:', response.userId);
        
        // Navigate to home screen
        navigateToHome();
      }
    })
    .catch(function(error) {
      console.error('Login failed:', error);
    });
}

カスタム・ユーザIDの設定解除

ユーザがログアウトしたときにユーザIDをクリアして、マルチユーザデバイスの正確なセッション追跡を保証します。これにより、ログアウトしたユーザーに後続のイベントが誤って帰属することを防ぎます。

JavaScript
// Unset the user ID on logout
cordova.plugins.SingularCordovaSdk.unsetCustomUserId();

メソッドの署名

unsetCustomUserId(): void

例ログアウト時のユーザーIDの設定解除

ログアウト・フロー中にunsetCustomUserId() を呼び出し、ユーザーID をクリアして、後続イベントの誤った帰属を防ぎます。

JavaScript
function handleUserLogout() {
  // Clear app data and user session
  clearUserSession()
    .then(function() {
      // Unset the user ID in Singular
      cordova.plugins.SingularCordovaSdk.unsetCustomUserId();
      
      console.log('User ID cleared');
      
      // Navigate to login screen
      navigateToLogin();
    })
    .catch(function(error) {
      console.error('Logout failed:', error);
    });
}

初期化中にユーザーIDを設定する

アプリの起動時にユーザー ID が利用可能な場合(ユーザーが永続セッションでログイン済みなど)、SDK の初期化時にwithCustomUserId() を使用してユーザー ID を設定します。これにより、最初のセッションにユーザーIDが含まれるようになります。

JavaScript
document.addEventListener('deviceready', initializeApp, false);

function initializeApp() {
  // Check if user is already logged in (e.g., from local storage)
  var userId = localStorage.getItem('user_id');
  
  // Create configuration
  var config = new cordova.plugins.SingularCordovaSdk.SingularConfig(
    'YOUR_SDK_KEY',
    'YOUR_SDK_SECRET'
  );
  
  // If user ID exists, set it during initialization
  if (userId) {
    config.withCustomUserId(userId);
  }
  
  // Initialize SDK
  cordova.plugins.SingularCordovaSdk.init(config);
  console.log('Singular SDK initialized');
}

構成方法の署名

withCustomUserId(customUserId: string): SingularConfig

推奨:永続的ログインセッションを持つアプリでは、初期化時にwithCustomUserId()を使用する。ユーザーが毎回ログインする必要があるアプリでは、認証後にsetCustomUserId() を呼び出します。