uniapp 接入极光推送

155 阅读1分钟

一、 注册极光账号

此处不多说了,需要什么按照极光官网注册就好了。

二、 安装和配置uniapp极光官方插件

去插件市场: DCloud插件市场找到JPush官方sdk和JCore官方sdk导入项目

在导入插件之前一定要先在极光官网注册应用,在导入插件时需要

截屏2025-10-21 15.33.57.png

截屏2025-10-21 15.34.13.png

三、 打开项目中manifest.json导入插件到项目

截屏2025-10-21 15.35.58.png

截屏2025-10-21 15.38.20.png

在上图相应位置填入在极光中注册的appid

如下图勾选push模块(⚠️注意不要勾选里边的选项) 截屏2025-10-21 16.53.52.png

四、uniapp中开发代码

app.vue中示例代码(官方示例及api)

// #ifdef APP-PLUS
// 极光消息推送
const jpushModule = uni.requireNativePlugin('JG-JPush');
jpushModule.initJPushService();
jpushModule.setLoggerEnable(false);
// 监听是否连接成功
jpushModule.addConnectEventListener(result => {
    let connectEnable = result.connectEnable;
    // 触发在login.vue 中对连接状态的监听
    uni.$emit('connectStatusChange', connectEnable)
    console.log("jpush连接", connectEnable)
  });
  // 监听消息送达
  jpushModule.addNotificationListener(result => {
      let notificationEventType = result.notificationEventType;
      let messageID = result.messageID;
      let title = result.title;
      let content = result.content;
      let extras = result.extras;
      console.log("通知", result);
      // 推送消息被点击时
      if (notificationEventType === 'notificationOpened') {
          // 点击推送消息的逻辑
          console.log("通知已被打开")
          // 立即清除本地角标
          plus.runtime.setBadgeNumber(0);
          jpushModule.setBadge(0); 
       }
});
// 立即清除本地角标
plus.runtime.setBadgeNumber(0);
jpushModule.setBadge(0); 						            
// #endif

在login.vue(或需要位置设置别名或者标签)

// #ifdef APP-PLUS
// 自定义别名
jpushModule.setAlias({
     'alias': 'myAlias',
     'sequence': 1
})
							            
// #endif

这里只是简单接入, 更复杂的处理或者想了解更多的api可以看一下官网文档

五、真机调试(需要制作自定义调试基座)

截屏2025-10-21 15.59.46.png

安卓设置

截屏2025-10-21 16.00.05.png

苹果设置

截屏2025-10-21 16.02.41.png

六、推送测试(利用极光官网后台直接推送)

截屏2025-10-21 16.10.41.png

测试机能收到推送就接入成功了~

WechatIMG8310.jpg