更新记录

0.2.0(2024-09-18) 下载此版本

  • 支持 FCM
  • 支持 hihonor

0.1.0(2024-09-10) 下载此版本

0.1.0(2024-09-10)

  • 使用 uts 开发,基于腾讯云推送服务(Push),支持 iOS 和 Android 推送,同时适配各大厂商推送。

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.8,Android:支持,iOS:支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

TencentCloud-Push

简介

使用 uts 开发,基于腾讯云推送服务(Push),支持 iOS 和 Android 推送,同时适配各大厂商推送。

腾讯云推送服务(Push)提供一站式 App 推送解决方案,助您轻松提升用户留存和互动活跃度,支持与腾讯云即时通信 IM SDK、实时音视频 TRTC SDK、音视频通话 SDK、直播 SDK等音视频终端产品协同集成,在不同场景联合使用,提升业务整体功能体验。

数据可视化,辅助运营策略

支持推送消息全链路问题排查

六地服务部署,严守数据安全

提供了中国、东南亚(新加坡、印尼雅加达)、东北亚(韩国首尔)、欧洲(德国法兰克福)以及北美(美国硅谷)数据存储中心供选择,每个数据中心均支持全球接入。如果您的应用在境外上线且用户主要在境外,您可以根据消息传输需求及合规要求,选择适合您业务的境外数据中心,保障您的数据安全。

快速跑通

步骤1:创建应用

进入 控制台 ,单击创建应用,填写应用名称,选择数据中心,单击确定,完成应用创建。

步骤2:开通推送服务 Push

进入 推送服务 Push,单击立即购买或免费试用 。(每个应用可免费试用一次,有效期7天)

步骤3:引入并注册腾讯云推送服务(Push)

将 SDKAppID 和 appKey 替换为您在IM 控制台 - 推送服务 Push - 接入设置页面 获取的应用的信息。如图所示:

// 集成 TencentCloud-Push
import * as Push from '@/uni_modules/TencentCloud-Push';
const SDKAppID = 0; // 您的 SDKAppID
const appKey = ''; // 客户端密钥
Push.registerPush(SDKAppID, appKey, (data) => {
        console.log('registerPush ok', data);
        Push.getRegistrationID((registrationID) => {
            console.log('getRegistrationID ok', registrationID);
        });
    }, (errCode, errMsg) => {
        console.error('registerPush failed', errCode, errMsg);
    }
);

步骤4:测试推送(测试前请务必打开手机通知权限,允许应用通知。)

单击 HBuilderX 的 【运行 > 运行到手机或模拟器 > 制作自定义调试基座】,使用云端证书制作 Android 或 iOS 自定义调试基座。

自定义调试基座打好后,安装到手机运行。

您可以使用 REST API 向全员或者被打标签的用户推送通知来测试效果,详见 全员/标签推送

离线推送厂商配置

【Android】

  1. 新建 nativeResources/android/assets 目录;
  2. 配置timpush-configs.json推送服务 Push > 接入设置 > 一键式快速配置下载)文件,到 nativeResources/android/assets/ 目录下。
  3. 可选厂商配置(华为、荣耀、vivo、FCM)。
华为 荣耀 vivo FCM
您需要支持华为推送时,需要配置agconnect-services.json (此文件获取详见 厂商配置 > uniapp > 华为 > 步骤4:获取应用信息)到 nativeResources/android/assets/ 目录下。 您需要支持 hihonor 推送时,需要配置appIDuni_modules/utssdk/app-android/AndroidManifest.xml 文件中的 com.hihonor.push.app_id 您需要支持 vivo 推送时,需要配置appIDappKeyuni_modules/utssdk/app-android/AndroidManifest.xml 文件中的 com.vivo.push.app_idcom.vivo.push.api_key 1. 配置 com.google.gms.google-servicesuni_modules/utssdk/app-android/config.jsonproject.plugin 中。
2. 配置 google-services.json 文件到 nativeResources/android/ 目录下。

【iOS】

  1. 新建 nativeResources/ios/Resources 目录;

  2. 在 nativeResources/ios/Resources 中新建 timpush-configs.json 文件

  3. 并将在 IM控制台 > 推送服务 Push > 接入设置 获取的证书ID,补充到 timpush-configs.json 文件中。

    {
    "businessID":"xxx" 
    }

实现点击通知栏回调

当收到推送的时候,您可在 App.vueonShow 回调函数内调用 getNotificationExtInfo 来获取推送扩展信息。

export default {
    onLaunch: function() {
    },
    onShow: function() {
        console.log('App Show')
        Push.getNotificationExtInfo((extInfo) => {
            console.log('getNotificationExtInfo ok', extInfo);
        })
    },
    onHide: function() {
        console.log('App Hide')
    }
}

接口

API 描述
registerPush 注册推送服务 (必须在 App 用户同意了隐私政策,并且允许为 App 用户提供推送服务后,再调用该接口使用推送服务)。
首次注册成功后,TencentCloud-Push SDK 生成该设备的标识 - RegistrationID。
业务侧可以把这个 RegistrationID 保存到业务服务器。业务侧根据 RegistrationID 向设备推送消息或者通知。
unRegisterPush 反注册关闭推送服务。
setRegistrationID 设置注册推送服务使用的推送 ID 标识,即 RegistrationID。
如果业务侧期望业务账号 ID 和推送 ID 一致,方便使用,可使用此接口,此时需注意,此接口需在 registerPush(注册推送服务)之前调用。
getRegistrationID 注册推送服务成功后,获取推送 ID 标识,即 RegistrationID。
getNotificationExtInfo 获取推送扩展信息。
registerPush(SDKAppID: number, appKey: string, onSuccess: (data: string) => void, onError?: (errCode: number, errMsg: string) => void);
属性 类型 必填 说明
SDKAppID number 推送(Push)应用 ID
appKey string 推送(Push)应用客户端密钥
onSuccess function 接口调用成功的回调函数
onError function 接口调用失败的回调函数
unRegisterPush(onSuccess: () => void, onError?: (errCode: number, errMsg: string) => void): void;
属性 类型 必填 说明
onSuccess function 接口调用成功的回调函数
onError function 接口调用失败的回调函数
setRegistrationID(registrationID: string,  onSuccess: () => void): void;
属性 类型 必填 说明
registrationID string 设备的推送标识 ID,卸载重装会改变。
onSuccess function 接口调用成功的回调函数
getRegistrationID(onSuccess: (registrationID: string) => void): void;
属性 类型 必填 说明
onSuccess function 接口调用成功的回调函数
getNotificationExtInfo(onSuccess: (extInfo: string) => void): void;
属性 类型 必填 说明
onSuccess function 接口调用成功的回调函数

隐私、权限声明

1. 本插件需要申请的系统权限列表:

本地存储空间

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

腾讯云即时通信IM隐私保护指引: https://web.sdk.qcloud.com/document/Tencent-IM-Privacy-Protection-Guidelines.html 移动推送隐私保护指引: https://privacy.qq.com/document/preview/8565a4a2d26e480187ed86b0cc81d727

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问