兩天時間,終於將ionic push試驗成功,由於公司業務需要,不能使用極光這類國內推送服務,所以研究一下ionic官方集成的push插件,用的是google的服務。下面介紹一下步驟:
1、在firebase(https://console.firebase.google.com)網站上註冊你的賬戶,然後新建一個project,進入工程下,可以看到這樣的界面!
點擊Overview旁邊的設置圖標後點擊項目設置,點擊雲消息傳遞,你會看到你的服務器密匙(server key) 和發送者id(sender ID.
2、進入https://apps.ionic.io,註冊一個賬號,然後創建一個app,進入你所創建的app下,進入setting/certificates,界面如下:
點擊後側 new security profile,創建成功之後,點擊EDIT,會出現一個彈出框,我這裏先配置android,將第一步中的server key 配置進去,點擊完成。
3、在你的項目目錄下運行:
npm install @ionic/cloud --save
cp node_modules/@ionic/cloud/dist/bundle/ionic.cloud.min.js www/lib
npm install bluebird --save
$ cp node_modules/bluebird/js/browser/bluebird.min.js www/lib
隨後在index.html中引入:
<script src="lib/bluebird.min.js"></script>
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ionic.cloud.min.js"></script>
注意引入文件的先後順序!
然後在你的app.js中引入 'ionic.cloud'
4、接下來進入你的項目目錄,運行:
cordova plugin add phonegap-plugin-push --variable SENDER_ID=12341234 --save```
注意將SENDER_ID改成第一步中的sender_id
在你的配置文件中進行一下配置:
```
.config(function ($ionicCloudProvider) {
$ionicCloudProvider.init({
"core": {
"app_id": "18cb878c"
},
"push": {
"sender_id": '831870419409',
"pluginConfig": {
"ios": {
"badge": true,
"sound": true
},
"android": {
"iconColor": "#343434"
}
}
}
});
})
在你項目中主頁controller中:
.controller('DashCtrl', function($scope,$ionicPush) {
$ionicPush.register().then(function(t) {
return $ionicPush.saveToken(t);
}).then(function(t) {
console.log('Token saved:', t.token);
});
$scope.$on('cloud:push:notification', function(event, data) {
var msg = data.message;
alert(msg.title + ': ' + msg.text);
});
})
5、最後一步,發送push。在ionic.io你的app目錄中,點擊push,出現以下界面:
點擊Create new push,按步驟進行下去,最後點擊send.(讓你的app在任何一臺設備上運行起來(ionic run android -cls))
便會在設備上收到你剛發送的通知,簡直神奇!