Amazon Cognito ユーザープールでの Amazon Pinpoint 分析の使用 - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Cognito ユーザープールでの Amazon Pinpoint 分析の使用

Amazon Cognito ユーザープールは、Amazon Cognito ユーザープールの分析を提供し、Amazon Pinpoint キャンペーンのユーザーデータを強化するために Amazon Pinpoint と統合されています。Amazon Pinpoint は、プッシュ通知を使用するモバイルアプリケーションでのユーザーエンゲージメントを促進するために、分析と的を絞ったキャンペーンを提供します。Amazon Cognito ユーザープールでの Amazon Pinpoint 分析のサポートを使用すると、Amazon Pinpoint コンソールでユーザープールへのサインアップ、サインイン、失敗した認証、デイリーアクティブユーザー数 (DAU)、および月間アクティブユーザー数 (MAU) を追跡できます。デバイスプラットフォーム、デバイスロケール、およびアプリケーションのバージョンなどのデータを異なる日付範囲や属性で表示できます。

また、アプリケーションにカスタム属性を設定することもできます。これらは、Amazon Pinpoint でユーザーを分割し、的を絞ったプッシュ通知をユーザーに送信するために使用できます。Amazon Cognito コンソールの [Analytics] (分析) タブで、[Share user attribute data with Amazon Pinpoint] (Amazon Pinpoint とユーザー属性データを共有する) を選択すると、Amazon Pinpoint は、ユーザーの E メールアドレスと電話番号用に追加のエンドポイントを作成します。

Amazon Cognito コンソールを使用してユーザープールの Amazon Pinpoint 分析をアクティブ化すると、Amazon Cognito がユーザープールの Amazon Pinpoint に API リクエストを送信するときに引き継ぐサービスにリンクされたロールも作成されます。分析設定を追加する IAM プリンシパルには、CreateServiceLinkedRole 権限が必要です。サービスにリンクされたロールは、AWSServiceRoleForAmazonCognitoIdp です。詳細については、「Amazon Cognito のサービスリンクロールの使用」を参照してください。

Amazon Cognito API で AnalyticsConfiguration をアプリケーションクライアントに適用する際、Amazon Pinpoint にカスタム IAM ロールを割り当てて、そのロールを引き継ぐ外部 ID を割り当てることができます。ロールは cognito-idp サービスプリンシパルを信頼している必要があり、ロール信頼ポリシーで外部 ID が必要な場合は、AnalyticsConfiguration と一致する必要があります。Amazon Pinpoint プロジェクトには、ロール cognito-idp:Describe* 権限と以下の権限を付与する必要があります。

  • mobiletargeting:UpdateEndpoint

  • mobiletargeting:PutEvents

Amazon Cognito と Amazon Pinpoint の利用可能なリージョン

次の表は、次の条件のいずれかを満たす Amazon Cognito と Amazon Pinpoint 間の AWS リージョン マッピングを示しています。

  • Amazon Pinpoint プロジェクトは、米国東部 (バージニア北部) (us-east-1) リージョンでのみ使用できます。

  • Amazon Pinpoint プロジェクトは、同じリージョンまたは米国東部 (バージニア北部) (us-east-1) リージョンで使用できます。

デフォルトでは、Amazon Cognito は同じ AWS リージョン の Amazon Pinpoint プロジェクトにのみ分析を送信できます。このルールの例外は、次の表のリージョンと Amazon Pinpoint が利用できないリージョンです。

Amazon Pinpoint は、次のリージョンでは利用できません。これらのリージョンの Amazon Cognito ユーザープールは分析をサポートしていません。

  • 欧州 (ミラノ)

  • 中東 (バーレーン)

  • アジアパシフィック (大阪)

  • イスラエル (テルアビブ)

  • アフリカ (ケープタウン)

  • アジアパシフィック (ジャカルタ)

この表は、Amazon Cognito ユーザープールを構築したリージョンと、Amazon Pinpoint の対応するリージョンとの関係を示しています。Amazon Pinpoint プロジェクトを Amazon Cognito と統合するには、使用可能なリージョンに設定する必要があります。

Amazon Cognito ユーザープールのリージョン Amazon Pinpoint プロジェクトのリージョン

ap-northeast-1

us-east-1

ap-northeast-2

us-east-1

ap-south-1

us-east-1、ap-south-1

ap-southeast-1

us-east-1

ap-southeast-2

us-east-1、ap-southeast-2

ca-central-1

us-east-1

eu-central-1

us-east-1、eu-central-1

eu-west-1

us-east-1、eu-west-1

eu-west-2

us-east-1

us-east-1

us-east-1

us-east-2

us-east-1

us-west-2

us-east-1、us-west-2

リージョンマッピングの例

  • ap-northeast-1 でユーザープールを作成する場合、Amazon Pinpoint プロジェクトは us-east-1 で作成する必要があります。

  • ap-south-1 でユーザープールを作成する場合、Amazon Pinpoint プロジェクトは us-east-1 または ap-south-1 のいずれかで作成できます。

注記

前の表にある以外の AWS リージョン の場合、Amazon Cognito はユーザープールと同じリージョンの Amazon Pinpoint プロジェクトのみを使用できます。ユーザープールを構築したリージョンで Amazon Pinpoint が利用できず、表にも記載されていない場合、Amazon Cognito はそのリージョンで Amazon Pinpoint 分析をサポートしません。詳細な AWS リージョン 情報については、「Amazon Pinpoint エンドポイントとクォータ」を参照してください。

Amazon Pinpoint 分析設定の指定 (AWS Management Console)

Amazon Cognito ユーザープールを設定して、分析データを Amazon Pinpoint に送信できます。Amazon Cognito は、ローカルユーザーの分析データのみを Amazon Pinpoint に送信します。ユーザープールを Amazon Pinpoint プロジェクトに関連付けるように設定したら、API リクエストに AnalyticsMetadata を含める必要があります。詳細については、「アプリを Amazon Pinpoint と統合する」を参照してください。

分析の設定を指定する
  1. Amazon Cognito コンソールに移動します。AWS 認証情報を求められる場合があります。

  2. [User Pools] (ユーザープール) を選択して、リストから既存のユーザープールを選択します。

  3. [App integration] (アプリケーションの統合) タブを選択します。

  4. [App clients and analytics] (アプリケーションクライアントと分析) で、リストから既存の [App client name] (アプリケーションクライアント名) を選択します。

  5. [Pinpoint analytics] (Pinpoint 分析) で [Enable] (有効化) を選択します。

  6. [Pinpoint Region] (Pinpoint リージョン) を選択します。

  7. [Amazon Pinpoint project] (Amazon Pinpoint プロジェクト) を選択するか、[Create Amazon Pinpoint project] (Amazon Pinpoint プロジェクトを作成する) を選択します。

    注記

    Amazon Pinpoint プロジェクト ID は、Amazon Pinpoint プロジェクトに固有の 32 文字の文字列です。これは Amazon Pinpoint コンソールにリストされています。

    複数の Amazon Cognito アプリケーションを単一の Amazon Pinpoint プロジェクトにマッピングできますが、各 Amazon Cognito アプリは 1 つの Amazon Pinpoint プロジェクトにしかマップできません。

    Amazon Pinpoint では、各プロジェクトを単一のアプリにする必要があります。例えば、ゲームデベロッパーが 2 つのゲームを持っている場合、両方のゲームが同じ Amazon Cognito ユーザープールを使用しているとしても、各ゲームを個別の Amazon Pinpoint プロジェクトにする必要があります。Amazon Pinpoint プロジェクトの詳細については、「Amazon Pinpoint でプロジェクトを作成する」を参照してください。

  8. Amazon Cognito が E メールアドレスと電話番号を Amazon Pinpoint に送信し、ユーザー用の追加のエンドポイントを作成する場合は、[User data sharing] (ユーザーデータの共有) で [Share user data with Amazon Pinpoint] (Amazon Pinpoint でユーザーデータを共有する) を選択します。ユーザーが E メールアドレスと電話番号を確認した後、Amazon Cognito はそれらがユーザーアカウントで利用可能な場合にのみ Amazon Pinpoint と共有します。

    注記

    エンドポイントは、Amazon Pinpoint でプッシュ通知を送信することができるユーザーデバイスを一意に識別します。エンドポイントの詳細については、Amazon Pinpoint デベロッパーガイドの「エンドポイントの追加」を参照してください。

  9. [Save changes] (変更の保存) をクリックします。

Amazon Pinpoint 分析設定の指定 (AWS CLI および AWS API)

以下のコマンドを使用して、ユーザープールの Amazon Pinpoint 分析設定を指定します。

アプリケーション作成時にユーザープールの既存のクライアントアプリケーションの分析設定を指定する
ユーザープールの既存のクライアントアプリケーションの分析設定を更新する
注記

Amazon Cognito は、ApplicationArn の使用時にリージョン内の統合をサポートします。

アプリを Amazon Pinpoint と統合する

ユーザープール API の Amazon Cognito ローカルユーザーの分析メタデータを Amazon Pinpoint に公開できます。

ローカルユーザー

サードパーティー ID プロバイダー (IdP) を通じてサインインするのではなく、アカウントにサインアップしたユーザー、またはユーザープールで作成されたユーザー。

ユーザープール API

カスタムユーザーインターフェイス (UI) を備えたアプリを使用して、AWS SDK と統合できるオペレーション。ホストされた UI からサインインするフェデレーティッドユーザーまたはローカルユーザーの分析メタデータを渡すことはできません。ユーザープール API オペレーションのリストについては、「Amazon Cognito API リファレンス」を参照してください。

キャンペーンに公開するようにユーザープールを設定すると、Amazon Cognito は次の API オペレーションのためのメタデータを Amazon Pinpoint に渡します。

  • AdminInitiateAuth

  • AdminRespondToAuthChallenge

  • ConfirmForgotPassword

  • ConfirmSignUp

  • ForgotPassword

  • InitiateAuth

  • ResendConfirmationCode

  • RespondToAuthChallenge

  • SignUp

ユーザーのセッションに関するメタデータを Amazon Pinpoint キャンペーンに渡すには、API リクエストの AnalyticsMetadata パラメータに AnalyticsEndpointId 値を含めます。JavaScript の例については、「AWS ナレッジセンター」の「Amazon Pinpoint ダッシュボードに Amazon Cognito ユーザープールの分析が表示されないのはなぜですか?」を参照してください。

ユーザープール分析の設定

Amazon Pinpoint 分析を使用すると、Amazon Cognito ユーザープールへのサインアップ、サインイン、失敗した認証、デイリーアクティブユーザー数 (DAU)、および月間アクティブユーザー数 (MAU) を追跡できます。AWS Mobile SDK for Android または AWS Mobile SDK for iOS を使用して、アプリケーションに固有のユーザー属性を設定することもできます。これらは、Amazon Pinpoint でユーザーを分割し、的を絞ったプッシュ通知をユーザーに送信するために使用できます。

[アプリの統合] タブの [アプリクライアントと分析] で、既存のアプリクライアントに移動するか、新しいアプリクライアントを作成できます。アプリクライアントの設定では、アプリで使用する Amazon Pinpoint プロジェクトを指定できます。詳細については、「Amazon Cognito ユーザープールでの Amazon Pinpoint 分析の使用」を参照してください。

注記

Amazon Pinpoint は、北米、ヨーロッパ、アジア、およびオセアニアにある複数の AWS リージョンで利用できます。Amazon Pinpoint リージョンには、Amazon Pinpoint API が含まれています。Amazon Pinpoint リージョンが Amazon Cognito でサポートされている場合、Amazon Cognito は同じ Amazon Pinpoint リージョン内の Amazon Pinpoint プロジェクトにイベントを送信します。リージョンが Amazon Pinpoint でサポートされていない場合、Amazon Cognito は us-east-1 でのイベントの送信のみをサポートします。Amazon Pinpoint の詳細なリージョン情報については、「Amazon Pinpoint エンドポイントとクォータ」および「Amazon Cognito ユーザープールを使用して Amazon Pinpoint 分析を使用する」を参照してください。

分析とキャンペーンを追加する
  1. [分析とキャンペーンの追加] を選択します。

  2. リストから [Cognito アプリクライアント] を選択します。

  3. Amazon Cognito アプリを [Amazon Pinpoint project] (Amazon Pinpoint プロジェクト) にマッピングするには、リストから Amazon Pinpoint プロジェクトを選択します。

    注記

    Amazon Pinpoint プロジェクト ID は、Amazon Pinpoint プロジェクトに固有の 32 文字の文字列です。これは Amazon Pinpoint コンソールにリストされています。

    複数の Amazon Cognito アプリケーションを単一の Amazon Pinpoint プロジェクトにマッピングできますが、各 Amazon Cognito アプリは 1 つの Amazon Pinpoint プロジェクトにしかマップできません。

    Amazon Pinpoint では、各プロジェクトを単一のアプリにする必要があります。例えば、ゲームデベロッパーが 2 つのゲームを持っている場合、両方のゲームが同じ Amazon Cognito ユーザープールを使用しているとしても、各ゲームを個別の Amazon Pinpoint プロジェクトにする必要があります。

  4. ユーザーのために追加のエンドポイントを作成するために Amazon Cognito が Amazon Pinpoint に E メールアドレスと電話番号を送信するようにするには、[Share user attribute data with Amazon Pinpoint] (Amazon Pinpoint とユーザー属性データを共有する) を選択します。

    注記

    エンドポイントは、Amazon Pinpoint でプッシュ通知を送信することができるユーザーデバイスを一意に識別します。エンドポイントの詳細については、Amazon Pinpoint デベロッパーガイドの「Amazon Pinpoint へのエンドポイントの追加」を参照してください。

  5. すでに作成した IAM ロールを入力するか、[Create new role] を選択して IAM コンソールで新しいロールを作成します。

  6. [Save changes] (変更の保存) をクリックします。

  7. 追加のアプリマッピングを指定するには、[Add app mapping (アプリマッピングの追加)] を選択します。

  8. [Save changes] (変更の保存) をクリックします。