uni-app接入极光推送

uniPush和uni接极光推送选择

初创项目可使用uniPush, 二开项目原公司用的极光你就用极光
但是你要清楚的是:
1 离线推送都是要花钱的.
2 uniPush更简单, 获取唯一设备标识 plus.device.uuid 但是推送只有5个端, 后续更新记得看更新进度.
3 极光推送平台更多, 但是在uni这边也是要购买插件的, 而且插件支持和uniPush一致,记得关注插件更新.

这里说明对接极光推送的过程以及一些避坑操作(以android为例):

  1. 买插件: 填包名, 购买(包名千万与极光推送包名一致)
  2. 登录极光后台: 找到推送设置=>集成设置=> 找到appid、appkey等参数
  3. 打开项目: menifest.json=>原生插件设置=>填入上面的appid、appkey等参数(离线推送必备)
  4. 自有证书打自定义基座包
  5. 外接线链接手机=>hbuilder检查运行基座为自定义基座=>运行到手机
  6. 在你app打开首页(其他什么页面都行)贴入以下代码, 按保存按钮,浏览一下控制台看到registrationID为设备唯一标识(当然,也有用alias和tag等的设备唯一标识)
//#ifdef APP-PLUS
	this.jyJPush = uni.requireNativePlugin('JY-JPush');
	this.jyJPush.android_init(res=> {
			console.log(res)
			// {"errorCode":"0","msg":"调用完成"}说明插件安装上了
			this.jyJPush.setJYJPushAlias({ userAlias: 'testAlias' }, result => {
					console.log(result); 
					// 设置Alias,后台也可以根据这个推送,
					// 具体看你后端用registrationID还是什么alias啥的作为唯一设备标识都可以
			});
			this.jyJPush.getRegistrationID( result => {
					this.registrationID = result.registrationID
					console.log('registrationID:' + result.registrationID)
			});
			this.jyJPush.addJYJPushReceiveNotificationListener(result => {
					console.log(result);
					//  监听成功后,若收到推送,会在result返回对应的数据;数据格式保持极光返回的安卓/iOS数据一致
			}); 
			this.jyJPush.addJYJPushReceiveOpenNotificationListener(result => {
					console.log(result)
					//  监听成功后,若点击推送消息,会触发result;数据格式保持极光返回的安卓/iOS数据一致
			});
	})
//#endif
  1. 打开极光推送后台登录=>推送=>推送管理=>创建推送=>填表(发送时间选立即,定速推送一分钟,用Alias推送的的话,手动输入别名为’testAlias’, 用Registration ID推送手动输入你控制台打印的registrationID,推荐你先使用Alias试一下)=>先别发送
    uni-app接入极光推送

  2. 打开自定义基座手机(此时他还连着线呢,确定控制台能打印推送过来的信息哦!!!)=>设置=>通知管理=>跟锁屏通知、悬浮通知、桌面角标有关的显示都给你的项目应用权限打开有的手机还有通知过滤等功能也打开(不然会可能控制台有打印信息,但是你就是一个消息推送都接收不到!!!)

  3. 点推送, 推送可能有延时,一般一分钟(后端根据唯一标识秒发秒响应,控制台秒回复)

  4. 完成后可以开始对接其他API了

  5. 弹窗跳转是极光那边配置的哦~

上一篇:uni-app 获取可用屏幕宽度,高度


下一篇:阿里云服务器ECS Linux系统分析nginx或apache当天访问最多的IP