ionic平臺下的ios極光推送集成文檔

1.新建一個ionic項目

$ ionic start  --id com.ionichina.ionicjpush ionic_jpush tabs 
注:修改id爲自己應用的Bundle identifier(Bundle identifier爲iOS app的唯一標識)

2.添加iOS平臺
cdionicjpush ionic platform add ios
3.安裝插件
$ ionic plugin add https://github.com/DongHongfei/jpush-phonegap-plugin.git
4.修改配置
修改ionic_jpush\plugins\cn.jpush.phonegap.JPushPlugin\src\ios\PushConfig.plist 修改對應的APP_KEY和CHANNEL(渠道)
注:APP_KEY 爲極光中註冊的,CHANNEL 獲取APP的渠道,它的值可以填 App Store。

<key>APS_FOR_PRODUCTION</key>
<string>0</string>


5.在app.js添加實現通知

.factory('Push', function() {
    var push;
    return {
      setBadge: function(badge) {
        if (push) {
          console.log('jpush: set badge', badge);
          plugins.jPushPlugin.setBadge(badge);
        }
      },
      setAlias: function(alias) {
        if (push) {
          console.log('jpush: set alias', alias);
          plugins.jPushPlugin.setAlias(alias);
        }
      },
      check: function() {
        if (window.jpush && push) {
          plugins.jPushPlugin.receiveNotificationIniOSCallback(window.jpush);
          window.jpush = null;
        }
      },
      init: function(notificationCallback) {
        console.log('jpush: start init-----------------------');
        push = window.plugins && window.plugins.jPushPlugin;
        if (push) {
          console.log('jpush: init');
          plugins.jPushPlugin.init();
          plugins.jPushPlugin.setDebugMode(true);
          plugins.jPushPlugin.openNotificationInAndroidCallback = notificationCallback;
          plugins.jPushPlugin.receiveNotificationIniOSCallback = notificationCallback;
        }
      }
    };
  });

記得在run函數中引用下面一段代碼

// push notification callback
  var notificationCallback = function(data) {
    console.log('received data :' + data);
    var notification = angular.fromJson(data);
    //app 是否處於正在運行狀態
    var isActive = notification.notification;

    // here add your code


    //ios
    if (ionic.Platform.isIOS()) {
      window.alert(notification);

    } else {
    //非 ios(android)
    }
  };

最後在 $ionicPlatform.ready 裏進行初始化

//初始化
Push.init(notificationCallback);
//設置別名
Push.setAlias("12345678");

6.編譯ios項目
$ionic build ios
下面是進行配置ios項目(參考jpush最新的ios集成sdk)
下載地址http://docs.jpush.io/resources/
文檔裏面有詳細的說明,這裏就不廢話了。

其中對於沒做過ios開發比較難的部分,可能就是推送證書的申請了。
這個網上教程一大堆。可以參考
http://jingyan.baidu.com/article/7082dc1c6bb86de40a89bd1a.html

最後還要修改項目 Capabilities,打開 Background Modes,勾選最後一項Remote notications。
完成以前的操作,基本就可以實現ios手機端的推送了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章