Flutter
TencentCloudChatPush
class TencentCloudChatPush:推送插件接口类。
接口概览
注册/反注册推送服务接口
API | 描述 |
注册推送服务,可选覆盖推送信息来自接口参数 json。 | |
反注册推送服务。 | |
RegistrationID 是推送接收设备的唯一标识 ID。默认情况下,注册推送服务成功时自动生成该 ID,同时也支持您自定义设置。您可根据 RegistrationID 向指定设备推送消息。需要注意的是,卸载并重新安装设备会更改 RegistrationID,因此需要在注册推送服务之前调用 setRegistrationID 接口。 | |
在成功注册推送服务后,可通过调用 getRegistrationID 接口获取推送接收设备的唯一标识 ID,即RegistrationID。您可根据 RegistrationID 向指定设备推送消息。 |
Push 全局监听接口
API | 描述 |
添加 Push 监听器。 | |
移除 Push 监听器。 |
自定义配置接口接口
API | 描述 |
指定设备离线推送使用 FCM 通道,需要在注册推送服务之前调用。 | |
关闭 App 在前台时弹出通知栏。 |
接口详情
推送插件类
TencentCloudChatPush():获取 TencentCloudChatPush 推送插件实例,是一个静态单例。后续步骤, 均通过此单例实例, 进行方法调用。
成员函数说明
registerPush
注册推送服务,IM 账号登录成功后调用。
示例代码:
void _onNotificationClicked({required String ext, String? userID, String? groupID}) {print("_onNotificationClicked: $ext, userID: $userID, groupID: $groupID");/// 自定义处理}TencentCloudChatPush().registerPush(onNotificationClicked: _onNotificationClicked,sdkAppId: 您的sdkAppId,appKey: "客户端密钥",apnsCertificateID: 您配置的证书 ID);
参数说明:
参数 | 类型 | 说明 | | |
onNotificationClicked | ext | String | 为该消息所携带的完整 ext 信息,由发送方指定, 如果未指定,则有默认值。您可根据解析该字段,跳转至对应页面。 | |
| userID | String? | 本参数对应 userID,自动尝试解析 ext Json String, 获取里面携带的单聊对方 userID 。 说明: 如果您未自定义 ext 字段,ext 字段由 SDK 或 UIKit 默认指定,则可使用此处的默认解析。如果尝试解析失败,则为 null 空。 | |
| groupID | String? | 本参数对应 groupID,自动尝试解析 ext Json String, 获取里面携带的群聊 groupID 信息。 说明: 如果您未自定义 ext 字段,ext 字段由 SDK 或 UIKit 默认指定,则可使用此处的默认解析。如果尝试解析失败,则为 null 空。 | |
sdkAppId | | int? | IM 控制台为您分配的应用 ID | |
appKey | | String? | IM 控制台为您分配的客户端密钥 | |
apnsCertificateID | | int? | 如单独调用 setApnsCertificateID 方法已配置, 此项可不传。 | |
unRegisterPush
反注册离线推送服务。
示例代码:
TencentCloudChatPush().unRegisterPush();
setRegistrationID
设置注册离线推送服务使用的推送 ID 标识, 即 RegistrationID,需要在注册推送服务之前调用。
参数说明:
参数 | 描述 |
registrationID | 设备的推送标识 ID,卸载重装会改变。 |
示例代码:
TencentCloudChatPush().setRegistrationID(registrationID: registrationID);
getRegistrationID
注册离线推送服务成功后,获取推送 ID 标识,即 RegistrationID。
示例代码:
TencentCloudChatPush().getRegistrationID();
addPushListener
添加 Push 监听器
示例代码:
TIMPushListener timPushListener = TIMPushListener(onRecvPushMessage: (TimPushMessage message) {String messageLog = message.toLogString();debugPrint("message: $messageLog");},onRevokePushMessage: (String messageId) {debugPrint("message: $messageId");},onNotificationClicked: (String ext) {debugPrint("ext: $ext");});TencentCloudChatPush.addPushListener(listener: timPushListener);
removePushListener
移除 Push 监听器
示例代码:
TIMPushListener timPushListener = TIMPushListener(onRecvPushMessage: (TimPushMessage message) {String messageLog = message.toLogString();debugPrint("message: $messageLog");},onRevokePushMessage: (String messageId) {debugPrint("message: $messageId");},onNotificationClicked: (String ext) {debugPrint("ext: $ext");});TencentCloudChatPush.removePushListener(listener: timPushListener);
forceUseFCMPushChannel
指定设备离线推送使用 FCM 通道,需要在注册推送服务之前调用。
参数说明:
参数 | 描述 |
enable | true:使用 FCM 通道。 false:使用本机通道。 |
示例代码:
TencentCloudChatPush.forceUseFCMPushChannel(enable: true);
disablePostNotificationInForeground
关闭 App 在前台时弹出通知栏。推送 SDK 收到在线推送时,会自动向通知栏增加 Notification 提示,如果您想自己处理在线推送消息,可以调用该接口关闭自动弹通知栏提示的特性。
参数说明:
参数 | 描述 |
disable | true:关闭 false:开启 |
示例代码:
TencentCloudChatPush.disablePostNotificationInForeground(disable: true);