uni-app uni.createPushMessage 创建成功后点击无法唤起APP
uni-app uni.createPushMessage 创建成功后点击无法唤起APP
示例代码:
uni.createPushMessage 创建成功后点击无法唤起APP 通过云函数推送也无法唤起 app
个推推送 可以唤起
操作步骤:
uni.createPushMessage 创建成功后点击无法唤起APP 通过云函数推送也无法唤起 app
个推推送 可以唤起
预期结果:
唤起app
实际结果:
uni.createPushMessage 创建成功后点击无法唤起APP 通过云函数推送也无法唤起 app
个推推送 可以唤起
bug描述:
uni.createPushMessage 创建成功后点击无法唤起APP 通过云函数推送也无法唤起 app
个推推送 可以唤起
| 信息项 | 内容 |
|-------------------|------------------------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境版本号 | 11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.0 |
| 手机系统 | Android |
| 手机系统版本号 | Android 14 |
| 手机厂商 | 小米 |
| 手机机型 | 12x |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
vue2,hb3.99 刚试了下,是可以的
<template>
<view >
<view @click="test">点</view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onLoad() {
},
methods: {
test() {
//初始化 Wi-Fi 模块。
uni.createPushMessage({
title: 'ddddddd',
content:'ffffffffffff',
when: new Date(),
sound: 'system', //显示消息时的播放的提示音,可取值: “system”-表示使用系统通知提示音; “none”-表示不使用提示音; 默认值为“system”。
// payload: res.data.payload,
success(mres) {
console.log("createPushMessage:", mres) //监听推送消息 透传消息
// const innerAudioContext = uni.createInnerAudioContext();
// innerAudioContext.autoplay = true;
// innerAudioContext.src = '/static/sound/pushsound.mp3';
}
})
}
}
}
</script>请问用的什么设备,打的自定义基座吗 我的也是3.99 小米 华为 oppo 谷歌的手机都试了 不行, hbuild 4.1的也不行
回复 套马杆的套子: uni.createPushMessage({ title: ‘ddddddd’, content: ‘ffffffffffff’, when: new Date(), sound: ‘system’, //显示消息时的播放的提示音,可取值: “system”-表示使用系统通知提示音; “none”-表示不使用提示音; 默认值为“system”。 // payload: res.data.payload, success(mres) { console.log(“createPushMessage:”, mres) //监听推送消息 透传消息 // const innerAudioContext = uni.createInnerAudioContext(); // innerAudioContext.autoplay = true; // innerAudioContext.src = ‘/static/sound/pushsound.mp3’; } })
我已经切了新项目了 还是不行 是和勾选 谷歌 fcm有关吗?
回复 套马杆的套子: ios 的是正常的 就是安卓有问题
回复 套马杆的套子: 安卓的 targetsdkversion 是 33 这个有关系吗
回复 1***@163.com: 没关系,我也有fcm。。我再搞个新的试试
你看下附件这个,直接重新创建的,也没问题
你好 我刚试了一下标准基座是可以的, 我的那个项目 标准基座也是可以的 但是打自定义基座就唤不起来,
回复 1***@163.com: 应该是你项目的问题,我也刚试了,自定义基座的,也是可以的
回复 套马杆的套子: { “name” : “Eightcoin”, “appid” : “_06F1”, “description” : “”, “versionName” : “1.0.0”, “versionCode” : 110, “transformPx” : false, / 5+App特有相关 / “app-plus” : { “usingComponents” : true, “nvueStyleCompiler” : “uni-app”, “compilerVersion” : 3, “splashscreen” : { “alwaysShowBeforeRender” : true, “waiting” : true, “autoclose” : true, “delay” : 0 }, “safearea” : { “background” : “#ffffff”, “backgroundDark” : “#2f0508”, “bottom” : { “offset” : “auto” } }, / 模块配置 / “modules” : { “Push” : {} }, / 应用发布信息 / “distribute” : { / android打包配置 / “android” : { “permissions” : [ “<uses-permission android:name=“android.permission.CHANGE_NETWORK_STATE”/>”, “<uses-permission android:name=“android.permission.MOUNT_UNMOUNT_FILESYSTEMS”/>”, “<uses-permission android:name=“android.permission.VIBRATE”/>”, “<uses-permission android:name=“android.permission.READ_LOGS”/>”, “<uses-permission android:name=“android.permission.ACCESS_WIFI_STATE”/>”, “<uses-feature android:name=“android.hardware.camera.autofocus”/>”, “<uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE”/>”, “<uses-permission android:name=“android.permission.CAMERA”/>”, “<uses-permission android:name=“android.permission.GET_ACCOUNTS”/>”, “<uses-permission android:name=“android.permission.READ_PHONE_STATE”/>”, “<uses-permission android:name=“android.permission.CHANGE_WIFI_STATE”/>”, “<uses-permission android:name=“android.permission.WAKE_LOCK”/>”, “<uses-permission android:name=“android.permission.FLASHLIGHT”/>”, “<uses-feature android:name=“android.hardware.camera”/>”, “<uses-permission android:name=“android.permission.WRITE_SETTINGS”/>” ], “abiFilters” : [ “armeabi-v7a”, “arm64-v8a”, “x86” ], “minSdkVersion” : 21, “targetSdkVersion” : 33, “excludePermissions” : [ “<uses-permission android:name=“android.permission.SCHEDULE_EXACT_ALARM”/>” ] }, / ios打包配置 / “ios” : { “idfa” : false, “dSYMs” : false }, / SDK配置 / “sdkConfigs” : { “push” : { “unipush” : { “version” : “2”, “offline” : true, “fcm” : {} } }, “ad” : {} }, “splashscreen” : { “useOriginalMsgbox” : true }, “icons” : { “android” : { “hdpi” : “unpackage/res/icons/72x72.png”, “xhdpi” : “unpackage/res/icons/96x96.png”, “xxhdpi” : “unpackage/res/icons/144x144.png”, “xxxhdpi” : “unpackage/res/icons/192x192.png” }, “ios” : { “appstore” : “unpackage/res/icons/1024x1024.png”, “ipad” : { “app” : “unpackage/res/icons/76x76.png”, “app@2x” : “unpackage/res/icons/152x152.png”, “notification” : “unpackage/res/icons/20x20.png”, “notification@2x” : “unpackage/res/icons/40x40.png”, “proapp@2x” : “unpackage/res/icons/167x167.png”, “settings” : “unpackage/res/icons/29x29.png”, “settings@2x” : “unpackage/res/icons/58x58.png”, “spotlight” : “unpackage/res/icons/40x40.png”, “spotlight@2x” : “unpackage/res/icons/80x80.png” }, “iphone” : { “app@2x” : “unpackage/res/icons/120x120.png”, “app@3x” : “unpackage/res/icons/180x180.png”, “notification@2x” : “unpackage/res/icons/40x40.png”, “notification@3x” : “unpackage/res/icons/60x60.png”, “settings@2x” : “unpackage/res/icons/58x58.png”, “settings@3x” : “unpackage/res/icons/87x87.png”, “spotlight@2x” : “unpackage/res/icons/80x80.png”, “spotlight@3x” : “unpackage/res/icons/120x120.png” } } } } }, / 快应用特有相关 / “quickapp” : {}, / 小程序特有相关 / “mp-weixin” : { “appid” : “”, “setting” : { “urlCheck” : false }, “usingComponents” : true }, “mp-alipay” : { “usingComponents” : true }, “mp-baidu” : { “usingComponents” : true }, “mp-toutiao” : { “usingComponents” : true }, “uniStatistics” : { “enable” : false }, “vueVersion” : “2”, “locale” : “auto” }
回复 套马杆的套子: 这个是配置项 能麻烦看一下是配置问题吗
麻烦帮我看一下
回复 1***@163.com: 这就不能确定了,只能证明是你代码的问题。配置看着是没事,但是也看不出来,可能有的图片大小,logo,图片等的都有可能影响,虽然概率不太大。所以,还是说,你重建新项目也都试试。看如果都可以,然后给有问题的项目粘出来一份,一点一点删着试吧
回复 套马杆的套子: 。。。。好吧
在使用 uni-app
的 uni.createPushMessage
创建推送消息后,点击推送消息无法唤起 APP,可能是由于以下原因导致的。你可以按照以下步骤进行排查和解决:
1. 检查推送消息的跳转链接
确保在创建推送消息时,设置的跳转链接(path
或 url
)是正确的,并且能够正确对应到 APP 内的页面。例如:
uni.createPushMessage({
title: '测试推送',
content: '这是一条测试推送消息',
payload: {
path: '/pages/index/index' // 确保路径正确
}
});
如果路径不正确,点击推送消息后无法找到对应的页面,自然无法唤起 APP。
2. 检查 APP 的 manifest.json 配置
确保在 manifest.json
中正确配置了推送消息的处理逻辑。特别是 push
相关的配置项需要正确设置。例如:
{
"name": "your-app",
"appid": "",
"description": "",
"push": {
"provider": "unipush", // 推送服务提供商
"options": {
"appid": "your-appid",
"appkey": "your-appkey"
}
}
}
如果你使用的是第三方推送服务(如个推、极光推送等),确保在 manifest.json
中正确配置了对应的推送服务参数。
3. 检查推送消息的点击事件处理
在 App.vue
或对应的页面中,确保监听了推送消息的点击事件,并正确处理了推送消息的跳转逻辑。例如:
export default {
onLaunch: function() {
// 监听推送消息点击事件
uni.onPushMessage((res) => {
console.log('收到推送消息:', res);
if (res.payload && res.payload.path) {
uni.navigateTo({
url: res.payload.path
});
}
});
}
}
如果没有正确处理推送消息的点击事件,点击推送消息后无法触发页面跳转。
4. 检查推送服务的回调 URL
如果你使用的是第三方推送服务,确保在推送服务后台配置了正确的回调 URL,并且该 URL 能够正确指向你的 APP。
5. 检查 APP 的运行环境
确保 APP 在正确的环境中运行。例如,推送消息的唤起功能在开发环境中可能无法正常使用,建议在真机上进行测试。
6. 检查推送消息的 payload 格式
确保 payload
的格式是正确的,并且在点击推送消息时,payload
能够被正确解析。例如:
uni.createPushMessage({
title: '测试推送',
content: '这是一条测试推送消息',
payload: {
path: '/pages/index/index', // 跳转路径
query: 'id=123' // 可选参数
}
});