npm install @tencentcloud/chat@latest
控制台配置 | manifest.json 荣耀配置 |
| |
控制台配置 | manifest.json vivo 配置 |
| |
iOS appGroupID 生成指引 | manifest.json iOS 配置 |
|
"<uses-permission android:name=\\"android.permission.INTERNET\\" />","<uses-permission android:name=\\"android.permission.ACCESS_NETWORK_STATE\\" />","<uses-permission android:name=\\"android.permission.ACCESS_WIFI_STATE\\" />","<uses-permission android:name=\\"android.permission.WRITE_EXTERNAL_STORAGE\\" />"
// #ifdef APP-PLUSimport TIMPushConfigs from "./timpush-configs.json";const TIMPush = uni.requireNativePlugin("TencentCloud-TIMPush");console.warn(`TencentCloud-TIMPush: uni.requireNativePlugin ${!!TIMPush ? 'success' : 'fail'}`);uni.$TIMPush = TIMPush;uni.$TIMPushConfigs = TIMPushConfigs || {};// #endif
import { TUILogin } from "@tencentcloud/tui-core";TUILogin.login({SDKAppID: 0, // 接入时需要将0替换为您的即时通信应用的 SDKAppIDuserID: '',// UserSig 是用户登录即时通信 IM 的密码,其本质是对 UserID 等信息加密后得到的密文。// 该方法仅适合本地跑通 Demo 和功能调试,详情请参见 https://www.tencentcloud.com/document/product/269/32688?from_cn_redirect=1userSig: '',// 如果您需要发送图片、语音、视频、文件等富媒体消息,请设置为 trueuseUploadPlugin: true,framework: `vue${vueVersion}` // 当前开发使用框架 vue2 / vue3TIMPush: uni.$TIMPush, // APP 注册推送插件pushConfig: {androidConfig: uni.$TIMPushConfigs, // Android 推送配置,如不需要可传空。iOSConfig: {"iOSBusinessID": "" // iOS 推送配置,如不需要可传空。}}})
import TencentCloudChat from '@tencentcloud/chat';const chat = TencentCloudChat.create({SDKAppID: 0}) // 接入时需要将0替换为您的即时通信应用的 SDKAppIDchat.registerPlugin({'tim-push': uni.$TIMPush,pushConfig: {androidConfig: uni.$TIMPushConfigs, // Android 推送配置,如不需要可传空。iOSConfig: {"iOSBusinessID": "xxx" // iOS 推送配置,如不需要可传空。}}})chat.login({userID: '', // 用户 ID。userSig: '' // 用户登录即时通信 IM 的密码,其本质是对 UserID 等信息加密后得到的密文。具体生成方法请参见 https://www.tencentcloud.com/document/product/269/32688?from_cn_redirect=1})
TIMPushModule._setToken ok
打印,表示 TencentCloud-TIMPush 集成成功,如图所示:// 发送普通文本消息let promise = TUIChatService.sendTextMessage({payload: { text: 'Hello world!' }},{// 如果接收方不在线,则消息将存入漫游,且进行离线推送(在接收方 App 退后台或者进程被 kill 的情况下)。接入侧可自定义离线推送的标题及内容offlinePushInfo: {title: '', // 离线推送标题。description: '', // 离线推送内容。extension: '', // 离线推送透传内容}});promise.catch((error) => {// 调用异常时业务侧可以通过 promise.catch 捕获异常进行错误处理});
// 消息发送选项chat.sendMessage(message, {// 如果接收方不在线,则消息将存入漫游,且进行离线推送(在接收方 App 退后台或者进程被 kill 的情况下)。接入侧可自定义离线推送的标题及内容offlinePushInfo: {title: '', // 离线推送标题。description: '', // 离线推送内容。extension: '', // 离线推送透传内容}});
App.vue
文件中获取透传内容,配置指定跳转页面。onLaunch: function () {// #ifdef APP-PLUS// 在 App.vue, 生命钩子 onLaunch 中监听if (uni.$TIMPush) {uni.$TIMPush.setOfflinePushListener((data) => {// 透传 entity 中的内容,不包含推送的 Messageconsole.log('setOfflinePushListener', data);// 跳转到应用内指定界面uni.navigateTo({url: "/pages/xxx/xxx",});});}// #endif}
extension
保持一致, extension
中需要包含 entity
字段。华为 | vivo | OPPO | 小米 | 魅族 | FCM |
将推送消息分为服务与通讯类和资讯营销类,推送效果和策略不同。另外,消息分类还和自分类权益有关:
无自分类权益,推送消息厂商还会进行二次智能分类 。
有申请自分类权益,消息分类会按照自定义的分类进行推送。 具体请参见
厂商描述
。 | 将推送消息分为系统消息类和运营消息类,推送效果和策略不同。系统消息类型还会进行厂商的智能分类二次修正,若智能分类识别出不是系统消息,会自动修正为运营消息,如果误判可邮件申请反馈。另外,消息推送也受日推总数量限制,日推送量由应用在厂商订阅数统计决定。 具体请参见
厂商描述1
或
厂商描述2
。 | 将推送消息分为私信消息类和公信消息类,推送效果和策略不同。其中私信消息是针对用户有一定关注度,且希望能及时接收的信息,私信通道权益需要邮件申请。公信通道推送数量有限制。 具体请参见
厂商描述1
或
厂商描述2
。 | 将推送消息分为重要消息类和普通消息类,推送效果和策略不同。其中重要消息类型仅允许即时通讯消息、个人关注动态提醒、个人事项提醒、个人订单状态变化、个人财务提醒、个人状态变化、个人资源变化、个人设备提醒这8类消息推送,可以在厂商控制台申请开通。普通消息类型推送数量有限制。 具体请参见
厂商描述1
或
厂商描述2
。 | 推送消息数量有限制。 具体请参见
厂商描述
。 | 推送上行消息频率有限制。 具体请参见
厂商描述
。 |
nativeResources/android/assets
路径下。详细可参见 uniapp 厂商配置 - Android - 华为。
本页内容是否解决了您的问题?