极光+HBuilderX 实现消息推送(通知消息-【Android】)

本文详细介绍了如何在极光平台注册、创建应用,以及在HBuilderX中集成极光推送服务的过程,包括服务集成、SDK下载、权限设置和配置manifest.json。特别提到了免费版的限制和VIP开通需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、极光品平台流程

1. 首先要去极光平台注册账号
2. 在极光工作台创建应用

3. 服务集成

在服务集成的第二步中,应用包名要与HBuilderX中打包时的包名一致(包名需要以点号隔开,如:com.xx,小写开头)

这里的厂商通道配置根据自身项目情况酌情注册绑定,具体注册方案,移步官方厂商通道参数申请指南

4. SDK下载,此时可以在组装完成后下载 demo ,进行真机体验

切记:按照知道步骤来,配置生成二维码需要2至5分钟,耐心等待一下下,其实这个时候你不妨滚动一下滑轮,看一下步骤就知道啦

5. 免费受限

经过测试,这个免费的demo啊是免费版的极光服务,在终端(APP端)进程被结束之前是可以收到推送消息的,在所锁屏&一段时间静默后是无法收到推送消息的,官方解释是需要VIP,大家都懂的,具体原理是终端进程结束,链接断开了无法接收推送消息,需要加入VIP来通过各大厂商的渠道推送这个消息已达到息屏&结束进程后还能收到推送消息

至此,极光平台阶段搞定,目前的 推送集成 中 Android SDK 是没有的,检测不到,因为没有在项目中集成,接下来我们去项目中集成吧

二、HBuilderX测流程

1. 在自己的项目入口文件(App.vue)中添加如下代码,提示:注意根据需要修改对应的 Toast
<script>
var jpushModule = uni.requireNativePlugin('JG-JPush');
export default {
	onLaunch: function () {
		console.log('App Launch');
		if (uni.getSystemInfoSync().platform == 'ios') {
			// 请求定位权限
			let locationServicesEnabled = jpushModule.locationServicesEnabled();
			let locationAuthorizationStatus = jpushModule.getLocationAuthorizationStatus();
			console.log('locationAuthorizationStatus', locationAuthorizationStatus);
			if (locationServicesEnabled == true && locationAuthorizationStatus < 3) {
				jpushModule.requestLocationAuthorization((result) => {
					console.log('定位权限', result.status);
				});
			}

			jpushModule.requestNotificationAuthorization((result) => {
				let status = result.status;
				if (status < 2) {
					uni.showToast({
						icon: 'none',
						title: '您还没有打开通知权限',
						duration: 3000
					});
				}
			});

			jpushModule.addGeofenceListener((result) => {
				let code = result.code;
				let type = result.type;
				let geofenceId = result.geofenceId;
				let userInfo = result.userInfo;
				uni.showToast({
					icon: 'none',
					title: '触发地理围栏',
					duration: 3000
				});
			});

			// 监听deviToken的状态
			jpushModule.addDeviceTokenListener((result) => {
				let code = result.code;
				if (code == 0) {
					let deviceToken = result.deviceToken;
					uni.showToast({
						icon: 'none',
						title: deviceToken,
						duration: 3000
					});
					console.log('deviceToken:', deviceToken);
				} else {
					let error = result.msg;
				}
			});
		}

		jpushModule.initJPushService();
		jpushModule.setLoggerEnable(true);
		jpushModule.addConnectEventListener((result) => {
			let connectEnable = result.connectEnable;
			uni.$emit('connectStatusChange', connectEnable);
		});

		jpushModule.addNotificationListener((result) => {
			let notificationEventType = result.notificationEventType;
			let messageID = result.messageID;
			let title = result.title;
			let content = result.content;
			let extras = result.extras;

			uni.showToast({
				icon: 'none',
				title: JSON.stringify(result),
				duration: 3000
			});
		});

		jpushModule.addCustomMessageListener((result) => {
			let type = result.type;
			let messageType = result.messageType;
			let content = result.content;
			uni.showToast({
				icon: 'none',
				title: JSON.stringify(result),
				duration: 3000
			});
		});
		jpushModule.addInMessageListener((result) => {
			uni.showToast({
				icon: 'none',
				title: JSON.stringify(result),
				duration: 3000
			});
		});
		jpushModule.addLocalNotificationListener((result) => {
			let messageID = result.messageID;
			let title = result.title;
			let content = result.content;
			let extras = result.extras;
			uni.showToast({
				icon: 'none',
				title: JSON.stringify(result),
				duration: 3000
			});
		});
	},
	onShow: function () {
		console.log('App Show');
	},
	onHide: function () {
		console.log('App Hide');
	}
};
</script>

<style>
/*每个页面公共css */
</style>
2. 集成 SDK,这里呢引用官方的插件集成指南,有兴趣的可以去看一下

牵扯到打包体积,个人建议使用云端的插件集成

插件地址(JPush):极光推送 JPush 官方 SDK - DCloud 插件市场

插件地址(JCore):极光推送 JCore 官方 SDK - DCloud 插件市场

3. 项目配置环节

A. 在项目中,选中【manifest.json】--> 【基础配置】,这里的应用名称与前面创建极光创建的应用名称可以不一样,因为这个是打包后手机桌面显示的那个APP名称,而极光那个应用名称是极光平台的,跟这个没关系,二者是对接关系

B. 在项目中,选中【manifest.json】--> 【App配置模块】,勾选 【Push(消息推送)】,注意:uniPush 不要勾选

C. 在项目中,选中【manifest.json】--> 【App原生插件配置】,也就是上面第2步中的 集成 SDK 的产物,填写刚才在极光新建应用时生成的那个appKey

D. 在项目中,选中【manifest.json】--> 【源码视图】,填写 【package_name】和【bundle_id】,注意这里的 package_name 和 bundle_id 要与 极光注册项目时填写的安卓的 包名 和ios的 Bundle ID 一致

至此,HBuilder 配置 完成

接下来可以选择自定义插座 ↓,进行真机调试,无误后方可打包上线啦

友情提示,极光免费版广推消息每天条数有限,想要实现更多需要开通VIP方可实现推广自由

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值