Redmi K70 和 小米14pro 在 uni-app 中接入 unipush2 之后通知管理无法打开其他品牌手机正常

Redmi K70 和 小米14pro 在 uni-app 中接入 unipush2 之后通知管理无法打开其他品牌手机正常

开发环境 版本号 项目创建方式
Windows widows 10 专业版 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:widows 10 专业版

HBuilderX类型:正式

HBuilderX版本号:4.29

手机系统:Android

手机系统版本号:Android 15

手机厂商:小米

手机机型:Redmi K70

页面类型:vue

vue版本:vue2

打包方式:云端

项目创建方式:HBuilderX

App下载地址或H5网址:https://file.market.xiaomi.com/download/AppStore/07c6e211cf2c145aeaedf7aecd49313fb2040c364/com.az.system.android_7.5.06.apk

示例代码:

onLaunch当中执行了:
uni.getPushClientId({
success: (res) => {
console.log('客户端推送标识cid:', res.cid)
// plus.nativeUI.alert(`客户端推送标识cid:${push_clientid} (仅供测试,上线记得提醒关闭)`)
this.globalData.push_clientid = res.cid || ''
},
fail(err) {
console.log(err)
}
})
云函数:
'use strict';
const uniPush = uniCloud.getPushManager({
appId: "****"
})
exports.main = async (event) => {
let obj = JSON.parse(event.body)
const res = await uniPush.sendMessage({
"push_clientid": obj.cids, // 设备id,支持多个以数组的形式指定多个设备,如["cid-1","cid-2"],数组长度不大于1000
"title": obj.title||'', // 标题
"content": obj.content||'', // 内容
"payload": obj.data||{}, // 数据
"force_notification": true, // 服务端推送 需要加这一句
"request_id": obj.request_id //请求唯一标识号,10-32位之间;如果request_id重复,会导致消息丢失
})
return res   //一定要return回去
};

更多关于Redmi K70 和 小米14pro 在 uni-app 中接入 unipush2 之后通知管理无法打开其他品牌手机正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

VIVO也遇到了

更多关于Redmi K70 和 小米14pro 在 uni-app 中接入 unipush2 之后通知管理无法打开其他品牌手机正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


使用最新hx 自定义基座

不行呢 用了4.56版本打了自定义包不行。以前3.98都可以的,然后现在无论哪个版本打正式包都没有用呢

回复 1***@qq.com: 你重新打个自定义基座,然后发我一下appid

回复 DCloud_Android_THB: 好,uni-app应用唯一标识的AppID嘛?

针对Redmi K70和小米14 Pro在uni-app接入UniPush2后通知管理无法打开的问题,以下是可能的原因和解决方案:

  1. 小米机型特殊权限问题:
  • 检查是否已授予应用自启动权限(小米设备默认会限制后台运行)
  • 在设置->通知管理中确保应用通知权限已开启
  • 在电池优化设置中将应用设为"无限制"
  1. Unipush2适配问题:
  • 确认manifest.json中已正确配置push模块:
"push": {
    "unipush": {
        "appid": "你的UniPush AppID"
    }
}
  1. 客户端代码建议修改:
// 增加ready监听
uni.onPushMessageReady(() => {
    uni.getPushClientId({
        success: (res) => {
            console.log('客户端推送标识cid:', res.cid)
            this.globalData.push_clientid = res.cid || ''
        },
        fail(err) {
            console.log('获取cid失败:', err)
            // 可加入重试逻辑
        }
    })
})
回到顶部