极光推送(JPUSH)--- 消息推送

wangdazhu0 2015-10-06

极光推送官网:https://www.jpush.cn 

极光推送doc:http://docs.jpush.io/

插件地址:https://github.com/jpush/jpush-phonegap-plugin

文档说明:

 l## JPush PhoneGap Plugin ##

准备工作

  1. cordova create 文件夹名字 包名 应用名字

    cordova create Myproj com.myproj.jpush MyTestProj
  2. 添加平台

    cd Myproj 
    cordova platform add android  
    cordova platform add ios
    
    ps:这里请注意iOS平台,必须先执行 `cordova platform add ios`,
    然后再执行`cordova plugin add xxxxx`命令,不然有一些必须要的链接库需要手动添加

Cordova CLI/Phonegap 安装 Android & iOS

  1. 使用git命令将jpush phonegap插件下载的本地,将这个目录标记为$JPUSH_PLUGIN_DIR

    git clone https://github.com/jpush/jpush-phonegap-plugin.git
  2. $JPUSH_PLUGIN_DIR/plugin.xml文件中的AppKey替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)

    <meta-data android:name="JPUSH_APPKEY" android:value="your appkey"/>
  3. 打开$JPUSH_PLUGIN_DIR/src/ios/PushConfig.plist文件将文件中的7d431e42dfa6a6d693ac2d04替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)

  4. $JPUSH_PLUGIN_DIR/src/android/JPushPlugin.java 文件import your.package.name.R替换为在Portal上注册该应用的包名,例如(com.thi.pushtest)

  5. cordova cli 添加jpush phonegap插件和依赖的device插件:

    cordova plugin add $JPUSH_PLUGIN_DIR
    cordova plugin add org.apache.cordova.device
  6. 在js中调用函数,初始化jpush sdk

  7. window.plugins.jPushPlugin.init(); 
     //由于phonegap插件采用了Lazy load的特性,   所以这里建议在js文件能执行的最开始就加

API说明

插件的API集中在JPushPlugin.js文件中,这个文件的位置如下

  • android:[YOUR__ANDROID_PROJECT]/assets/www/plugins/cn.jpush.phonegap.JPushPlugin/www
  • iOS:[YOUR_iOS_PROJEcT]/www/plugins/cn.jpush.phonegap.JPushPlugin/www

具体的API请参考这里

iOS和adnroid通用API简介

  • 停止与恢复推送服务 API

    window.plugins.jPushPlugin.init()
    window.plugins.jPushPlugin.stopPush()
    window.plugins.jPushPlugin.resumePush()
    window.plugins.jPushPlugin.isPushStopped(callback)
  • 获取 RegistrationID API

    window.plugins.jPushPlugin.getRegistrationID(callback)
  • 别名与标签 API

    window.plugins.jPushPlugin.setTagsWithAlias(tags,alias)
    window.plugins.jPushPlugin.setTags(tags)
    window.plugins.jPushPlugin.setAlias(alias)
  • 获取点击通知内容

    event - jpush.openNotification
  • 获取通知内容

    event - jpush.receiveNotification
  • 获取自定义消息推送内容

    event - jpush.receiveMessage

通用API详细说明

iOS API简介

  • 获取自定义消息推送内容

    event - jpush.receiveMessage
    //推荐使用事件的方式传递,但同时保留了receiveMessageIniOSCallback的回调函数,兼容以前的代码
    window.plugins.jPushPlugin.receiveMessageIniOSCallback(data)
  • 页面的统计

    window.plugins.jPushPlugin.startLogPageView (pageName)
    window.plugins.jPushPlugin.stopLogPageView (pageName)
    window.plugins.jPushPlugin.beginLogPageView (pageName,duration)
  • 设置Badge

    window.plugins.jPushPlugin.setBadge(value)
    window.plugins.jPushPlugin.resetBadge()
    window.plugins.jPushPlugin.setApplicationIconBadgeNumber(badge)
  • 本地通知

    • 后续版本加入
  • 日志等级设置

    window.plugins.jPushPlugin.setDebugModeFromIos ()
    window.plugins.jPushPlugin.setLogOFF()

iOS API详细说明

adnroid API简介

  • 获取集成日志 window.plugins.jPushPlugin.setDebugMode(mode)

  • 接收推送消息和点击通知

    //下面这两个api 是兼容旧有的代码
    window.plugins.jPushPlugin.receiveMessageInAndroidCallback(data)
    window.plugins.jPushPlugin.openNotificationInAndroidCallback(data)
  • 统计分析 API

    onResume / onPause(java api)
  • 清除通知 API

    window.plugins.jPushPlugin.clearAllNotification()
  • 通知栏样式定制 API

    window.plugins.jPushPlugin.setBasicPushNotificationBuilder = function()
    window.plugins.jPushPlugin.setCustomPushNotificationBuilder = function()
  • 设置保留最近通知条数 API

    window.plugins.jPushPlugin.setLatestNotificationNum(num)
  • 本地通知API

    window.plugins.jPushPlugin.addLocalNotification(builderId,
                                                content,
                                                title,
                                                notificaitonID,
                                                broadcastTime,
                                                extras)
    window.plugins.jPushPlugin.removeLocalNotification(notificationID)
    window.plugins.jPushPlugin.clearLocalNotifications()