2016-09-27 206 views
0

我正在做一個具有Notifications功能的Ionic項目,它適用於Android,但對於iOS,我遇到了很多問題。我看了,也做了離子指南中的所有步驟,以實現推送通知:https://docs.ionic.io/services/push/iOS的Ionic推送通知

總結: 創建雲,通知客戶端我的應用程序,並且我加入離子云這樣的:

npm [email protected]/cloud --save 

和將文件添加到我的index.html 我定義了無極安裝:

npm install bluebird --save 

我可配置我的應用程序:

angular.module('starter', ['ionic', 'ionic.cloud', 'starter.controllers', 'starter.services']) 

.config(function($ionicCloudProvider) { 
    $ionicCloudProvider.init({ 
    "core": { 
     "app_id": "APP_ID" 
    } 
    }); 
}) 

然後配置通知給iOS和我一樣的,本指南:https://docs.ionic.io/services/profiles/#android-gcm-project--api-key

  1. 註冊應用程序ID
  2. 器械註冊
  3. 創建與鑰匙串登入請求。
  4. 我創建iOS應用證書&中的.p12
  5. 發放模板
  6. 轉換.CER我做
  7. 我去離子云儀表板和updload中.P12和對名爲.mobileprovision我的應用程序的供應配置文件我的檔案
  8. 創建iOS推送我的應用程序的證書
  9. 然後我將此證書上載到Ionic Cloud儀表板。

最後,我在我的應用程序中做了設置,並在真實設備,android和iOS中構建和運行。問題是,在Android中,它完美的工作,但在iOS中,我完美地保存了令牌,但是當我從Ionic Cloud儀表板發送通知時沒有任何內容到達。

任何幫助?

非常感謝!

+0

希望你只用真正的iOS設備測試推送通知,是嗎? –

+0

@SatishMavani是的,有2個設備。 – Ary

回答

0

我可以回答你question.Answer很晚如下:..

  1. 更新您的離子到版本V2以上,使用命令「$ NPM安裝離子科爾多瓦」了點。
  2. 然後仔細按照這一個http://nishanthkabra.com/ionic2push.html 你可以很容易地實現它。
  3. 我也建議寧可ion.io使用java或php代碼來發送推送通知,因爲它們將非常容易定製。
0

在第一次安裝項目下的下列插件

科爾多瓦插件添加https://github.com/phonegap/phonegap-plugin-push

您還需要一個。PEM文件和密碼,你可以按照這個鏈接生成它們:Generate .pem file Used to setup Apple PUSH Notification

下載下面的代碼從這裏:https://drive.google.com/open?id=0B_-b-DfCLwKdREkwZFdYVEhYWXM

然後在你的app.js合併代碼,之後運行你的應用程序在iPhone和控制檯檢查設備是否獲得令牌,如果設備令牌正在顯示,則轉到下一步。

然後,您可以在用戶登錄或註冊時將設備令牌存儲在數據庫中。

然後輸入你的[.PEM]文件的位置,並傳遞[db.class.php]

短語然後輸入設備令牌[sendIphonenotification.php]文件

然後執行[sendIphonenotification.php]文件並檢查你的iphone,你會得到一個通知。