Agora Chat是否支持向设备推送通知?Flutter端原生提供该功能吗?
Agora Chat 推送通知在Flutter端的实现说明
1. Agora Chat 是否支持向接收方发送推送通知?
Agora Chat 原生支持推送通知能力,当接收方处于离线状态或APP退至后台时,系统会通过对应平台的推送通道(iOS 为 APNs,Android 为 FCM)向接收方设备发送推送通知,确保用户不会错过消息。
2. Flutter端是否原生提供该功能?
是的,Agora 官方推出的 Flutter 版 Chat SDK(agora_chat)已原生集成推送通知相关能力,无需额外自行搭建推送服务,只需完成配置即可快速启用。
3. 已实现聊天功能后,如何通过Agora方式在Flutter中发送推送通知?
配置前提
首先需要在 Agora 控制台的 Chat 项目中,完成对应平台的推送服务商信息配置:
- iOS:上传 APNs 推送证书,并配置证书名称;
- Android:配置 FCM 的 Sender ID 及服务器密钥。
代码实现步骤
初始化SDK时开启推送
在初始化 Agora Chat SDK 时,启用推送并配置平台相关参数:await ChatClient.getInstance.init( ChatOptions( appKey: "你的Agora Chat AppKey", pushConfig: ChatPushConfig( enablePush: true, apnsCertName: "iOS端配置的证书名称", // iOS专属 fcmSenderId: "Android端的FCM Sender ID", // Android专属 ), ), );注册设备推送Token到Agora服务器
获取当前设备的推送Token(iOS通过APNs获取,Android通过FCM获取),并上传到Agora Chat服务器:// 假设已获取到设备的pushToken String pushToken = "设备推送Token"; await ChatClient.getInstance.pushManager.updatePushToken(pushToken);发送消息时自定义推送内容(可选)
若需要自定义推送的标题、内容或附加参数,可在发送消息时设置推送配置:ChatMessage textMessage = ChatMessage.createTextSendMessage( targetId: "接收方的用户ID", content: "这是一条测试消息", ); // 设置自定义推送信息 textMessage.setPushConfig( ChatPushConfig( displayStyle: ChatPushDisplayStyle.simple, pushContent: "[自定义推送] 你有一条新消息", // 可添加自定义扩展字段 extras: {"custom_key": "custom_value"}, ), ); // 发送消息 await ChatClient.getInstance.chatManager.sendMessage(textMessage);监听推送通知事件
在Flutter中监听推送通知的到达与点击事件,实现跳转或其他业务逻辑:ChatClient.getInstance.pushManager.addPushListener( ChatPushListener( onNotificationMessageArrived: (ChatPushMessage message) { // 推送通知到达时的处理逻辑,比如本地提示 }, onNotificationMessageClicked: (ChatPushMessage message) { // 点击推送通知后的跳转逻辑,比如打开对应聊天对话页面 }, ), );
注意:当接收方在线时,推送通知不会触发,消息会直接通过实时通道送达;只有接收方离线/后台时,才会触发推送通知。
内容的提问来源于stack exchange,提问作者Azhar KK
相关产品推荐
相关产品推荐

