本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Pinpoint 进行用户池分析
Amazon Pinpoint 用户群体与 Amazon Pinpoint 集成,为 Amazon Cognito 用户群体提供分析并丰富 Amazon Pinpoint 活动的用户数据。Amazon Pinpoint 提供分析和有针对性的市场活动,以使用推送通知推动用户与移动应用程序的交互。借助 Amazon Cognito 用户池中的 Amazon Pinpoint 分析支持,您可以在 Amazon Pinpoint 控制台中跟踪用户池注册、登录、身份验证失败、每日活跃用户 DAUs () 和每月活跃用户 () MAUs。您可以深入查看不同日期范围或属性的数据,例如设备平台、设备区域设置和应用程序版本。
您还可以为应用程序设置自定义属性。然后可以使用这些属性在 Amazon Pinpoint 上对用户进行细分,并向他们发送有针对性的推送通知。如果您在 Amazon Cognito 控制台的 Analytics(分析)选项卡中选择 Share user attribute data with Amazon Pinpoint(与 Amazon Pinpoint 分享用户属性数据),Amazon Pinpoint 将会为用户电子邮件地址和电话号码创建其他端点。
当你使用 Amazon Cognito 控制台在用户池中激活 Amazon Pinpoint 分析时,你还会创建一个服务相关角色,Amazon Cognito 在API向亚马逊 Pinpoint 请求用户池时担任该角色。添加您的分析配置的IAM委托人必须拥有CreateServiceLinkedRole权限。服务相关角色是。AWSServiceRoleForAmazonCognitoIdp
当你在 Amazon Cognito 中AnalyticsConfiguration
向你的应用程序客户端应用时API,你可以为 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 区域 映射。
-
您只能在美国东部(弗吉尼亚州北部)(us-east-1)区域使用 Amazon Pinpoint 项目。
-
您可以在相同的区域或者在美国东部(弗吉尼亚州北部)(us-east-1)区域使用 Amazon Pinpoint 项目
默认情况下,Amazon Cognito 只能向位于相同 AWS 区域中的 Amazon Pinpoint 项目发送分析。此规则的例外情况是下表中的区域,以及 Amazon Pinpoint 不可用的区域。
Amazon Pinpoint 未在以下区域推出。这些地区的 Amazon Cognito 用户群体不支持分析。
-
Europe (Milan)
-
Middle East (Bahrain)
-
亚太地区(大阪)
-
以色列(特拉维夫)
-
非洲(开普敦)
-
亚太地区(雅加达)
表中显示了您构建 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-sou1 |
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-northest-1 中创建用户群体,则可以在 us-east-1 中创建您的 Amazon Pinpoint 项目。
-
如果您在 ap-south-1 中创建用户群体,则可以在 us-east-1 或 ap-south-1 中创建您的 Amazon Pinpoint 项目。
注意
除了上表中的项目 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 项目关联后,您必须在请求AnalyticsMetadata
中包含这些内容。API有关更多信息,请参阅 将您的应用程序与 Amazon Pinpoint 集成。
指定分析设置
-
转到 Amazon Cognito 控制台
。系统可能会提示您输入 AWS 凭证。 -
选择 User Pools(用户群体)并从列表中选择一个现有的用户群体。
-
选择应用程序集成选项卡。
-
在 App clients and analytics(应用程序客户端和分析)下,从列表中选择现有的 App client name(应用程序客户端名称)。
-
在 Pinpoint analytics(Pinpoint 分析)下,选择 Enable(启用)。
-
选择 Pinpoint Region(Pinpoint 区域)。
-
选择 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 应用程序只能映射到一个 Amazon Pinpoint 项目。
在 Amazon Pinpoint 中,每个项目都应该是单个应用程序。例如,如果游戏开发员有两款游戏,每款游戏应该是单独的 Amazon Pinpoint 项目,即使这两款游戏使用同一 Amazon Cognito 用户池。有关 Amazon Pinpoint 项目的更多信息,请参阅在 Amazon Pinpoint 中创建项目。
-
在 User data sharing(用户数据共享)下,如果您希望 Amazon Cognito 发送电子邮件地址和电话号码到 Amazon Pinpoint 并为用户创建额外的端点,则选择 Share user data with Amazon Pinpoint(与 Amazon Pinpoint 共享用户数据)。用户验证其电子邮件地址和电话号码后,Amazon Cognito 只在它们可用于用户账户时才会与 Amazon Pinpoint 共享。
注意
端点唯一地标识可以使用 Amazon Pinpoint 向其发送推送通知的用户设备。有关端点的更多信息,请参阅《Amazon Pinpoint 开发人员指南》中的添加端点。
-
选择 Save changes(保存更改)。
指定 Amazon Pinpoint 分析设置(和)AWS CLIAWS API
使用以下命令为您的用户池指定 Amazon Pinpoint 分析设置。
在创建应用程序时为用户池的现有客户端应用程序指定分析设置
-
AWS CLI:
aws cognito-idp create-user-pool-client
-
AWS API: CreateUserPoolClient
为用户池的现有客户端应用程序更新分析设置
-
AWS CLI:
aws cognito-idp update-user-pool-client
-
AWS API: UpdateUserPoolClient
注意
在您使用ApplicationArn
时,Amazon Cognito 支持区域内集成
将您的应用程序与 Amazon Pinpoint 集成
您可以将分析元数据发布到 Amazon Pinpoint,供用户池中的亚马逊 Cognito 本地用户使用。API
- 本地用户
-
注册了账户或在您的用户群体中创建的用户,而不是通过第三方身份提供者 (IdP) 登录的用户。
- 用户池 API
-
您可以使用带有自定义用户界面 (UI) 的应用程序与集成的操作。 AWS SDK您无法为通过托管 UI 登录的联合身份用户或本地用户传递分析元数据。有关用户池API操作的列表,请参阅 Amazon Cognito API 参考文档。
在您将用户池配置为向活动发布内容后,Amazon Cognito 会将元数据传递给 Amazon Pinpoint,用于以下操作。API
-
AdminInitiateAuth
-
AdminRespondToAuthChallenge
-
ConfirmForgotPassword
-
ConfirmSignUp
-
ForgotPassword
-
InitiateAuth
-
ResendConfirmationCode
-
RespondToAuthChallenge
-
SignUp
要将有关用户会话的元数据传递给您的 Amazon Pinpoint 活动,请在API请求的AnalyticsMetadata
参数中包含一个AnalyticsEndpointId
值。 JavaScript 例如,请参阅为什么我的 Amazon Cognito 用户池分析没有显示在我的 Amazon Pinpoint 控制面板上?