uniapp打包app,对接华为厂商,实现unipush离线消息推送

今天终于可以抽出点时间,来记录一下这几天心塞的心情。上周公司派过来一个活,说是使用uniapp制作一个app,同时要实现在线消息推送和离线消息推送,啥话没说就揽了下来。不过说实在的,从来没有开发过app,好歹会点vue。可想而知,接下来的几天总是穿梭于百度搜索、vue官方、uniapp、dcloud等官网,各种资料搜索……最后功能算是做完了,但心情不是很好,踩了好多坑,今天主要记录一下离线消息推送吧,供小伙伴们参考。

项目背景

使用uniapp打包app,与华为厂商对接离线消息推送,本次打包用到的证书主要是在dcloud平台自动生成的,几分钟就可以创建好,如果想要创建自己的Android证书的小伙伴,可以参考一下uniapp官方提供的方法,或者使用Android studio也可以创建证书。

一、dcloud平台应用配置

1、添加应用

这个比较简单,直接贴个图吧。
在这里插入图片描述
2、创建证书
点击我的应用中的应用名称,进入配置应用基本信息,创建Android云端证书等,我的已经创建好。
在这里插入图片描述

二、华为开放平台配置

1、创建华为开发者账号
发布华为app必需得注册一个开发者账号,这个很简单。
2、创建项目
先创建一个项目,顺便开通一些分析之类的权限什么的。
在这里插入图片描述
开通需要的权限,默认都是勾选的。
在这里插入图片描述
在这里插入图片描述
至此,项目就创还能好了。
3、创建应用
进入项目中,点击添加应用即可进入下面的页面。应用包名需要和dcloud中配置的包名同步。
在这里插入图片描述
应用添加成功后,就是下图展示的样子。但是缺少一个sha256证书指纹。
在这里插入图片描述

4、添加SHA256证书指纹【必填】
在这里插入图片描述
我直接在dcloud云端创建的证书,点击证书详情,从里面找到sha256码复制粘贴到下图处即可。
在这里插入图片描述
5、开通推送服务
切换到api管理中开通推送服务。
在这里插入图片描述
6、增长栏目中开通推送服务
点击左侧增长栏目中的推送服务,开通推送服务。后期要创建推送通知和测试离线消息使用。
在这里插入图片描述
7、配置
下方勾选的选项都需要开通。
在这里插入图片描述

三、dcloud平台厂商推送配置

华为端添加证书指纹后需要下载agconnect-services.json文件,将该文件中json数据粘贴到dcloud厂商配置中,见下图。
在这里插入图片描述
在这里插入图片描述

四、Hbuilderx打包并运行

1、下载证书
在dcloud的应用中下载云端证书,要打包用到。
在这里插入图片描述

2、打包自定义基座
打包时必需选择使用自有证书,将上一步下载的证书放在本地指定位置,将路径填写到证书文件处,证书别名和证书私钥密码可以从证书详情中找到。
在这里插入图片描述
至此,所有的配置就完成了。
3、运行到自定义基座
需要通过usb将手机和电脑连通。
注意:
手机必需为华为真机;
pc电脑和华为手机都需要安装华为手机助手连通;
华为手机开启usb调试模式;

五、获取device token

华为端发送消息都是通过token进行推送,此刻需要获取到接收离线消息的设备token。打开dos系统输入下图命令即可捕捉到app的相关信息,其中就有token值。
在这里插入图片描述
注意:先打开dos系统输入上图命令回车运行,再启动运行到手机端的app才能跑出app信息。

六、华为端测试离线消息

1、添加推送通知并测试
拿到device token后进入推送通知中可以测试发送离线消息,如果在上述中可以正常拿到token值,那此处测试发送消息是可以正常接收到的。
在这里插入图片描述
我的测试到此是可以正常接收离线消息的。

七、申请子分类权益

本来以为到上述步骤已经调通了,但还是有个最后小坑。由于华为后台的升级,将推送的消息分为了俩类,即服务与通讯类和营销类。我们开通的账号默认发送的是营销类消息,是有频次限制的。所以我后来将推送通知提交后,后来收不到消息了。这个时候需要申请自分类权益,因为该分类是不限制推送频次的,所以没办法,只能继续搞。
申请自分类权益有条件,小伙伴们需要注意一下。俩种方法:其一、将你的华为应用发布上架才能申请;其二、如果是公司内部的app不准备上线的,可以写个申请发给官方也可以,权益开通后也可以申请。
具体的申请方法我就不写了,将官方地址放出来,大家认认真真的看看就明白了。
自分类权益申请官方地址
自分类申请下来后还需要最后适配一步。

写到最后

从开始发布到最后,历时近三天吧。整体的体验是,写代码不难,大部分时间都花在了研究官方平台上面。中间也咨询了个推官方技术和华为官方技术,感谢吧。
感谢路过的小伙伴们,能百忙中抽出时间阅读本文章,希望能帮助到大家,少踩坑。
如果有写的不正确的地方,也希望大家能积极指正。
点赞、关注加收藏,一键三连行动起来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14568.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC原理分析 | 数据处理:ModelAndView

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 重定向和转发 ModelAndView 设置ModelAndView对象,根据view的名称、视图解析器跳转到指定的页面 页面:{视图解析器前缀} viewName {视图解析器…

基于matlab对于未校准立体图像校正(附源码)

一、前言 此示例说明如何计算两个未校准图像的校正,其中相机内禀函数未知。 立体图像校正将图像投影到公共图像平面上,以使相应的点具有相同的行坐标。此过程对于立体视觉很有用,因为 2-D 立体对应问题被简化为 1-D 问题。例如,…

网络应用基础ENSP环境的安装(NETBASE第三课)

网络应用基础ENSP环境的安装(NETBASE第三课) eNSP(Enterprise Network Simulation Platform)是一款由华为提供的、可扩展的、图形化操作的网络仿真工具平台,主要对企业网络路由器、交换机进行软件仿真,完美呈现真实设备实景,支持大型网络模拟…

vue3+pinia用户信息持久缓存(token)的问题

vue3pinia用户信息持久缓存(token)的问题 对博主来说,这是个相当复杂的问题。 当初在使用vue2vuex进行用户信息持久登录时,写了不下3篇博客,确实是解决了问题,博客链接如下 vue存储和使用后端传递过来的tokenvue中对…

抖音短视频矩阵管理系统源码开发部署(开源定制)

一、什么是短视频矩阵管理系统? 短视频矩阵管理系统是专门为企业号商家、普通号商家提供帐号运营从流量 到转化成交的一站式服务方案,具体包含:点赞关注评论主动私信 ,评论区回复,自动潜客户挖掘,矩阵号营销…

Maven高级(四)--私服

一.作用 我们所拆分的模块是可以在同一个公司各个项目组之间的项目组之间进行资源共享的,这就需要Maven的私服来实现。 二.场景 两个项目组之间如何基于私服进行资源的共享的呢? 例如A开发了一个模块tlias-utils,B团队进行项目开发,要想使用…

身高排队,不是你想的那么简单——力扣“按身高排序”题解分析

本篇博客会讲解力扣“2418. 按身高排序”的解题思路,这是题目链接。 想要排序身高数组是非常简单的。我们在对身高数组进行排序时,会进行一些操作,比如交换2个元素等等。本题中,相当于我们要“记住”排序身高数组中进行了哪些操作…

2023校招,2024校招,社招Shein,大量HC,使用内推码直达,流程快速

广州,深圳,南京,大量开发岗位,包含Java开发岗,前端开发岗大数据开发岗位,产品岗位,测试岗位等等,大量hc,欢迎大家投递Shein,打造全球化的快时尚跨境电商品牌

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 4 日论文合集)

文章目录 一、分割|语义相关(18篇)1.1 TomatoDIFF: On-plant Tomato Segmentation with Denoising Diffusion Models1.2 CGAM: Click-Guided Attention Module for Interactive Pathology Image Segmentation via Backpropagating Refinement1.3 RefSAM: Efficiently Adapting …

Pico版节奏光剑简单制作

视频教程参考:Pico VR Neo3开发实战教程(1)——节奏光剑,舞台灯效_哔哩哔哩_bilibili 1、新建项目和pico配置 插件导入 找到下载的pico SDK 选择json文件,点击即可导入 启用插件 在 Project Settings 窗口中&#xf…

Spring AOP讲解及实例

Aop面向切面编程 文章目录 Aop面向切面编程什么是AOPAOP术语Spring AOP 的使用导入依赖编写切面类切面定义语法小细节输出日志成功 什么是AOP AOP:(Aspect Oriented Programming)面向切面编程,和OOP(Object Oriented …

Vue3 网络请求——axios 高级用法之 axios 拦截器实战与并发请求

文章目录 📋前言🎯关于拦截器🎯项目创建🎯代码分析🎯补充:并发请求🧩axios.all() 和 Promise.all() 的区别 📝最后 📋前言 Axios 是一个流行的基于 Promise 的 HTTP 客户…