```if (platform == 'android') {
// 注册推送,开始接收数据
aliyunPush.registerPush({}, result => {
const event = result.event;
const channel = uni.requireNativePlugin('Aliyun-Push-NotificationChannel');
// 检查 应用通知通道的总开关
const channelRes = channel.isNotificationEnabled({
id: 'amp_channel'
});
// 先创建NotificationChannel
channel.createChannel({
id: 'amp_channel',
name: '安卓通知通道',
desc: '安卓通知通道',
importance: 3,
});
// 厂商通道
const aliyunThirdPush = uni.requireNativePlugin('Aliyun-ThirdPush');
aliyunThirdPush.registerThirdPush({}, thirdRes => {
const data = JSON.stringify(thirdRes);
androidOperations(data, 1)
})
// 注册日志接口
aliyunThirdPush.registerLog({}, result => {
console.log("third push plugin log : " + result);
})
// 注册推送
if (event === 'registerPush') {
if (result.code === 'success') {
console.log("注册推送 成功 ");
// 获取设备推送ID,注意必须注册推送成功之后,才能获取
const idResult = aliyunPush.getDeviceId();
if (idResult.data.deviceId != '') {
// 存设备ID
console.log(idResult.data.deviceId, '存设备ID');
uni.setStorageSync('registerID', idResult.data.deviceId);
}
} else {
console.log("注册推送 " + result.code + " " + result.msg);
}
}
// 打开通知
else if (event === 'onNotificationOpened') {
// 跳转,具体业务
const res = JSON.stringify(result);
androidOperations(res, 2)
} else {
console.log("receive push data : " + JSON.stringify(result));
// uniapp的消息通知栏提示框
uni.createPushMessage({
title: result.data.title,
content: result.data.content
})
}
});
}
这里是安卓端代码,在emas后台推送信息,前台是能收到推送信息的,但是无法自己创建通知栏通知,只能自己通过uni.createPushMessage来创建,然后推送信息,只能拿到
```{"event":"onNotification","data":{"content":"测试通知内容2","title":"测试通知标题2","extra":{"_ALIYUN_NOTIFICATION_MSG_ID_":"8582154545503232","_ALIYUN_NOTIFICATION_ID_":"595725"}}}
拿不到跳具体页面的路径。求教怎么处理
如果您在使用 UniApp 接入阿里云移动推送时遇到通知栏无弹窗且无法离线推送的问题,可能有以下几个原因:
权限配置不正确:请确保您已经在应用程序的 AndroidManifest.xml 文件中正确配置了所需的权限,如<uses-permission android:name="android.permission.INTERNET" />
和<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
等。此外,还要确保已经申请了相关的推送权限。
设备注册问题:在接入阿里云移动推送时,需要确保设备已经成功注册到了阿里云移动推送服务。检查一下设备是否成功获取到了 DeviceToken(设备标识符)并进行了注册。
推送通道设置不正确:在使用 UniApp 接入阿里云移动推送时,需要根据目标平台的要求设置适当的推送通道。对于 Android 平台,您可以尝试使用小米推送或华为推送作为推送通道。确保已经按照相关文档进行配置,并正确填写了相应的参数。
通知栏样式配置问题:阿里云移动推送通知栏样式需要进行相应的配置。请检查您的通知栏样式配置是否正确,并且是否与您预期的效果一致。确保您已经设置了合适的标题、内容、图标等。
当Android设备接收到来自UniApp Aliyun Push的通知时,需要先订阅所需的消息类型,并安装通知插件才能正确地显示通知栏通知。请您安装如下插件:
Aliyun-ThirdPush:提供来自厂商渠道的额外通知功能。
当接收到消息后,需要将消息内容解析成对象,并传递给相应的通知插件进行展示。
为了实现离线推送,您可以按照如下方式实现:
在接收到来自Aliyun Push的通知时,将消息内容保存到本地存储器中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。