libre
libre
  • 发布:2015-07-16 19:31
  • 更新:2016-01-12 16:53
  • 阅读:4708

iOS下使用plus.push.createMessage创建本地消息没有声音时正常吗?

分类:HTML5+

iOS下使用plus.push.createMessage创建本地消息没有声音时正常吗?

2015-07-16 19:31 负责人:无 分享
已邀请:
kolbe

kolbe

// 监听plusready事件    
document.addEventListener( "plusready", function(){  
      
    // 监听在线消息事件  
    plus.push.addEventListener( "receive", function( msg ) {	  
    	// IOS的本地消息也会触发receive,为了防止死循环,需要做判断  
    	if(mui.os.ios) {  
    		if(msg.aps) {	// 服务器发来的消息  
	    		// 创建本地消息  
	    		plus.push.createMessage("content","payload");  
    		} else {  
   				// 收到本地消息,播放音频文件	  
					var audioPlay = plus.audio.createPlayer("/audio.mp3") :  
					audioPlay.play(  
						function() {console.log("音频播放成功")},  
						function(e) {console.log("音频播放失败");}  
					)  
    		}  
    	}   
		})  
}, false );

应用在前台的时候可以监听receive事件,然后创建audio对象,接着使用该对象来间接播放音频文件

DCloud_App_Array

DCloud_App_Array

目前暂不支持设置声音,已收集为需求功能。

  • 1***@qq.com

    创建本地推送,为什么我ios不能推送到状态栏


    2019-03-27 17:46

villayong

villayong

很有必要啊,希望能早日解决。。

DCloud_IOS_XTY

DCloud_IOS_XTY

目前已经支持了,注意程序在前台时不会有提示声音

  • Larker_Chen

    这个还是没声音,请问还需怎么设置?


    2016-04-03 22:30

  • 大前端小王子

    plus.push.createMessage app在后台不会触发receive 之前的版本是可以的


    2020-03-16 17:19

  • 大前端小王子

    在前台ios可以正常触发,安卓的都没有问题,但是ios不行


    2020-03-16 17:19

villayong

villayong

// Ios应用在前台时监听消息推送接收事件,消息不会进入消息中心(不会弹出消息),只能通过创建本地消息,实现消息提醒(但该方式没有声音)
plus.push.addEventListener( "receive", function( msg ) {
//获取个推服务端编程透传的消息,
if ( msg.aps ){
var jsonPayload = JSON.parse(msg.aps.category);
//创建本地消息
if('NO' == jsonPayload.localMSG){//个推推送的消息
//创建本地消息提示,并延迟显示
var messageOption = {cover:false,delay:1};
jsonPayload.localMSG = "YES";
//iOS下,创建本地消息没有声音。
plus.push.createMessage("好友发布了分享,请点击查看", JSON.stringify(jsonPayload), messageOption );
}
}
}, false );

** // Ios应用不在前端时,通过个推服务端编程调用pushAPNMessageToSingle接口推送的消息会进入系统消息中心(会弹出消息,并且有声音),当用户点击消息,则会启动HTML5+应用,并且在监听了“click”事件的页面中触发事件的回调**
plus.push.addEventListener( "click", function( msg ) {
if ( msg.aps ){个推pushAPNMessageToSingle接口推送的aps消息
var jsonPayload = JSON.parse(msg.aps.category);//通过category实现透传字段传值
//实现打开应用的特定业务单据详情页面
wrhFunc.openWin('/html/share/shareDetail.html',{bussId:jsonPayload.shareId});
return;
}
//点击应用在前端时,创建的本地消息
var jsonPayload = JSON.parse(msg.payload);
if("YES" == jsonPayload.localMSG){
wrhFunc.openWin('/html/share/shareDetail.html',{shareId:jsonPayload.shareId});
}
}, false );

这是我目前实现iOS个推透传消息推送的方式。
现在的问题就是应用在前台时,消息不会进入消息中心,(不能弹出提醒),只能通过创建本地消息来实现消息提醒,但没有声音,Android是可以有声音的,请专家们看下如何解决该问题,或者有没有更好的方式来实现Ios的个推透传消息推送。

DCloud_App_Array

DCloud_App_Array

iOS平台在前台创建系统消息时不会播放声音(系统限制),如果业务确实需要,可以播放音频文件来实现。

该问题目前已经被锁定, 无法添加新回复