使用 Firebase 云消息传递的 Ionic Native Push 崩溃
Posted
技术标签:
【中文标题】使用 Firebase 云消息传递的 Ionic Native Push 崩溃【英文标题】:Ionic Native Push Crashes using Firebase Cloud Messaging 【发布时间】:2016-10-31 15:21:33 【问题描述】:我正在使用 Ionic2 并正在构建一个带有推送消息的聊天应用程序。我正在使用 FCM(Firebase 云消息传递)。我关注了使用phonegap-plugin-push 插件的following tutorial,一切正常。
然后我的电脑崩溃了,我不得不重新安装我所有的 Cordova 插件。从那时起,推送通知导致应用程序崩溃。当我尝试初始化 Push
并调用以下代码时:
import StatusBar, Push, SQLite from 'ionic-native';
...
let push = Push.init(
android:
senderID: "XXXXXXXXXXXXXX",
topics: topics
,
ios:
alert: "true",
badge: false,
sound: "true",
topics: topics
,
windows:
);
我收到以下错误,日志中没有任何内容:
如果我不使用推送,它可以正常工作,但我显然想使用推送通知。
如果有人有任何建议,我将不胜感激。
我尝试了以下方法但没有成功:
-
重新安装所有 Cordova 插件
创建了一个新的 FCM 项目并使用了它的 SENDER_ID
删除和添加安卓平台 (
ionic platform remove android
& ionic platform add android
)
尝试重新安装 Ionic Native (npm install ionic-native --save
)
更多信息:
E:\Development\IDE\ionic-apps\theWhoZoo>cordova plugin list cordova-plugin-camera 2.2.0 "Camera" cordova-plugin-compat 1.0.0 "Compat" cordova-plugin-console 1.0.3 "Console" cordova-plugin-crop 0.1.0 "CropPlugin" cordova-plugin-device 1.1.2 "Device" cordova-plugin-geolocation 2.2.0 "Geolocation" cordova-plugin-network-information 1.3.0 "Network Information" cordova-plugin-splashscreen 3.2.2 "Splashscreen" cordova-plugin-statusbar 2.1.3 "StatusBar" cordova-plugin-whitelist 1.2.2 "Whitelist" cordova-sqlite-plugin 3.0.0 "Cordova SQLite Plugin" cordova-sqlite-storage 1.4.8 "Cordova sqlite storage plugin" ionic-plugin-keyboard 2.2.1 "Keyboard" phonegap-plugin-push 1.8.3 "PushPlugin" plugin.google.maps 1.3.9 "phonegap-googlemaps-plugin"
npm install
给了我以下信息:
....
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly. > node-sass@3.10.1 postinstall E:\Development\IDE\ionic-apps\theWhoZoo\node_modules\ionic-gulp-sass-build\node_modules\gulp-sass\node_modules\node-sass > node scripts/build.js "E:\Development\IDE\ionic-apps\theWhoZoo\node_modules\ionic-gulp-sass-build\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64-48\binding.node" exists. testing binary. Binary is fine; exiting. npm ERR! Windows_NT 10.0.14393 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Richard\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" npm ERR! node v6.2.2 npm ERR! npm v2.15.11 npm ERR! code EPEERINVALID npm ERR! peerinvalid The package @angular/compiler@2.1.2 does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer @angular/forms@0.2.0 wants @angular/compiler@^2.0.0-rc.4 npm ERR! peerinvalid Peer @angular/platform-browser-dynamic@2.1.2 wants @angular/compiler@2.1.2 npm ERR! peerinvalid Peer ionic-angular@2.0.0-rc.1 wants @angular/compiler@^2.0.0 npm ERR! peerinvalid Peer @angular/platform-server@2.1.2 wants @angular/compiler@2.1.2 npm ERR! peerinvalid Peer @angular/compiler-cli@0.6.4 wants @angular/compiler@2.0.2 npm ERR! Please include the following file with any support request: npm ERR! E:\Development\IDE\ionic-apps\theWhoZoo\npm-debug.log
【问题讨论】:
【参考方案1】:试试这个方法:
-
使用“phonegap-plugin-push 1.8.4”
不要使用原生“import StatusBar, Push, SQLite from 'ionic-native';”
尝试使用 import Push, PushToken from '@ionic/cloud-angular'; (youpage.ts)
从 '@ionic/cloud-angular' 导入 CloudSettings, CloudModule ; (app.module.ts)
const cloudSettings: CloudSettings = 'core':
'app_id': 'xxx'
,
'push':
'sender_id': 'yyy',
'pluginConfig':
'ios':
'badge': true,
'sound': true
,
'android':
'iconColor': '#ff0000'
;
它对我有用。
【讨论】:
以上是关于使用 Firebase 云消息传递的 Ionic Native Push 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
IOS Firebase 云消息传递“InvalidApnsCredential”
使用 ionic 和 firebase 云消息点击通知后打开页面