push常见问题我要提意见

Push模块管理推送消息功能,可以实现在线、离线的消息推送,通过plus.push可获取推送消息管理对象。

方法:

对象:

回调方法:

权限:

permissions


{
// ...
"permissions":{
	// ...
	"Push": {
		"description": "消息推送"
	}
}
}
			
属性:

addEventListener

添加推送消息事件监听器


void plus.push.addEventListener( event, listener, Boolean );
				

说明:

添加推送消息事件监听器,当指定推送事件发出时触发。

参数:

返回值:

void : 无

平台支持:

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Push Example</title>
	<script type="text/javascript">
// 监听plusready事件  
document.addEventListener('plusready', function(){
	// 扩展API加载完毕,现在可以正常调用扩展API
	// 添加监听从系统消息中心点击某条消息启动应用事件
	plus.push.addEventListener('click', function(msg){
		// 分析msg.payload处理业务逻辑 
		alert( 'You clicked: ' + msg.content );
	}, false );
}, false);
	</script>
	</head>
	<body>
	</body>
</html>
				

uni-app使用plus注意事项

clear

清空所有推送消息


void plus.push.clear();
				

说明:

清空系统消息中心所有的推送消息。

参数:

返回值:

void : 无

createMessage

创建本地消息


void plus.push.createMessage( content, payload, option );
				

说明:

在本地直接创建推送消息,并添加到系统消息中心。

参数:

返回值:

void : 无

getAllMessage

获取所有推送消息


PushMessage[] plus.push.getAllMessage();
				

说明:

获取客户端接收到的所有推送消息。 仅包括在系统消息中心显示的推送消息,不包括调用setAutoNotification(false)方法设置不显示推送消息后接收到的消息。

参数:

返回值:

PushMessage : Array[PushMessage]对象,推送消息PushMessage数组。

平台支持:

getClientInfo

获取客户端推送标识信息


ClientInfo plus.push.getClientInfo();
				

说明:

客户端标识信息用于业务服务器下发推送消息时提交给推送服务器的数据,用于说明下发推送消息的接收者(客户端)。 通常需要客户端在第一次运行时获取并提交到业务服务器绑定。

参数:

返回值:

ClientInfo : 客户端推送标识信息对象

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Push Example</title>
	<script type="text/javascript">
// 监听plusready事件  
document.addEventListener(‘plusready’, function(){
	// 扩展API加载完毕,现在可以正常调用扩展API
	// 获取客户端标识信息
	var info = plus.push.getClientInfo();
	alert( JSON.stringify( info ) );
	// 添加监听从系统消息中心点击消息启动事件
	plus.push.addEventListener(‘click’, function(msg){
		// 分析msg.payload处理业务逻辑 
		alert('You clicked: ' + msg.content);
	}, false);
}, false);
	</script>
	</head>
	<body>
	</body>
</html>
				

uni-app使用plus注意事项

getClientInfoAsync

异步获取客户端推送标识信息


void plus.push.getClientInfoAsync(successCB, errorCB);
				

说明:

HBuilderX2.5.11+版本新增。 用于解决plus.push.getClientInfo同步获取可能返回数据为空的问题。 客户端标识信息用于业务服务器下发推送消息时提交给推送服务器的数据,用于说明下发推送消息的接收者(客户端)。 通常需要客户端在第一次运行时获取并提交到业务服务器绑定。

参数:

返回值:

void : 无

示例:


function getPushInfo(){
  console.log("异步获取客户端推送标识信息");
  plus.push.getClientInfoAsync(function(info){
    console.log('Success');
    console.log(JSON.stringify(info));
  }, function(e){
    console.log('Failed');
    console.log(JSON.stringify(e));
  })
}
				

uni-app使用plus注意事项

setAutoNotification

设置程序是否将消息显示在系统消息中心


void plus.push.setAutoNotification( notify );
				

说明:

默认情况下程序在接收到推送消息后将会在系统消息中心显示,通过此方法可关闭默认行为,接收到推送消息后不在系统消息中心显示,通过addEventListener方法的“receive”事件监听处理接收到的消息。 在这种模式下可通过createMessage方法创建在系统消息中心显示的消息。

参数:

返回值:

void : 无

平台支持:

示例:


<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
	<title>Push Example</title>
	<script type="text/javascript">
// 监听plusready事件  
document.addEventListener( "plusready", function(){
	// 扩展API加载完毕,现在可以正常调用扩展API
	// 在程序运行时接收到的消息不显示在系统消息中心
	plus.push.setAutoNotification( false );
}, false );
	</script>
	</head>
	<body>
	</body>
</html>
				

uni-app使用plus注意事项

remove

删除推送消息


void plus.push.remove( message )
				

说明:

删除系统消息中心指定的推送消息,可通过getAllMessage方法获取所有的消息后进行操作。

参数:

返回值:

void : 无

平台支持:

ClientInfo

JSON对象,获取的客户端标识信息

属性:

PushMessage

JSON对象,推送消息对象

属性:

MessageOptions

JSON对象,获客户端创建本地消息的参数

属性:

PushReceiveCallback

客户端接收到推送消息的回调函数


void onReceive( msg ) {
	// Recieved push message code.
}
				

参数:

返回值:

void : 无

PushClickCallback

用户点击推送消息事件的回调函数


void onClick( msg ) {
	// Clicked push message code. 
}
				

参数:

返回值:

void : 无

ClientInfoSuccessCallback

异步获取客户端推送标识信息成功的回调函数


void onSuccess( info ) {
	// getClientInfo success. 
}
				

说明:

异步获取客户端推送标识信息成功时回调。

参数:

返回值:

void : 无

ClientInfoErrorCallback

异步获取客户端推送标识信息失败的回调函数


void onError(error){
	// Handle the error
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}
				

说明:

异步获取推送标识信息失败时触发。

参数:

返回值:

void : 无