push

bind joinGroup leaveAllGroup removeListener

概述

push模块提供官方推送的相关操作,包括推送设置、监听推送消息、绑定用户、加入群组、退出群组等功能

bind

将来自第三方业务系统(比如您自己的商城、O2O、OA、CRM系统等)的用户信息绑定至APICloud推送服务器,实现推送给指定用户的功能(即“单推”)。

bind({params}, callback(ret, err))

userId:

  • 类型:字符串
  • 默认值:无
  • 描述:用户Id,来自第三方业务系统

userName:

  • 类型:字符串
  • 默认值:无
  • 描述:用户名称,来自第三方业务系统

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

err:

  • 类型:JSON 对象

内部字段:

  1. msg:”” //错误描述
  2. }

示例代码

  1. var push = api.require('push');
  2. push.bind({
  3. userName: 'testName',
  4. userId: 'testId'
  5. if( ret ){
  6. alert( JSON.stringify( ret) );
  7. }else{
  8. alert( JSON.stringify( err) );
  9. }
  10. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

unbind

解除已绑定用户的绑定状态,解除绑定后,无法再指定该用户推送消息。

unbind({params}, callback(ret, err))

params

userId:

  • 类型:字符串
  • 默认值:无
  • 描述:用户Id,来自业务系统

userName:

  • 类型:字符串
  • 默认值:无
  • 描述:(可选项)用户名称,来自业务系统

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status:true //操作成功状态值
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg:”” //错误描述
  3. }

示例代码

  1. var push = api.require('push');
  2. push.unbind({
  3. userName: 'testName',
  4. userId: 'testId'
  5. }, function(ret, err){
  6. if( ret ){
  7. alert( JSON.stringify( ret) );
  8. }else{
  9. alert( JSON.stringify( err) );
  10. }
  11. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

joinGroup

joinGroup({params}, callback(ret, err))

params

groupName:

  • 类型:字符串
  • 默认值:无
  • 描述:群组名称

ret:

  • 类型:JSON 对象

内部字段:

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. }

示例代码

  1. var push = api.require('push');
  2. push.joinGroup({
  3. groupName: 'department'
  4. }, function(ret, err){
  5. if( ret ){
  6. alert( JSON.stringify( ret) );
  7. }else{
  8. alert( JSON.stringify( err) );
  9. }
  10. });

补充说明

绑定群组

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

leaveGroup

退出某个群组。退出该群组后,服务器向该群组推送消息时,此用户将不再收到推送。

leaveGroup({params}, callback(ret, err))

params

groupName:

  • 类型:字符串
  • 默认值:无
  • 描述:群组名称

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status:true //操作成功状态值
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg:”” //错误描述
  3. }

示例代码

  1. push.leaveGroup({
  2. groupName: 'department'
  3. }, function(ret, err){
  4. if( ret ){
  5. alert( JSON.stringify( ret) );
  6. }else{
  7. alert( JSON.stringify( err) );
  8. }
  9. });

补充说明

移除群组绑定

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

leaveAllGroup

一次性退出所有通过joinGroup加入的群组。

leaveAllGroup(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

err:

  • 类型:JSON 对象
  1. {
  2. msg:”” //错误描述
  3. }

示例代码

  1. var push = api.require('push');
  2. if( ret ){
  3. alert( JSON.stringify( ret) );
  4. }else{
  5. alert( JSON.stringify( err) );
  6. }
  7. });

移除所有群组绑定

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setListener

注册监听推送消息。 注册该监听后,在应用启动的状态下,“消息”类型的推送,将直接交给该函数的回调,由开发人员自行处理推送消息,不自动弹出通知到手机状态栏。如果移除监听,则又会自动弹出通知到手机状态栏;在应用退出的状态下,“消息”类型的推送,APICloud引擎也会自动弹出通知到手机状态栏。 “通知”类型的推送则会直接弹出通知到手机状态栏,不会交给监听函数的回调。

setListener(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. data:[] //消息内容,对象数组
  3. }

示例代码

  1. var push = api.require('push');
  2. push.setListener(function( ret, err ){
  3. if( ret ){
  4. alert( JSON.stringify( ret) );
  5. }else{
  6. alert( JSON.stringify( err) );
  7. }
  8. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeListener

移除对推送消息的监听。移除监听后,收到“消息”类型的推送,APICloud引擎将自动弹出通知到手机状态栏

removeListener()

示例代码

  1. var push = api.require('push');
  2. push.removeListener();

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setPreference

推送偏好设置,如是否允许弹出通知到手机状态栏,推送静默时间,通知提示类型等。

setPreference({param})

params

notify:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)是否弹出消息通知。若设置false,则即使收到推送,也将不再有通知弹出到手机状态栏

updateCurrent:

  • 类型:布尔
  • 默认值:false
  • 描述:(可选项)本次弹出通知是否覆盖更新上一个通知。仅Android平台生效

silenceTime:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:(可选项)设置通知的静默时间段。在设置的时间段内收到推送时,将有通知弹出到手机状态栏,但不会有响铃,震动等行为。设置0,0,0,0则清除设置。仅Android平台生效
  • 内部字段:

defaults:

  • 类型:字符串
  • 默认值:”all”
  • 描述:(可选项)设置弹出通知到手机状态栏时伴随的提示类型。仅Android平台生效
  • 取值范围:”all”-震动和响铃;”sound”-仅响铃;”vibrate”-仅震动。

示例代码

  1. var push = api.require('push');
  2. push.setPreference({
  3. notify: true,
  4. updateCurrent: false,
  5. silenceTime: {//晚上10点30到第二天上午9点之间静默
  6. startHour: 22,
  7. endHour: 9,
  8. startMinute: 30,
  9. endMinute: 0
  10. },
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本