baiduPush


百度推送模块,第三方推送插件。 使用此模块需要开发者到百度云推送官网注册为百度开发者,登陆成功后创建应用后得到相应的API Key。Android平台和iOS平台要分别创建应用。

如何在Android平台创建应用

1.登录百度云推送官网进行注册,登录,如下图:
imgage

2.创建应用 如下图:
imgage

imgage

imgage

imgage

3.选择创建Android应用 填写应用包名,点击保存 如下图:
imgage

4.点击应用配置 如下图:
imgage

5.得到APP ID,API KEY ,SECRET KEY 如下图:
imgage

IOS的创建应用步骤与Android的相同。 ios需要配置证书,详见ios证书申请教程

方法:

  • initPush : 初始化推送功能。
  • bind : 绑定百度推送服务器。
  • unbind : 解绑百度推送服务器。
  • setTag : 设置tag。
  • deleteTag : 删除tag。
  • setBadge : 设置应用图标右上角显示数字,仅iOS有效。

对象:

回调方法:

关于iOS9支持:

initPush


初始化推送功能。

rd.baiduPush.initPush('key',develop,resiveMsg,errorInfo);
说明:

初始化推送功能。

参数:
  • key:( String ) 必选 在百度推送官网创建应用得到的API Key
  • develop:( Number ) iOS平台下此参数必选,Android平台无此参数 0表示开发模式,1表示发布应用模式
  • resiveMsg:( resiveMessageCB ) 必选 收到推送通知消息时的回调函数。
  • errorInfo: ( errorCB ) 必选 初始化百度推送功能时失败的回调函数。
返回值:

无返回值

示例:
function resiveMsg(msg){
    var content = msg.alert;
    alert(content);
}

function errorInfo(eInfo){
    alert(eInfo);
}

function initPush(){
    var platform = window.navigator.platform;
    if(platform.toLowerCase().indexOf('iphone')>-1) {//iOS
        rd.baiduPush.initPush('key','0',resiveMsg,errorInfo);
    }else {//Android
        rd.baiduPush.initPush('key',resiveMsg,errorInfo);
    }
}

bind


绑定百度推送服务器。

rd.baiduPush.bind(success,errorInfo);
说明:

绑定百度推送服务器。

参数:
  • success:( successCB ) 必选 绑定百度推送服务器时成功的回调函数。

  • errorInfo: ( errorCB ) 必选 绑定百度推送服务器时失败的回调函数。

返回值:

无返回值

示例:
  rd.baiduPush.bind(function successCB(){
                    alert("绑定成功");
                },function errorCB() {
                    alert("绑定失败");
                });

unbind


解绑百度推送服务器。

rd.baiduPush.unbind(success,errorInfo);
说明:

解绑百度推送服务器。

参数:
  • success:( successCB ) 必选 解绑百度推送服务器时成功的回调函数。

  • errorInfo: ( errorCB ) 必选 解绑百度推送服务器时失败的回调函数。

返回值:

无返回值

示例:
 rd.baiduPush.unbind(function successCB(){
                   alert("解绑成功");
              },function errorCB() {
                   alert("解绑失败");
              });

setTag


设置tag。

rd.baiduPush.setTag('tagString',success,errorInfo);
说明:

设置tag。

参数:
  • tagString:( String ) 必选 要设置的tag字符串

  • success:( successCB ) 必选 设置tag时成功的回调函数。

  • errorInfo: ( errorCB ) 必选 设置tag时失败的回调函数。

返回值:

无返回值

示例:
 rd.baiduPush.setTag('haha',function successCB(){
              alert("设置tag成功");
              },function errorCB() {
              alert("设置tag失败");
              });

deleteTag


删除tag。

rd.baiduPush.deleteTag('tagString',success,errorInfo);
说明:

删除tag。

参数:
  • tagString:( String ) 必选 要删除的tag字符串 (该字符串必须是之前已设置过的tag字符串)

  • success:( successCB ) 必选 删除tag时成功的回调函数。

  • errorInfo: ( errorCB ) 必选 删除tag时失败的回调函数。

返回值:

无返回值

示例:
 rd.baiduPush.deleteTag('haha',function successCB(){
                  alert("删除tag成功");
              },function errorCB() {
                  alert("删除tag失败");
              });

setBadge


设置应用图标右上角显示数字,仅iOS有效。

rd.baiduPush.setBadge(number);
说明:

设置应用图标右上角显示数字,仅iOS有效。

参数:
  • number:( Number ) 必选 应用图标右上角显示的数字,必须为正整数。
返回值:

无返回值

示例:
 rd.baiduPush.setBadge(3);

messageInfo


JSON对象 获取的定位信息

messageInfo
{
   property String alert,
   property Number badge,
   property Number sound
}
属性:
  • alert : ( String ) 收到的同送通知的具体内容。
  • badge : ( Number ) 应用图标右上角显示的数字。该属性只有在推送消息控制台设置后才有,默认是无此属性。
  • sound : ( Number ) 收到通知时的提醒声音。该属性只有在推送消息控制台设置后才有,默认是无此属性。

resiveMessageCB


收到推送通知消息时的回调函数。

 function resiveMessageCB(Msg){
      var content = msg.alert;
      alert(content);
 }
参数:
返回值:

无返回值

示例:
 function resiveMessageCB(Msg){
      var content = msg.alert;
      var badge = msg.badge;
      var sound = msg.sound;
      alert(content);
 }

errorCB


发生错误的回调函数。

function errorInfo(eInfo){
    alert(eInfo);
}
参数:
  • eInfo:( String ) 必选 错误信息的描述。
返回值:

无返回值

示例:
function errorInfo(eInfo){
    alert(eInfo);
}

successCB


操作成功时的回调函数。

function success(){
    alert('操作成功');
}
返回值:

无返回值

示例:
function success(){
    alert('操作成功');
}

关闭HTTPS请求协议


为了强制增强数据访问安全,iOS9默认会把大部分的HTTP请求都改为HTTPS请求。本插件基于百度推送集成.目前官网没有针对iOS9的HTTPS协议做出更新操作. 所以,如果想在iOS9环境下使用本插件.则需要在pluginConfig.xml中进行配置。配置方式如下:

<!--找到InfoPlistEdit节点 在这里设置HTTPS相关参数.-->
<config pluginName="InfoPlistEdit">
    <ios>
        <!--true:表示开启http协议模式;false:表示关闭http协议模式,采用https请求协议.-->
         <param key="AllowAllHttpConnection" value="true"></param>
    </ios>
</config>
说明:

将以上配置参数拷贝至项目中的pluginConfig.xml文件中即可.若已有相同的配置项.则不需要再次拷贝.在原基础上添加即可.