uniapp 对接极光推送 ---详细版

下载插件

1、从dcloud插件市场下载极光SDK插件
	https://ext.dcloud.net.cn/plugin?id=4028
	https://ext.dcloud.net.cn/plugin?id=4035
2、在uniapp项目中选择manifest.json中选择APP原生插件配置 --- 本地插件 --- 选择本地插件 --- 确认

在这里插入图片描述

3、点击源码视图 ,在源码视图中填写key、包名等

在这里插入图片描述
在这里插入图片描述

4、在app.vue中写入代码

<script>
const 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.initJPushService();
			jpushModule.setLoggerEnable(true);
			jpushModule.addConnectEventListener(result => {
				console.log(result)
				let connectEnable = result.connectEnable
				uni.$emit('connectStatusChange', connectEnable)
			});
 
 
			jpushModule.addNotificationListener(result => {
				console.log(result)
				if (result.notificationEventType == "notificationOpened") {
				  //点击窗口通知栏推送的消息 跳转指定页面
					uni.navigateTo({
						url: '/pages/home/warningCenter/warningCenter',
						complete(res) {
							console.log(res);
						}
					})
				}
 
			});
 
			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.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
				})
			})
 
			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
				})
			})
 
			jpushModule.setIsAllowedInMessagePop(true)
			jpushModule.pullInMessage(result => {
				let code = result.code
				console.log(code)
			})
 
			jpushModule.addInMessageListener(result => {
				let eventType = result.eventType
				let messageType = result.messageType
				let content = result.content
				console.log('inMessageListener', eventType, messageType, content)
 
				uni.showToast({
					icon: 'none',
					title: JSON.stringify(result),
					duration: 3000
				})
			})
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值