1. 开发指南
警告
这仅供内部使用!!
1.1. 推送通知格式
1.1.1. FcmXmppApiProvider
此提供程序使用以下字段和值发送 APNs 通知。
字段 |
值 |
描述 |
|||||||||||||||
message_id |
"m-" + UUID |
通知的随机 id |
|||||||||||||||
优先 |
高 |
通知的优先级 |
|||||||||||||||
数据 |
"data" 对象中使用的字段的描述
|
备注
如果发送到 PUSH 提供者的通知不包含特定字段的值,则可能不会传递上述任何字段。
1.1.2. APNsBinaryApiProvider
此提供程序使用以下字段和值发送 APNs 通知。
字段 |
值 |
描述 |
内容可用 |
1 |
将通知标记为有内容等待下载(即要检索的 XMPP 消息) |
帐户 |
用户帐户的裸 JID |
|
未读消息 |
2 |
等待的未读消息数 |
发件人 |
最后一条消息的发件人的完整 JID |
|
正文 |
"消息正文的文本" |
消息正文的文本限制为 500 个字符,如果消息正文超过 512 个字符,则添加省略号 |
备注
如果发送到 PUSH 提供者的通知不包含特定字段的值,则可能不会传递上述任何字段。
1.2. 在未连接到 XMPP 帐户时禁用推送
在某些情况下,用户可能希望/需要在无法连接到 XMPP 服务器的情况下禁用其设备的推送通知(即密码已更改、服务器离线、用户被阻止等)。为了允许我们创建了可用的 REST API 调用:/rest/push/unregister-device/{push-component-jid}
其中 push-component-jid
是推送组件的 jid。此端点使用以下格式的 JSON 有效负载响应 POST 调用:
{
"account": "[email protected]",
"provider": "provider-id",
"device-token": "XXXXXXX"
}
其中:
account
是我们要禁用推送通知的用户帐户的裸 jidprovider
是客户端注册的提供者 ID(提供者负责将推送传递到适当的推送服务,即 APNs 或 FCM)device-token
是用于注册推送通知的设备 ID 或令牌
在请求处理程序上回答:
成功时。
{
"result": "success"
}
失败时。
{
"result": "failure"
}
警告
如果推送组件不是本地组件,或者有效负载不正确(缺少字段),则 endpoing 将响应 HTTP 错误代码 404。这是故意的,因为此 API 公开公开,我们不希望除客户端之外的任何其他人轻松作者能够执行这些调用。