离线推送介绍

本文主要介绍 云上曲率即时通讯IM SDK的消息离线推送功能。

功能介绍

当需要给离线用户发送消息时,可通过 iOS安卓 的原生系统推送功能,在终端的 【通知栏/状态栏】 上显示一条信息,用来提示用户有新消息,常用于给离线用户发送有聊天消息的提醒。

云上IM SDK回通过 APNsFCM 将聊天消息以远程推送的形式下发到业务客户端。目前支持苹果系统和国内各品牌安卓系统。

功能使用

消息离线推送功能使用流程:

  1. 在使用云上IM SDK的离线推送功能时,需要在程序启动时(或周期性)调用 添加推送设备 接口 添加DeviceToken
  2. 调用设备推送属性接口,设置推送的内容和推送属性。

离线推送的内容默认为消息的内容。如果需要自定义推送的内容,可通过自定义消息的 attrs 参数实现。 如果配置了推送文件类消息,默认情况下不会发送系统通知。如需实现文件类消息推送,可通过自定义消息的attrs 参数实现。

配置自定义推送相关的attrs参数

attrs 参数是 发送消息/文件类消息 接口的一个可选参数,类型为 JSON字符串。如需修改离线推送内容,需要按照以下规则传入 attrs 参数:

  • 不推送某些消息
{
    "notification" : {
         "no_push": true
        }
}
  • 简单推送内容
{
    "notification" : {
         "title": "this is title",
         "body" : "this is body"
        }
}

注意:目前支持的 keytitle(通知的标题)、body(通知的内容)、badge(iOS角标数字)、sound(声音资源)。

  • 复杂推送内容
{
    "notification" : {
         "aps": {
             "alert" : "...",
             "badge" : "...",
              ....
             }
          "fcm": {
             "data" : "...",
             "notification" : "...",
             }
        }
}

注意:说明:apsfcm 结构分别对应 APNsFCM 官方推送文档中原始的 payload,请确保数据格式的正确。

参考

APNs:Payload Key Reference ,请参考 APS Dictionart Keys 章节 FCM: Firebase Protocol ,请参考 下行消息语法 章节