tencent cloud

文档反馈

最后更新时间:2024-06-13 10:39:26

    TencentCloudChatPush

    class TencentCloudChatPush:推送插件接口类。

    接口概览

    注册/反注册推送服务接口

    初始化并成功登录 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,需要在注册推送服务之前调用。

    接口详情

    推送插件类

    TencentCloudChatPush():获取 TencentCloudChatPush 推送插件实例, 是一个静态单例。后续步骤, 均通过此单例实例, 进行方法调用。

    成员函数说明

    registerOnNotificationClickedEvent

    配置消息点击回调函数。
    您可根据需要, 提前调用或动态调整该回调函数, 也可以在 registerPush 的时候直接传入。
    示例代码:
    void _onNotificationClicked({required String ext, String? userID, String? groupID}) { print("_onNotificationClicked: $ext, userID: $userID, groupID: $groupID"); /// 自定义处理 } TencentCloudChatPush().registerOnNotificationClickedEvent(onNotificationClicked: _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 账号登录成功后调用。
    示例代码:
    TencentCloudChatPush().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:
    androidPushOEMConfig: { // huawei "huaweiPushBussinessId": "", // 在腾讯云控制台上传第三方推送证书后分配的证书ID "huaweiBadgeClassName": "", // 角标参数,默认为应用的 launcher 界面的类名 // xiaomi "xiaomiPushBussinessId": "",// 在腾讯云控制台上传第三方推送证书后分配的证书ID "xiaomiPushAppId": "",// 小米开放平台分配的应用APPID "xiaomiPushAppKey": "",// 小米开放平台分配的应用APPKEY // meizu "meizuPushBussinessId": "", // 在腾讯云控制台上传第三方推送证书后分配的证书ID "meizuPushAppId": "",// 魅族开放平台分配的应用APPID "meizuPushAppKey": "",// 魅族开放平台分配的应用APPKEY // vivo "vivoPushBussinessId": "", // 在腾讯云控制台上传第三方推送证书后分配的证书ID // google "fcmPushBussinessId": "", // 在腾讯云控制台上传第三方推送证书后分配的证书ID // oppo "oppoPushBussinessId": "", // 在腾讯云控制台上传第三方推送证书后分配的证书ID "oppoPushAppKey": "",// oppo开放平台分配的应用 AppKey "oppoPushAppSecret": "",// oppo开放平台分配的应用 AppSecret // honor "honorPushBussinessId": "", // 在腾讯云控制台上传第三方推送证书后分配的证书ID }
    apnsCertificateID
    int
    如单独调用 setApnsCertificateID 方法已配置, 此项可不传。

    unRegisterPush

    反注册离线推送服务,IM 账号登出后调用。
    示例代码:
    TencentCloudChatPush().unRegisterPush();

    configFCMPrivateRing

    配置 FCM 的自定义铃音,需要在注册推送服务之前调用。
    示例代码:
    TencentCloudChatPush().configFCMPrivateRing(channelId: channelId, ringName: ringName, enable: enable);
    参数说明:
    参数名
    类型
    说明
    channelId
    String
    FCM 通道自定义通知栏的 channel ID,应用内唯一。
    ringName
    String
    FCM 通道自定义通知栏的推送铃音名称,raw 目录下铃音且不需要后缀名。
    enable
    bool
    设置离线推送提示铃音是否使用自定义铃音。
    注意:
    配置打开后,自定义铃音生效,发送方发送消息的离线信息中需要带上该 channelId。

    setPushBrandId

    指定设备离线推送使用的厂商通道类型,需要在注册推送服务之前调用。
    说明:
    该接口可以指定使用厂商推送通道类型,例如在国外的小米设备指定使用 FCM 通道推送 setPushBrandId(TencentCloudChatPushBrandID.FCM)。
    一般不指定通道类型,组件会自动识别设备厂商类别来注册使用对应的厂商通道。
    示例代码:
    TencentCloudChatPush().setPushBrandId(brandID: brandID);
    
    参数说明
    参数
    描述
    brandID
    厂商
    设备类型
    XiaoMi
    TencentCloudChatPushBrandID.XiaoMi
    HuaWei
    TencentCloudChatPushBrandID.HuaWei
    FCM
    TencentCloudChatPushBrandID.FCM
    Meizu
    TencentCloudChatPushBrandID.Meizu
    Oppo
    TencentCloudChatPushBrandID.Oppo
    Vivo
    TencentCloudChatPushBrandID.Vivo
    Honor
    TencentCloudChatPushBrandID.Honor

    getPushBrandId

    获取设备离线推送正在使用的厂商通道类型。
    示例代码:
    final res = await TencentCloudChatPush().getPushBrandId(); if(res.code == 0){ final TencentCloudChatPushBrandID brandID = res.data; }
    返回类型:
    Future<TencentCloudChatPushResult<TencentCloudChatPushBrandID>>

    checkPushStatus

    各个厂商接入配置完成后,可使用该接口在对应厂商设备上测试是否可接收推送。
    示例代码:
    final res = await TencentCloudChatPush().checkPushStatus(brandID: 2002); if(res.code == 0){ final status = res.data; }
    参数说明:
    参数名
    类型
    说明
    brandID
    TencentCloudChatPushBrandID
    BrandID 定义如上表所示。
    返回类型:
    Future<TencentCloudChatPushResult<String>>
    若为true, 则可以成功推送。

    setApnsCertificateID

    单独配置 APNs 的推送证书 ID。 您可根据需要, 提前调用或动态调整证书 ID 用此方法, 也可以在 registerPush 的时候直接传入。
    示例代码:
    TencentCloudChatPush().setApnsCertificateID(apnsCertificateID: 0);
    参数说明:
    参数名
    类型
    说明
    apnsCertificateID
    int
    腾讯云 IM 控制台上为 APNs 证书分配到的证书 ID。

    setApplicationGroupID

    配置 iOS 项目的 Application Group ID。
    示例代码:
    TencentCloudChatPush().setApplicationGroupID(applicationGroupID: "");
    参数说明:
    参数名
    类型
    说明
    applicationGroupID
    String
    格式为: group + [主bundleID] + key。

    getAndroidPushToken

    获取 Android 设备厂商 Token。
    示例代码:
    TencentCloudChatPush().getAndroidPushToken();
    返回类型:
    Future<TencentCloudChatPushResult<String>>
    返回的 String 类型 data 即为厂商推送 Token.。

    setAndroidPushToken

    手动指定 Android 设备厂商 Token。
    示例代码:
    TencentCloudChatPush().setAndroidPushToken(businessID: 10000, pushToken: "pushToken");
    参数说明:
    参数名
    类型
    说明
    businessID
    String
    推送证书 ID , 从腾讯云IM控制台, 该推送证书卡片查看获取。
    pushToken
    String
    通过自己的方式, 获取到的厂商推送 Token。

    setAndroidCustomTIMPushConfigs

    自定义替换插件默认读取的注册推送配置文件 timpush-configs.json,需要在注册推送服务 (registerPush) 之前调用。
    说明:
    主要用于多环境下动态切换不同配置文件的推送注册,例如:正式环境和测试环境不同配置文件下的推送功能集成和测试。
    示例代码:
    TencentCloudChatPush().setAndroidCustomTIMPushConfigs(configs: "");
    参数说明:
    参数名
    类型
    说明
    configs
    String
    自定义配置文件的名称,路径需保持不变:"工程根目录/android/app/src/assets/"。
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持