メインコンテンツに移動

権限

k-ID Regulatory Hubの権限は、世界中の1つ以上の管轄区域の規制で扱われるゲーム機能の分類を表します。権限は、ゲームのCompliance Studioで設定されます。ゲーム機能に一致する各k-ID権限は、Compliance Studioで有効にする必要があります。

権限とは?

権限は、親の同意が必要な場合や年齢制限がある可能性のあるゲーム内の機能または機能を表します。各権限は、以下に基づいてプレイヤーに対して有効または無効にできます:

  • 年齢と管轄区域
  • 親の同意(必要な場合)
  • Compliance Studioでの権限の設定

権限構造

セッション内の各権限には、以下の構造があります:

{
"enabled": true,
"managedBy": "PLAYER",
"name": "text-chat-private"
}

権限フィールド

  • name: 権限の識別子(たとえば、text-chat-privatein-game-purchases
  • enabled: 権限が現在プレイヤーに対して有効になっているかどうか
  • managedBy: この権限を有効または無効にできる人:
    • PLAYER: プレイヤー自身が親の同意なしでこの権限を有効/無効にできる
    • GUARDIAN: 信頼できる大人のみがこの権限を有効/無効にできる
    • PROHIBITED: この権限は、現在の場所の現在のプレイヤーに対して許可されない
managedByは時間の経過とともに変更される可能性があります

managedByフィールドは静的ではありません。プレイヤーが年齢アップし、親の同意が不要になった場合、以前はmanagedBy: "GUARDIAN"だった権限がmanagedBy: "PLAYER"に変更される可能性があります。プレイヤーが/session/upgrade APIを介してPLAYER管理の権限を有効にすることをリクエストすると、チャレンジを作成せずに自動的に有効になります。アプリケーションは、時間の経過とともにセッションを比較することで、これらの変更を処理する必要があります。

誰が権限を有効にできるか?

ゲームコードは、各k-ID権限を使用して、ゲーム内の対応する機能へのアクセスを制御する必要があります。権限のenabledフィールドがtrueの場合、これは機能をゲーム内のプレイヤーに対して有効にできることを意味します。enabledフィールドがfalseの場合、機能をオフにする必要があります。

一部の管轄区域では、プレイヤーが特定の年齢の場合、プレイヤーが機能にアクセスすることが許容される場合でも、ゲームが特定の機能をデフォルトでオフにする必要があります(これは「デフォルトのプライバシー」要件と呼ばれることがあります)。この場合、enabledfalseで、managedByフィールドにはPLAYERが含まれます。

機能が信頼できる大人によってのみオンまたはオフにできる場合、managedByフィールドの値はGUARDIANです。機能が信頼できる大人の同意に関係なく、現在の場所の現在のプレイヤーに対して許可されない場合、managedByフィールドには値PROHIBITEDが含まれます。最後のケースでは、ゲームが機能をオフの状態で表示するのではなく、禁止された機能をユーザーエクスペリエンスから完全に削除するのが適切です。

プレイヤーが年齢アップし、親の同意が不要になった場合、以前はmanagedBy: "GUARDIAN"だった権限がmanagedBy: "PLAYER"に変更される可能性があり、プレイヤーが直接制御できるようになります。プレイヤーが/session/upgrade APIを介してPLAYER管理の権限を有効にすることをリクエストすると、チャレンジを作成せずに自動的に有効になります。ゲームは、プレイヤーがこれらの権限を管理できるUIコントロールを提供する必要があります。

ゲーム機能への権限のマッピング

k-ID Regulatory Hubの権限は、世界中の1つ以上の管轄区域の規制で扱われるゲーム機能の分類を表します。権限は、ゲームのCompliance Studioで設定されます。ゲーム機能に一致する各k-ID権限は、Compliance Studioで有効にする必要があります。選択されたk-ID権限は、親が子供にゲームをプレイするための同意を与える際に親に提示されます。

情報

k-ID権限にマッピングされたゲーム内の機能を表示する場合、Sessionをチェックして、機能が有効になっているかどうか、およびプレイヤーがそれをオンにすることが許可されているかを確認する必要があります。

利用可能な権限

以下の権限はCompliance Studioで利用できます:

ソーシャル権限

  • オンラインマルチプレイヤー (multiplayer)
  • リーダーボードとランキング (leaderboards-and-rankings)
  • グループに参加 (join-groups)
  • 公開プロフィール (public-profile)
  • カスタムアバター (custom-avatar)
  • カスタムユーザー名 (custom-username)
  • テキストチャット(プライベート) (text-chat-private)
  • テキストチャット(公開) (text-chat-public)
  • ボイスチャット (voice-chat)
  • ビデオチャット (video-chat)
  • オンラインステータス (online-status)
  • 公開フレンドリスト (public-friend-list)
  • フレンドリクエストの送信/承認 (send-accept-friend-requests)
  • サードパーティチャットへのリンク (link-to-third-party-chat)
  • バーチャルイベント (virtual-events)
  • ソーシャルメディアへの共有 (share-to-social-media)

マーケティング権限

  • パーソナライズされた推奨 (personalized-recommendations)
  • ターゲット広告 (targeted-ads)
  • プロファイリング (profiling)
  • プッシュ通知 (push-notifications)
  • ダイレクトマーケティング (direct-marketing)
  • フォーラム (forums)

コマース権限

  • ゲーム内購入 (in-game-purchases)
  • ルートボックス(有料コスメティックのみ) (loot-boxes-paid-cosmetic-only)
  • ルートボックス(有料ゲームプレイに影響) (loot-boxes-paid-gameplay-impacting)
  • ルートボックス(コンプガチャ) (loot-boxes-kompu-gacha)
  • ギフトの送信 (send-gifts)
  • シミュレートされたギャンブル (simulated-gambling)
  • バーチャル財産所有 (virtual-property-ownership)

コンテンツ作成またはデータ共有権限

  • カメラアクセス (camera-access)
  • ゲームクリップ/スクリーンショットの共有 (share-game-clips-screenshots)
  • 写真/ビデオ共有 (photo-video-sharing)
  • 正確な位置情報共有 (real-time-location-sharing)
  • ユーザー生成コンテンツ (mods)
  • ゲームプレイストリーミング (gameplay-streaming)
  • ゲームプレイ録画 (gameplay-recording)
  • サードパーティストリーミングアプリへのリンク (link-to-third-party-streaming-app)

高度な権限

  • AI生成アバター (ai-generated-avatars)
  • 拡張現実 (augmented-reality)
  • 成熟した言語 (mature-language)
  • モーションデータ (motion-data)
  • AIチャットボット (ai-chatbot)

追加の権限のリクエスト

プレイヤーが権限付きのセッションを受信した後、追加の権限を許可したい場合があります。権限は、以下の理由で不許可になる可能性があります:

  1. 権限がデフォルトで有効になる年齢閾値を下回っている
  2. 権限の絶対最小必要年齢を下回っている
  3. 権限は親/保護者の同意がある場合にのみ有効にでき、同意プロセス中に有効にならなかった

セッションアップグレードAPIの使用

/session/upgrade APIを使用して、追加の権限を有効にできます。managedByフィールドがPLAYERに設定されているリクエストされた権限は、すぐに有効になります。managedByGUARDIANに設定されている権限がある場合、信頼できる大人が権限変更に同意するために完了するチャレンジが作成されます。

リクエストの例

POST /api/v1/session/upgrade
Content-Type: application/json
Authorization: Bearer your-api-key

{
"sessionId": "608616da-4fd2-4742-82bf-ec1d4ffd8187",
"requestedPermissions": [
{
"name": "voice-chat"
}
]
}

チャレンジ付きレスポンスの例

権限が保護者の同意を必要とする場合、レスポンスにはチャレンジが含まれます:

{
"status": "CHALLENGE",
"challenge": {
"challengeId": "683409f1-2930-4132-89ad-827462eed9af",
"oneTimePassword": "ABC123",
"type": "CHALLENGE_PARENTAL_CONSENT",
"url": "https://family.k-id.com/authorize?otp=ABC123"
}
}

チャレンジなしのレスポンスの例

リクエストされたすべての権限がプレイヤーによって有効にできる場合、レスポンスには更新されたセッションが含まれます:

{
"status": "PASS",
"session": {
"sessionId": "608616da-4fd2-4742-82bf-ec1d4ffd8187",
"permissions": [
{
"enabled": true,
"managedBy": "PLAYER",
"name": "voice-chat"
}
]
}
}

親の同意を求める

権限を有効にするために信頼できる大人の同意が必要な場合、レスポンスにchallengeが含まれます。このチャレンジは、QRコード、OTP、またはメールを使用して、初期の年齢ゲートプロセスと同様に共有できます。詳細については、チャレンジを参照してください。

権限アップグレードのメール通知

品質向上の違いの1つは、メールアドレスを指定せずに/challenge/send-email APIを使用でき、APIがプレイヤーの権限を最も最近承認した信頼できる大人にメールを送信することです。これにより、プレイヤーはメールアドレスを自分で指定せずに権限変更をリクエストできます。APIを呼び出す前に、セッションのhasApproverEmailフラグをチェックして、セッションに既に関連するメールアドレスがあるかどうかを確認できます。関連するメールアドレスが見つからない場合、/challenge/send-email APIはINVALID_EMAILエラーコードで応答し、QRコードの提供、OTP、またはプレイヤーに信頼できる大人のメールアドレスを入力するよう求めるなど、別の方法にフォールバックする必要があります。

アップグレードフローの処理

  1. 権限をチェック: アップグレードをリクエストする前に、現在のセッションをチェックして、どの権限が利用可能で、どの権限が保護者の同意を必要とするかを確認する
  2. アップグレードをリクエスト: リクエストされた権限で/session/upgradeを呼び出す
  3. チャレンジを処理: チャレンジが返された場合、初期のVPCフローと同じワークフローに従う
  4. セッションを更新: 同意が付与されたら、/session/getを使用して更新されたセッションを取得する