___K
___K
  • 发布:2017-05-20 14:49
  • 更新:2021-09-19 15:07
  • 阅读:9802

透传消息分享(安卓和IOS)

分类:HTML5+

IOS是6,安卓是华为。安卓手机在线和后台能接受到推送信息,退出的话接受不到,苹果手机的APP在不在线都可以接受到推送。
后台代码没有弄,是通过个推上的透传消息进行的推送。客户端代码如下:

//消息推送  
mui.plusReady(function() {  
	  
	// 监听点击消息事件  
	plus.push.addEventListener( "click", function( msg ) {  
		var payload=(plus.os.name=='iOS')?msg.payload:JSON.parse(msg.payload);  
	}, false );  
	  
	// 监听在线消息事件  
	plus.push.addEventListener( "receive", function( msg ) {  
		logoutPushMsg( msg );  
	}, false );  
	  
});  
  
//获取穿透参数  
function logoutPushMsg( msg ) {  
	if ( msg.payload ) {  
		if ( typeof(msg.payload)=="string" ) {  
			createLocalPushMsg(msg.content);  
		} else {  
			var data = JSON.parse(msg.payload);  
			createLocalPushMsg(data.content);  
		}  
	} else {  
		console.log( "payload: undefined" );  
	}  
}  
  
//创建本地推送  
function createLocalPushMsg(content){  
	  
	var options = {cover:false,};  
	plus.push.createMessage(content, "LocalMSG", options );  
	if(plus.os.name=="iOS"){  
		alert('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');  
	}  
	  
}

PS:IOS的话证书有两份,一份是上传到个推的,一份是打包用的。可以参考网站:http://docs.getui.com/mobile/ios/apns/

1 关注 分享
9***@qq.com

要回复文章请先登录注册

6***@qq.com

6***@qq.com

回复 回梦無痕 :
请问创建本地消息,这么添加参数区分本地和非本地
2018-04-18 09:09
void7

void7

回复 1***@qq.com :
看不懂
2017-07-19 13:37
1***@qq.com

1***@qq.com

回复 9***@qq.com :
我也是,怎么解决的啊兄弟?
2017-07-06 12:56
回梦無痕

回梦無痕

回复 z***@163.com :
是会死循环的,自己创建本地消息时候,需要在消息里加一个参数区分本地和非本地。
2017-06-11 21:17
z***@163.com

z***@163.com

ios模拟器测试创建本地消息会在通知栏创建消息的同时触发receive,如果在receive中调用创建本地消息的话,容易死循环,真机没测试,不过看到过有人说接收到无数条消息直接死机的
2017-05-23 15:47
回梦無痕

回梦無痕

很感谢,测试通过
2017-05-22 13:44
9***@qq.com

9***@qq.com

发送一条透传信息时,ios版本收到无处条,你遇到这种情况吗?
2017-05-22 11:42
9***@qq.com

9***@qq.com

回复 ___K :
谢谢!为啥我的安卓和ios都收不到透传信息呢?“通知”可以收到
2017-05-22 10:26
___K

___K (作者)

回复 9***@qq.com :
代码我部分是参考他的:http://ask.dcloud.net.cn/article/1041,这个方法我的没用到,直接是打开应用了,如果要用的话他是这样写的。我没有测试过不知道是否可行,function pushGetRun(payload) {
var id = payload.id;
var url = 'www/tpl/detail.html?id=' + id;
mui.openWindow({
url: url,
id: 'detail' + id
});
2017-05-22 10:15
9***@qq.com

9***@qq.com

楼主 pushGetRun(payload)方法咋写的?
2017-05-22 10:01