首页 > 其他分享 >uniapp中使用极光推送

uniapp中使用极光推送

时间:2023-07-10 13:22:22浏览次数:42  
标签:uniapp cn 极光 id let result 推送 jpushModule

1、注册极光账号

2、注册几个主流手机厂商的开发者账号(注册手机厂商,可以保证app进程不在的时候走厂商通道推送消息)

 3、配置uniapp极光插件

 https://ext.dcloud.net.cn/plugin?id=4028

 https://ext.dcloud.net.cn/plugin?id=4035

点击mainifest.json中的【APP原生插件配置】,选择云端插件,点击确定按钮导入,在mainifest.json的源码视图中配置应用AppKey等信息

 4、uniapp中添加代码

在App.vue, onLaunch中添加以下代码

// #ifdef APP-PLUS
// 极光消息推送
            const jpushModule = uni.requireNativePlugin("JG-JPush")
            jpushModule.setLoggerEnable(true);
            jpushModule.initJPushService();
// 监听是否连接成功
            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("通知已被打开")
                }
            });
            jpushModule.addCustomMessageListener(result => {
                let messageID = result.messageID;
                let content = result.content;
                let extras = result.extras;
                console.log("自定义消息", result);
            })
// 自定义别名
            jpushModule.setAlias({
                'alias': 'myAlias',
                'sequence': 1
            })
            
// #endif

在login.vue 中注册推送id 并传给后端。

在longin.vue 中监听 连接是否成功

在登陆成功后的 注册id 并推送,注册id的代码如下

5、本地设置应用角标(只有部分厂商支持)

https://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.setBadgeNumberhttps://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.setBadgeNumber

6、后台java配置

 后台推送说明文档:https://docs.jiguang.cn/jpush/server/push

url:https://api.jpush.cn/v3/push
请求方式:post
{
   "platform": "all",
   "audience" : {"registration_id" : [ "13065ffa4f199952d17","8914afd2"]},
   "notification" : {
      "android" : {
             "alert" : "安卓内容1",
             "title" : "安卓标题1",
             "style":1 ,
             "sound" : "/raw/info"
        },
      "ios" : {
                 "alert" : "苹果内容",
                 "badge" : 9,
                 "sound" : "default"
               }
   }
}
{
   "platform": "all",
   "audience" : {"registration_id" : [ "13065ffa4f199952d17","8914afd2"]},
   "notification" : {
      "alert" : "推送内容1"
   }
}

 

标签:uniapp,cn,极光,id,let,result,推送,jpushModule
From: https://www.cnblogs.com/tiandi/p/17540804.html

相关文章

  • REVIEW: 本地仓库推送到远程仓库-> 本地仓库获取远程仓库的修改|远程仓库获取本地的
    我们假设有一个本地仓库A,一个远程仓库B1.使用git-bash进入本地仓库(就是一个文件夹),使用以下命令将本地仓库的当前分支与远程仓库B建立连接gitremoteaddoriginhttps://github.com/TOMcat125/B.git2.将本地分支main提交到远程仓库中,并且建立本地分支和远程分支的追踪关......
  • dotnet nuget的命令行上传(推送/发布)包到Nexus 3
    1、让VisualStudio在生成的时候也生成NuGet的包在项目上点右键,选“属性”,然后设置生成的时候制作NuGet的包。英文版在这里打勾:中文版在这里打勾:重新生成后,在bin\debug目录下,就能看到我们的包。2、去Nexus3服务器,查看仓库的URL从下图看到,我们在前面文章中,创建的名为study的NuGet......
  • 将本地的git仓库推送到github上的远程仓库
    1.在Github上新建一个远程仓库比如second_repo2.在本地计算机上新建一个本地仓库比如gitrepo3.在本地仓库gitrepo中打开git-bash4.输入命令:gitremoteaddoriginhttps://github.com/TOMcat125/second_repo.git这个命令的中,remoteadd是远程添加的意思,origin是远程仓库second......
  • 使用UniApp实现数据绑定与响应式开发
    当涉及到跨平台应用开发时,UniApp是一个非常强大的选择。UniApp是一个基于Vue.js的开发框架,可以让你使用Vue.js的语法和特性来构建同时运行在多个平台(如iOS、Android、Web等)的应用程序。在UniApp中,数据绑定和响应式开发是其核心特性之一。本文将介绍如何使用UniApp实现数据绑定和响......
  • UniApp中的路由管理与导航实现
    当在UniApp中进行路由管理和导航时,你可以使用UniApp提供的内置导航功能以及相关API来实现。下面是一些示例代码和最佳实践,帮助你在UniApp中进行路由管理和导航。1.页面跳转在UniApp中,可以使用内置的uni.navigateTo方法来实现页面跳转。该方法会将目标页面压入导航栈中......
  • 构建适配多平台的UniApp应用的最佳实践
    当构建适配多平台的UniApp应用时,可以遵循以下最佳实践:使用条件编译:UniApp提供了条件编译指令,可以根据不同平台进行代码的选择性编译。通过条件编译,你可以针对不同平台编写特定的代码逻辑,以适应各个平台的差异。例如,你可以使用uni.env.platform来判断当前的平台,然后根据平台的......
  • EasyCVR视频融合平台国标级联后推送不了通道是什么原因?
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议、多类型的设备接入,并能对设备进行分级、分组管理,并支持权限、角色分配,属于功能全面、性能稳定、高可靠、高可用的流媒体视频云服务平台。有用户反馈,EasyCVR平......
  • uniapp清除应用缓存
    计算缓存//计算缓存formatSize(){letthat=this;plus.cache.calculate(function(size){letsizeCache=parseInt(size);if(sizeCache==0){that.fileSizeString="0B";}elseif(sizeCache<1024){that.fileSizeString=sizeC......
  • uniapp开发
    1.下载开发工具HBuilderX:地址:HBuilderX-asuperpoweredIDEforVue(dcloud.io)2.新建项目文件-新建-项目-uniapp选择默认模板,vue33.运行方式一:点击运行-运行到浏览器方式二:点击运行-运行到小程序模拟器-微信开发者工具(需要配置小程序安装路径,并且在微信......
  • git 本地仓库首次推送到远程
    gitinitgitadd.gitcommit-m'firstcommit'gitremoteadd<远程仓库地址>$gitpushoriginmaster:masterwarning:auto-detectionofhostprovidertooktoolong(>2000ms)warning:seehttps://aka.ms/gcm/autodetectformoreinformation.To......