TimPushPlugin
class TimPushPlugin:推送插件接口类。
接口概览
注册/反注册推送服务接口
初始化并成功登录 IM 后,可以注册推送服务。
API | 描述 |
registerOnNotificationClickedEvent | 提前注册消息点击回调。 |
registerPush | 注册推送服务,可选覆盖推送信息来自接口参数 json。 |
unRegisterPush | 反注册离线推送服务,IM 账号登出时调用。 |
FCM 自定义铃音配置接口
配置打开后,自定义铃音生效,发送方发送消息的离线信息中需要带上该 channelId。
API | 描述 |
configFCMPrivateRing | 配置 FCM 的自定义铃音,需要在注册推送服务之前调用。 |
推送通道特殊配置接口
API | 描述 |
setPushBrandId | 指定设备离线推送使用的厂商通道类型,需要在注册推送服务之前调用。 |
getPushBrandId | 获取设备离线推送正在使用的厂商通道类型。 |
checkPushStatus | 各个厂商接入配置完成后,可使用该接口在对应厂商设备上测试可 push 状态。 |
setApnsCertificateID | 单独配置 APNs 的推送证书 ID。 |
setApplicationGroupID | 配置 iOS 项目的 Application Group ID。 |
getAndroidPushToken | 获取 Android 设备厂商 Token。 |
setAndroidPushToken | 手动指定 Android 设备厂商 Token。 |
setAndroidCustomTIMPushConfigs | 自定义替换插件默认读取的注册推送配置文件 timpush-configs.json,需要在注册推送服务之前调用。 |
接口详情
推送插件类
TimPushPlugin.getInstance():获取 TimPushPlugin 推送插件实例,是一个静态单例。后续步骤,均通过此单例实例,进行方法调用。
成员函数说明
registerOnNotificationClickedEvent
配置消息点击回调函数。
您可根据需要,提前调用或动态调整该回调函数,也可以在
registerPush
的时候直接传入。示例代码:
const _onNotificationClicked = (ext, userID, groupID) => {// 自定义处理} TimPushPlugin.getInstance().registerOnNotificationClickedEvent(_onNotificationClicked);
参数说明:
参数 | 类型 | 说明 | |
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 空。 |
registerPush
注册离线推送服务,IM 账号登录成功后调用。
示例代码:
TimPushPlugin.getInstance().registerPush({onNotificationClicked: _onNotificationClicked, androidPushOEMConfig: "可留空 null", apnsCertificateID: 0,});
参数说明:
参数 | 类型 | 说明 | |
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 空。 |
androidPushOEMConfig | | String | 如果已配置导入 timpush-configs.json 配置文件,则此项留空即可。此项的意义是覆盖 json 文件中的参数,或在找不到 json 文件时使用
可选 Android 端参数 json:
|
apnsCertificateID | | int | 如单独调用 setApnsCertificateID 方法已配置,此项可不传。 |
unRegisterPush
反注册离线推送服务,IM 账号登出后调用。
示例代码:
TimPushPlugin.getInstance().unRegisterPush();
configFCMPrivateRing
配置 FCM 的自定义铃音,需要在注册推送服务之前调用。
示例代码:
TimPushPlugin.getInstance().configFCMPrivateRing({channelId: channelId,ringName: ringName,enable: enable});
参数说明:
参数名 | 类型 | 说明 |
channelId | String | FCM 通道自定义通知栏的 channel ID,应用内唯一。 |
ringName | String | FCM 通道自定义通知栏的推送铃音名称,raw 目录下铃音且不需要后缀名。 |
enable | bool | 设置离线推送提示铃音是否使用自定义铃音。 |
注意:
配置打开后,自定义铃音生效,发送方发送消息的离线信息中需要带上该 channelId。
setPushBrandId
指定设备离线推送使用的厂商通道类型,需要在注册推送服务之前调用。
说明:
该接口可以指定使用厂商推送通道类型,例如在国外的小米设备指定使用 FCM 通道推送 setPushBrandId(TencentCloudChatPushBrandID.FCM)。
一般不指定通道类型,组件会自动识别设备厂商类别来注册使用对应的厂商通道。
示例代码:
TimPushPlugin.getInstance().setPushBrandId(brandID);
参数说明:
参数 | 描述 | |
brandID | 厂商 | 设备类型 |
| XiaoMi | TencentCloudChatPushBrandID.XiaoMi |
| HuaWei | TencentCloudChatPushBrandID.HuaWei |
| FCM | TencentCloudChatPushBrandID.FCM |
| Meizu | TencentCloudChatPushBrandID.Meizu |
| Oppo | TencentCloudChatPushBrandID.Oppo |
| Vivo | TencentCloudChatPushBrandID.Vivo |
| Honor | TencentCloudChatPushBrandID.Honor |
getPushBrandId
获取设备离线推送正在使用的厂商通道类型。
示例代码:
const res = await TimPushPlugin.getInstance().getPushBrandId();if(res.code ==0) {const brandID = res.data;}
返回类型:
Promise<PushResult<number>>
checkPushStatus
各个厂商接入配置完成后,可使用该接口在对应厂商设备上测试是否可接收推送。
示例代码:
const res = await TimPushPlugin.getInstance().checkPushStatus(brandID); if(res.code == 0){ const status = res.data; }
参数说明:
参数名 | 类型 | 说明 |
brandID | TencentCloudChatPushBrandID |
返回类型:
Promise<PushResult<string>>
若为true,则可以成功推送。
setApnsCertificateID
单独配置 APNs 的推送证书 ID。 您可根据需要,提前调用或动态调整证书 ID 用此方法,也可以在
registerPush
的时候直接传入。示例代码:
TimPushPlugin.getInstance().setApnsCertificateID(apnsCertificateID);
参数说明:
参数名 | 类型 | 说明 |
apnsCertificateID | number | 腾讯云 IM 控制台上为 APNs 证书分配到的证书 ID。 |
setApplicationGroupID
配置 iOS 项目的 Application Group ID。
示例代码:
TimPushPlugin.getInstance().setApplicationGroupID(applicationGroupID);
参数说明:
参数名 | 类型 | 说明 |
applicationGroupID | String | 格式为: group + [主bundleID] + key。 |
getAndroidPushToken
获取 Android 设备厂商 Token。
示例代码:
TimPushPlugin.getInstance().getAndroidPushToken();
返回类型:
Promise<PushResult<string>>
返回的 String 类型 data 即为厂商推送 Token.。
setAndroidPushToken
手动指定 Android 设备厂商 Token。
示例代码:
TimPushPlugin.getInstance().setAndroidPushToken({businessID: 10000,pushToken: "pushToken"});
参数说明:
参数名 | 类型 | 说明 |
businessID | String | 推送证书 ID,从腾讯云 IM 控制台,该推送证书卡片查看获取。 |
pushToken | String | 通过自己的方式,获取到的厂商推送 Token。 |