1. 开发指南

警告

这仅供内部使用!!

1.1. 推送通知格式

1.1.1. FcmXmppApiProvider

此提供程序使用以下字段和值发送 APNs 通知。

字段

描述

message_id

"m-" + UUID

通知的随机 id

优先

通知的优先级

数据

"data" 对象中使用的字段的描述

字段

描述

帐户

user @example .com

用户账户的裸JID

未读取信息

2

等待的未读消息数

发送者

send @exa mple /tes t

最后一条消息的发件人的完整 JID

正文

"消息正文文本"

如果消息正文超过 512 个字符,则消息正文的文本限制为 500 个字符,并添加省略号

备注

如果发送到 PUSH 提供者的通知不包含特定字段的值,则可能不会传递上述任何字段。

1.1.2. APNsBinaryApiProvider

此提供程序使用以下字段和值发送 APNs 通知。

字段

描述

内容可用

1

将通知标记为有内容等待下载(即要检索的 XMPP 消息)

帐户

user@example.com

用户帐户的裸 JID

未读消息

2

等待的未读消息数

发件人

sen der@example.com/test

最后一条消息的发件人的完整 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 是我们要禁用推送通知的用户帐户的裸 jid

  • provider 是客户端注册的提供者 ID(提供者负责将推送传递到适当的推送服务,即 APNs 或 FCM)

  • device-token 是用于注册推送通知的设备 ID 或令牌

在请求处理程序上回答:

成功时。

{
    "result": "success"
}

失败时。

{
  "result": "failure"
}

警告

如果推送组件不是本地组件,或者有效负载不正确(缺少字段),则 endpoing 将响应 HTTP 错误代码 404。这是故意的,因为此 API 公开公开,我们不希望除客户端之外的任何其他人轻松作者能够执行这些调用。