Fast Tracks 支持 Firebase 作为原生推送通知提供商,如果您的业务需要一个不在支持的提供商列表中的提供商,那么您可以构建此 API。

Fast Track 原生推送通知服务

Fast Track 原生推送通知服务可以配置为向下面列出的运营商 API 端点发送原生推送通知请求,这允许运营商管理原生推送通知提供商。它支持发送消息和获取投递状态。发送功能支持单个和批量原生推送通知请求。
以下端点可以作为您运营商 API 的一部分来构建:

⬆️ POST /channels/push/single

⬆️ POST /channels/push/batch

然后运营商可以将这些请求转发给原生推送通知提供商进行处理,并返回相应的响应。
API 格式和响应需要按照下面概述的格式进行格式化
重要的是,下面概述的 "meta" 数据需要通过 Webhook 或轮询的方式发送回 Fast Track,以便正确存储转化数据。请参考显示的示例和下面的表格以获得进一步的说明。

前提条件

  1. 如果需要考虑任何速率限制,请告知 Fast Track。(如果您计划实施速率限制,请提前联系 Fast Track,以便我们可以指导您支持的实施方式)
  2. 如果需要考虑任何批量最大值,请告知 Fast Track。
  3. 向 Fast Track 提供集成提供商所需的任何特定凭据(如果需要)

发送原生推送通知(单个)

单个原生推送通知发送请求将在向 API 的单独请求中包含每个单独原生推送通知的数据。

端点实现

按照以下格式实现端点,以支持通过 API 进行单个发送原生推送通知。
⬆️ POST <operator-api-endpoint-url>/channels/push/single

请求标头

发送请求的标头包含一个"X-Api-Key",这是在端点处验证 API 调用所需的令牌。此令牌需要传递给 Fast Track 以便进行这些请求。

请求正文架构

请参考以下 Fast Track 发送的单个原生推送通知请求的示例。每个字段的描述列在下面的表格中。
顶级字段
类型描述
activity *
object
活动上下文对象 — 见下面的子表格
title *
string
推送通知标题
body *
string
推送通知正文文本
image_url
string
要在通知中显示的图像的 URL
android
object
Android 特定配置 — 见下面的 Android 字段。如果不使用则省略
ios
object
iOS 特定配置 — 见下面的 iOS 字段。如果不使用则省略
web
object
Web 推送特定配置 — 见下面的 Web 字段。如果不使用则省略
meta
object
在 Fast Track CRM 活动中定义的自定义键值对
activity 字段
类型描述
activity.id *
integer
原生推送通知的唯一标识符
activity.brand_id *
integer
Fast Track 上品牌的唯一标识符
activity.user_id *
string
玩家的唯一标识符
activity.activity_id *
integer
在 Fast Track 中设置的活动的唯一标识符
activity.action_group_id *
integer
原生推送通知来源于 Fast Track 的动作组的唯一标识符
activity.trigger_hash *
string
触发器哈希
activity.action_id *
integer
来自 Fast Track 的单个动作的唯一标识符
activity.origin
string
活动的可选来源标签
android 字段 — 全部为可选
类型描述
priority
string
消息投递优先级
ttl
string
消息的生存时间持续时间
collapse_key
string
用于折叠待处理消息的键
restricted_package_name
string
目标 Android 包名
icon
string
通知图标资源名称
color_rgb
string
十六进制格式的通知强调色
sound
string
通知声音
tag
string
用于替换现有通知的标签
click_action
string
点击通知时触发的动作
body_loc_key
string
正文文本的本地化键
body_loc_arcs
array of strings
body_loc_key 的替换值
title_loc_keys
string
标题的本地化键
title_loc_args
array of strings
title_loc_key 的替换值
channel_id
string
Android 通知渠道标识符
ios 字段 — 全部为可选
类型描述
badge
string
应用图标徽章计数
category
string
通知类别标识符
thread_id
string
用于分组通知的线程标识符
sub_title
string
通知副标题
loc_key
string
正文文本的本地化键
loc_args
array of strings
loc_key 的替换值
title_loc_key
string
标题的本地化键
title_loc_args
array of strings
title_loc_key 的替换值
sub_title_loc_key
string
副标题的本地化键
sub_title_loc_args
array of strings
sub_title_loc_key 的替换值
action_loc_key
string
动作按钮标签的本地化键
launch_image
string
应用打开时显示的启动图像文件名
web 字段 — 全部为可选
类型描述
icon
string
通知图标的 URL
badge
string
徽章图标的 URL
dir
string
文本方向。值:ltr | rtl | auto
lang
string
通知语言标签(例如 en)
renotify
string
是否在替换现有通知后通知用户
require_interaction
string
通知是否应该保持到用户与之交互为止
silent
string
通知是否应该静默
tag
string
用于替换现有通知的标签
timestamp
integer
表示通知时间的 Unix 时间戳
vibrate
array of strings
振动模式,以毫秒为单位的持续时间数组
link
string
点击通知时要打开的 URL

预期响应

运营商 API 应该为每个单独的原生推送通知消息分别返回响应,以避免不相关的原生推送通知数据存储。

成功 HTTP 200-299 JSON 响应

push_id 将是由运营商 API 生成的唯一标识符,它允许 Fast Track 识别该特定的原生推送通知消息,以便在发送后更新其投递状态。

错误 非 200 响应 JSON 响应

错误响应通常与 HTTP 状态码 400s 或 500s 相关联。响应应该包含一个"error"字段,其中包含描述以显示出了什么问题并协助故障排除。
来自运营商 API 的响应将根据 HTTP 状态码的类别进行不同的处理。下表概述了 HTTP 状态如何分别处理。
HTTP 状态码
描述