メインコンテンツに移動

マルチプロダクト承認

マルチプロダクト承認により、単一の同意フローで複数のプロダクトを保護者に承認依頼として提示できます。これにより、プライバシー規制を遵守しながら、家族がゲームやサービスにより簡単にアクセスできるよう、保護者の同意プロセスの摩擦を軽減します。

メリット

  • 保護者の摩擦軽減: 保護者は各プロダクトに対して個別の同意フローを経ることなく、複数のプロダクトを一度に承認できます
  • ユーザー体験の向上: 子供が複数のプロダクトに同時にアクセスできるため、待機時間と中断された同意フローを削減します
  • 柔軟な設定: プラットフォームアーキテクチャとユーザーのニーズに基づいて、一緒にバンドルするプロダクトを選択できます
  • コンプライアンス維持: バンドルに含まれるすべてのプロダクトは、個別の権限設定と規制要件を維持します

マルチプロダクト承認

ユースケース

マルチプロダクト承認は以下に最適です:

  • プラットフォーム + ゲーム: 複数のゲームが依存するアカウントシステムやプラットフォームがある場合
  • ゲームコレクション: 家族が通常一緒にアクセスしたい複数の関連ゲームを提供している場合
  • 階層型アクセス: コアサービスとオプションのアドオンを同時に承認できる場合

例のシナリオ

あなたの会社が中央アカウントシステムといくつかの個別ゲームを持つゲームプラットフォームを提供しているとします。子供がゲームAをプレイしようとするとき:

  1. 同意フローは自動的にアカウントシステムとゲームAの両方を含みます
  2. 保護者は両方のプロダクトの権限を一度にレビューして承認します
  3. 子供は両方のプロダクトに即座にアクセスできます
  4. 後で子供がゲームBをプレイしたい場合、保護者は別途または他のゲームと一緒に承認できます

設定オプション

マルチプロダクト承認を実装する3つの方法があります:

1. プロダクトバンドリング(静的設定)

Compliance Studioを通じて、同意フローで自動的に一緒に表示されるプロダクトを設定します。

設定方法:

  1. Compliance Studioでプロダクトを選択します
  2. Configurationに移動してMulti-Product Approvalセクション内でEditをクリックします
  3. Enable Multi-Product Approvalの横のトグルをクリックします
  4. 現在のプロダクトと一緒にバンドルするプロダクトを選択します
  5. Push to Testをクリックします

マルチプロダクト承認

保護者の体験: 保護者がプライマリプロダクトの同意リクエストを受信すると、バンドルされたプロダクトが自動的に含まれているのを確認できます。保護者は承認したくないバンドルされたプロダクトを削除できます。

最適な用途: 一般的に一緒に使用されるが、ハードな依存関係がないプロダクト

Multi-Product Approvalのプロダクト設定の詳細については、Compliance Studioガイド Multi-Product Approval を参照してください。

2. 必須プロダクト(必須依存関係)

プロダクトが機能するために別のプロダクトを必須としてマークします。これは通常、プロダクトがプラットフォームやアカウントシステムに依存している場合に使用されます。

設定方法:

  1. Compliance Studioでプロダクトを選択します
  2. Configurationに移動してMulti-Product Approvalセクション内でEditをクリックします
  3. Enable Multi-Product Approvalの横のトグルをクリックします
  4. Essential Productで、このプロダクトと一緒に承認されなければならないプロダクトを選択します
  5. Push to Testをクリックします

保護者の体験: 必須プロダクトは同意フローから削除できません。保護者は両方のプロダクトを一緒に承認するか、同意リクエストを完全に拒否する必要があります。

重要な制限:

  • プロダクトは1つの必須プロダクトしか持てません
  • 必須プロダクトはそれ自体で別の必須プロダクトを要求できません(チェーン不可)
  • 利便性ではなく、真の依存関係にのみ使用してください

最適な用途: 別のプロダクトへのアクセスなしには機能できないプロダクト(例:プラットフォームアカウントが必要なゲーム)

3. 動的バンドリング(APIベース)

APIを使用して同意チャレンジを作成する際に、プログラム的にバンドルするプロダクトを選択します。

使用方法:

含めたい特定のプロダクトIDと一緒に /challenge/create-bulk APIエンドポイントを呼び出します:

{
"jurisdiction": "US-CA",
"requestedProductIds": [123, 456, 789],
"kuid": "12b9fa0e-6d6d-4903-a1fc-f2233027b71d"
}

保護者の体験: 保護者はこの同意リクエストに対して定義した特定のプロダクトバンドルを確認できます。

最適な用途:

  • ユーザーの行動に基づく文脈的バンドリング
  • 異なるプロダクト組み合わせのA/Bテスト
  • 一緒に提供するプロダクトを決定する複雑なロジック

ベストプラクティス

適切なアプローチの選択

  • プロダクトが頻繁に一緒に使用されるが技術的依存関係がない場合はバンドリングを使用してください
  • 1つのプロダクトが他のプロダクトなしでは真に機能できない場合のみ必須プロダクトを使用してください
  • ランタイムの柔軟性や文脈的プロダクト選択が必要な場合は動的バンドリングを使用してください

設定のヒント

  1. シンプルに開始: 必要に応じて必須プロダクトのみで開始し、その後バンドリングを追加してください
  2. 保護者のジャーニーを考慮: 1つのバンドルにあまりにも多くのプロダクトで保護者を圧倒しないでください
  3. フローをテスト: ライブに移行する前にテストモードを使用して保護者の体験を確認してください
  4. 依存関係を文書化: 開発チームのためにどのプロダクトが他のプロダクトに依存しているかの明確な記録を保持してください

権限の考慮事項

複数のプロダクトがバンドルされる場合:

  • 保護者はすべてのプロダクトのすべての権限の和集合を確認します
  • 各プロダクトは独自の権限設定を維持します
  • 保護者は各プロダクトに対して個別に権限を有効/無効にできます
  • バンドルされたプロダクトからのすべてのデータ開示が一緒に提示されます

一般的なパターン

パターン1: アカウント + 複数ゲーム

設定:

  • アカウントシステムプロダクト(必須プロダクトなし)
  • ゲームA: アカウントシステムを必須プロダクトとして
  • ゲームB: アカウントシステムを必須プロダクトとして
  • ゲームC: アカウントシステムを必須プロダクトとして

結果: 任意のゲーム承認が自動的にアカウントシステム承認を要求しますが、保護者は複数のゲームを一度に承認できます。

パターン2: オプションアドオン付きゲームスイート

設定:

  • メインゲーム: 必須プロダクトなし
  • 拡張パックA: メインゲームを必須プロダクトとして、メインゲームとバンドル
  • 拡張パックB: メインゲームを必須プロダクトとして、メインゲームとバンドル

結果: 保護者は1つのフローでオプションの拡張と一緒にメインゲームを承認できます。

パターン3: プラットフォームアプローチ

設定:

  • プラットフォームプロダクト: 必須プロダクトなし
  • ソーシャル機能: プラットフォームを必須として、プラットフォームとバンドル
  • プレミアムコンテンツ: プラットフォームを必須として、プラットフォームとバンドル

結果: 保護者はプラットフォームアクセスを承認し、追加機能のための簡単なアドオンを提供します。

技術的詳細

ウェブフックイベント

保護者がマルチプロダクトバンドルを承認すると、承認された各プロダクトに対して別々の Challenge.StateChange ウェブフックイベントを受信します。すべてのセッションは同じ kuid(k-IDユーザーID)を共有するため、同じ子供に関連付けることができます。

セッション管理

バンドルの各承認されたプロダクトは、独自の sessionId で独自のセッションを作成します。以下を実行する必要があります:

  • プレイヤーの kuid に関連付けられたすべてのセッションをキャッシュしてください
  • 各プロダクトの権限を確認する際に適切なセッションを使用してください
  • 関連する sessionId または kuid とプロダクトAPIキーを使用して /session/get でセッションをクエリしてください

APIエンドポイント

エッジケースと考慮事項

マルチプロダクト承認を設定する際は、必須プロダクトが年齢要件と権限にどのような影響を与えるかを理解する必要があります:

年齢最小要件

ルール: 子供はバンドルのすべてのプロダクトの年齢要件を満たす必要があります。

必須プロダクトが依存するプロダクトよりも高い年齢最小値を持つ場合、その年齢未満の子供は両方のプロダクトへのアクセスを拒否されます。

:

  • ゲームA: 最小年齢10歳、アカウントシステムを必須プロダクトとして要求
  • アカウントシステム: 最小年齢13歳

結果: ゲームAの設定された最小値が10歳であるにもかかわらず、子供はゲームAにアクセスするために少なくとも13歳である必要があります。

ベストプラクティス: 依存プロダクトの年齢最小値を必須プロダクトの年齢最小値と等しいかそれ以上に設定してください。

権限処理

ルール: 保護者はバンドルされたすべてのプロダクトで最も制限的な権限要件を承認する必要があります。

プロダクトが一緒にバンドルされる場合、k-IDはすべてのプロダクトで各権限を評価し、最も制限的な設定を適用します:

  • 権限が任意のプロダクトで必須である場合、バンドル全体で必須になります
  • 権限が1つのプロダクトではオプションだが別のプロダクトでは必須である場合、必須になります
  • 保護者は同意フローを完了するためにすべての必須権限を付与する必要があります

:

  • ゲームA: 「ボイスチャット」がオプション(保護者が選択可能)
  • アカウントシステム(ゲームAに必須): 「ボイスチャット」が必須(保護者が承認する必要)

結果: ゲームA単独ではオプションだったであろうにもかかわらず、保護者は同意を付与するために「ボイスチャット」を承認する必要があります。

ベストプラクティス:

  • 可能な場合は依存プロダクト間の権限要件を調整してください
  • 保護者が確認する結合された権限セットをレビューしてください
  • 特定の権限がプラットフォームレベルで必要かゲームレベルで必要かを考慮してください

設定のテスト

ライブに移行する前に:

  1. プロダクトアーキテクチャをレビュー: どのプロダクトが依存関係を持ち、どのプロダクトが一般的に一緒に使用されるかを特定してください
  2. テストモードで設定: テスト環境でマルチプロダクト承認設定を設定してください
  3. 保護者の体験をテスト: 保護者として同意フローを進めて体験を確認してください
  4. ウェブフック統合をレビュー: バックエンドが複数のセッションイベントを適切に処理することを確認してください
  5. ライブにプッシュ: 準備ができたら、設定をライブ環境に公開してください