本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Pinpoint 中发送和检索应用程序内消息
您可以使用应用程序内消息向应用程序的用户发送定向消息。应用程序内消息是高度可定制的。它们可以包括用于打开网站或使用户转向应用程序特定部分的按钮。您可以配置背景和文本颜色,定位文本,以及向通知中添加按钮和图像。您可以发送一条消息,或者创建最多包含五条独特消息的轮盘。有关应用程序内消息的概述,包括创建应用程序内消息模板的说明,请参阅《Amazon Pinpoint 用户》指南中的创建应用程序内模板。
您可以使用 AWS Amplify 将 Amazon Pinpoint 的应用程序内消息传递功能无缝集成到您的应用程序中。Amplify 可以自动完成获取消息、呈现消息以及向 Amazon Pinpoint 发送分析数据的过程。React Native 应用程序目前支持这种集成。有关更多信息,请参阅《Amplify Framework 文档》中的应用程序内消息
本节提供有关为应用程序中的端点请求应用程序内消息以及解释该请求结果的信息。
检索端点的应用程序内消息
您的应用程序可以调用 GetInAppMessages API 来检索给定端点有权接收的所有应用程序内消息。在调用 GetInAppMessages
API 时,您需要提供以下参数:
-
ApplicationId
– 与应用程序内消息活动关联的 Amazon Pinpoint 项目的唯一 ID。 -
EndpointId
– 您要为其检索消息的端点的唯一 ID。
当您使用这些值调用 API 时,它会返回一个消息列表。有关此操作生成的响应的更多信息,请参阅了解 GetInAppMessages API 响应。
您还可以使用 AWS SDK 调用 GetInAppMessages
操作。以下代码示例包括检索应用程序内消息的函数。
了解 GetInAppMessages
API 响应
当您调用 GetInAppMessages API 操作时,它会返回指定端点有权接收的消息列表。然后,您的应用程序可以根据响应中的值呈现消息。
以下是您在调用 GetInAppMessages
API 时返回的 JSON 对象的示例:
{ "InAppMessagesResponse":{ "InAppMessageCampaigns":[ { "CampaignId":"inAppTestCampaign-4c545b28d21a490cb51b0b364example", "DailyCap":0, "InAppMessage":{ "Content":[ { "BackgroundColor":"#f8e71c", "BodyConfig":{ "Alignment":"CENTER", "Body":"This is a sample in-app message sent using Amazon Pinpoint.", "TextColor":"#d0021b" }, "HeaderConfig":{ "Alignment":"CENTER", "Header":"Sample In-App Message", "TextColor":"#d0021b" }, "ImageUrl":"https://example.com/images/thumbnail.png", "PrimaryBtn":{ "DefaultConfig":{ "BackgroundColor":"#d0021b", "BorderRadius":50, "ButtonAction":"CLOSE", "Text":"Dismiss", "TextColor":"#f8e71c" } } } ], "Layout":"MIDDLE_BANNER" }, "Priority":3, "Schedule":{ "EndDate":"2021-11-06T00:08:05Z", "EventFilter":{ "Dimensions":{ "Attributes":{ }, "EventType":{ "DimensionType":"INCLUSIVE", "Values":[ "_session.start" ] }, "Metrics":{ } } } }, "SessionCap":0, "TotalCap":0, "TreatmentId":"0" } ] } }
以下各节提供有关此响应的组成部分的更多信息。
InAppMessageCampaigns
对象
InAppMessageCampaigns
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
一个字符串,其中包含发送消息的 Amazon Pinpoint 活动的名称和唯一活动 ID。该名称位于活动 ID 之前。这两个值用连字符 (-) 分隔。 |
由 Amazon Pinpoint 在您创建活动时自动创建。 |
|
一个整数,表示此消息的活动处理的 ID。如果活动只有一种处理,则值为 |
|
|
应用程序内消息的优先级,表示为 1 到 5 之间的整数,其中 1 为最高优先级,5 为最低优先级。 |
创建活动过程的第 1 步。 |
|
一个 InAppMessage 对象,其中包含有关如何呈现消息的信息。 |
基于为活动指定的应用程序内消息模板中的内容。 |
|
Schedule 对象,其中包含关于消息发送时间的信息。 |
创建活动过程的第 4 步(如果活动是在控制台创建的),或者是 |
|
在 24 小时内可以向用户显示一条应用程序内消息的次数,以整数表示。 |
继承自项目级设置。如果活动包含覆盖项目设置的设置,则会改用这些设置。 |
|
应用程序会话期间可以向用户显示一条应用程序内消息的次数,以整数表示。 |
|
|
每个活动可以向端点显示任何应用程序内消息的总次数,以整数表示。 |
InAppMessage
对象
InAppMessage
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
一个包含 InAppMessageContent 对象的数组,该对象描述了消息的内容。 |
基于为活动指定的应用程序内消息模板中的内容。 |
|
描述应用程序内消息在收件人设备上的显示方式的字符串。可能的值有:
|
HeaderConfig
对象
HeaderConfig
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
一个字符串,指定标题文本的文本对齐方式。可能的值为 |
基于为活动指定的应用程序内消息模板中的内容。 |
|
消息标题文本。 |
|
|
标题文本的颜色,以十六进制颜色代码(例如,#000000 代表黑色)表示。 |
BodyConfig
对象
BodyConfig
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
一个字符串,指定消息正文的文本对齐方式。可能的值为 |
基于为活动指定的应用程序内消息模板中的内容。 |
|
消息的主体文本。 |
|
|
正文的颜色,以由十六进制颜色代码(例如,#000000 代表黑色)组成的字符串表示。 |
InAppMessageContent
对象
InAppMessageContent
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
应用程序内消息的背景色,以十六进制颜色代码(例如,#000000 代表黑色)表示。 |
基于为活动指定的应用程序内消息模板中的内容。 |
|
一个 BodyConfig 对象,其中包含与消息正文内容相关的信息。 |
|
|
一个 HeaderConfig 对象,其中包含与消息标题相关的信息。 |
|
|
消息中显示的图像的 URL。 |
|
|
一个 InAppMessageButton 对象,其中包含有关消息中主要按钮的信息。 |
|
|
一个 InAppMessageButton 对象,其中包含有关消息中辅助按钮的信息。如果应用程序内消息模板未指定辅助按钮,则不显示。 |
Schedule
对象
Schedule
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
将结束活动的计划时间,采用 ISO 8601 格式。 |
创建活动过程的第 4 步(如果活动是在控制台创建的),或者是 |
|
有关导致显示应用程序内消息的事件的信息。当您生成与 Amazon Pinpoint 应用程序内活动匹配的事件时,系统会显示该消息。 |
InAppMessageButton
对象
InAppMessageButton
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
一个 DefaultButtonConfig 对象,其中包含应用程序内消息中按钮的默认设置的信息。 |
基于为活动指定的应用程序内消息模板中的内容。 |
|
一个 OverrideButtonConfig 对象,用于指定按钮在 Android 设备上的行为方式。这将覆盖 |
|
|
一个 OverrideButtonConfig 对象,用于指定按钮在 iOS 设备上的行为方式。这将覆盖 |
|
|
一个 OverrideButtonConfig 对象,用于指定按钮在 Web 应用程序中的行为方式。这将覆盖 |
DefaultButtonConfig
对象
DefaultButtonConfig
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
按钮的背景色,以十六进制颜色代码(例如,#000000 代表黑色)表示。 |
基于为活动指定的应用程序内消息模板中的内容。 |
|
按钮边框的半径(以像素为单位),以整数表示。数字越大,圆角越大。 | |
|
一个字符串,描述当收件人在应用程序内消息中选择按钮时发生的操作。可能的值有:
|
|
|
按钮的目标 URL。对于 ButtonAction 为 |
|
|
按钮上显示的文本。 | |
|
按钮上文本的颜色,以十六进制颜色代码(例如,#000000 代表黑色)表示。 |
OverrideButtonConfig
对象
仅当应用程序内消息模板使用覆盖按钮时,OverrideButtonConfig
对象才会出现。覆盖按钮是针对特定设备类型(例如 iOS 设备、Android 设备或 Web 浏览器)具有特定配置的按钮。
OverrideButtonConfig
对象包含以下属性:
属性 | 描述 | 在哪里设置 |
---|---|---|
|
当收件人在应用程序内消息中选择按钮时发生的操作。可能的值有:
|
基于为活动指定的应用程序内消息模板中的内容。 |
|
按钮的目标 URL。对于 |
|
|
按钮上显示的文本。 | |
|
按钮上文本的颜色,以十六进制颜色代码(例如,#000000 代表黑色)表示。 |