uniapp 极光推送
uniapp 集成极光推送的方法
在 uniapp 中集成极光推送,需要使用官方提供的插件或自行封装原生模块。以下是具体实现方式:
使用官方插件
- 在 uni-app 插件市场搜索「极光推送」插件,安装到项目中
- 按照插件文档配置 AppKey 等必要参数
- 在 manifest.json 中配置推送相关权限
Android 平台配置
<!-- AndroidManifest.xml 添加权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.VIBRATE"/>
iOS 平台配置

<!-- Info.plist 添加配置 -->
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
初始化极光推送
在项目入口文件或单独模块中初始化极光推送:
// 引入极光推送模块
const jpush = uni.requireNativePlugin('JG-JPush')
// 初始化配置
jpush.initJPushService({
appKey: '你的极光AppKey',
channel: 'developer-default',
production: false, // 开发环境设为false
openDebug: true // 开启调试模式
})
// 设置别名
jpush.setAlias({alias: 'user123'}, (res) => {
console.log('设置别名结果', res)
})
处理推送消息
需要分别处理前台和后台推送消息:
// 监听接收消息事件
jpush.addReceiveNotificationListener((event) => {
console.log('收到推送消息', event)
uni.showToast({
title: '收到推送:' + event.content,
icon: 'none'
})
})
// 监听点击通知事件
jpush.addReceiveOpenNotificationListener((event) => {
console.log('点击通知打开应用', event)
// 跳转到指定页面
uni.navigateTo({
url: '/pages/notification/notification'
})
})
常见问题解决方案
推送收不到问题 检查设备是否开启通知权限 确认 AppKey 配置正确 测试环境与生产环境证书配置匹配

iOS 推送证书配置 开发环境使用 Development 证书 生产环境使用 Production 证书 上传正确的推送证书到极光后台
消息透传处理 对于自定义消息,需要单独处理:
jpush.addReceiveCustomMsgListener((event) => {
console.log('收到自定义消息', event)
})
注意事项
Android 平台需要配置厂商通道提升送达率 iOS 平台需要配置 Capabilities 中的 Push Notifications 测试时建议使用极光控制台发送测试消息 生产环境记得关闭调试模式
以上方法适用于 uniapp 原生插件开发模式,如果使用 HTML5+ 方式实现,需要参考相应文档调整实现细节。






