使用Ionic应用程序的Firebase云消息传递

Zee*_*mon 40 push-notification cordova firebase ionic-framework firebase-cloud-messaging

我正在使用离子框架(Web技术)开发android/ios应用程序,我想在新的firebase功能FCM的帮助下添加推送通知.

现在我正在看以下文档:

https://firebase.google.com/docs/cloud-messaging/chrome/client#project-setup

说的是:

  • Chrome中的网站可以通过服务工作者和网络实现推送消息传递
  • 应用程序符合Webpush标准.Chrome应用和扩展程序可以直接通过chrome.gcm
    API 访问FCM服务.

这是否意味着我可以在我的离子应用程序中使用它同时用于android/ios,因为app是使用cordova构建的?

如果有任何实现的例子,我可以看到和学习​​,这将是非常有帮助的.

谢谢

JC *_*dan 50

我知道这个问题已经是侏罗纪了,但仅仅是为了使用Ionic框架的未来移动开发者的信息.这是100%现在工作,我在过去3周一直在使用它.

您只需添加这3个插件即可

???ionic plugin add cordova-plugin-inappbrowser
ionic plugin add cordova-plugin-fcm
ionic plugin add cordova-plugin-velda-devicefeedback
Run Code Online (Sandbox Code Playgroud)

接下来,转到Firebase控制台

  • 创建一个新项目并为其命名;
  • 选择你喜欢的平台(ios/android);
  • 添加您的包名称,这是您的应用程序的ID:您可以在config.xml中看到它(类似于 id ="com.ionicframework.someTest123").

Firebase控制台会为您提供名为google-services.json的文件.

  • 将其粘贴到platforms/android /目录中
  • ionic build android在CLI上运行

您现在可以转到通知页面>新消息

确保在发送推送通知之前选择您添加的应用程序(应用程序的ID).

  • 当我按照上面的说明进行构建时,我得到以下内容(我正在使用Ionic2).有什么想法吗?"任务执行失败":processDebugGoogleServices'.>请通过更新google-services插件的版本来修复版本冲突(有关最新版本的信息,请访问https://bintray.com/android/android-tools/com.google.gms.google-services/ )或将com.google.android.gms的版本更新为9.2.0 (6认同)

小智 8

我设法让它在IOS上工作.这就是我做的.

  1. 转到Firebase并添加新的IOS应用程序以进行云消息传递.按照说明填写您的应用ID等的简单表格.您将生成GoogleServices-Info.plist文件并下载.忽略cocoapods的东西.你不需要它.

  2. 导航到您的Ionic app平台/ ios并使用XCode打开xcodeproject文件.

  3. 将下载的GoogleServices plist文件粘贴到Xcode项目文件的根目录中.

  4. 跑.或者你可以尝试保存然后做ionic build ios,ionic emulate ios.

我之前添加了旧的phonegap-plugin-push.这必须从我的config.xml中删除,否则IOS将无法成功构建.


Tim*_*aas 5

您可以将FCM与cordova一起使用而不会出现问题,但它需要为Android,iOS和您想要使用的其他平台编写本机代码.幸运的是,科尔多瓦社区非常庞大,工作已经完成.以下插件声明可以完全按照您的要求执行操作.

https://www.npmjs.com/package/cordova-plugin-fcm

我自己还没有尝试过这个插件,但自述文件说你可以订阅javascript中的主题并调用该onNotification函数来监听通知,当你的应用程序在前台时很方便.


小智 3

FCM 对 JS/浏览器的支持依赖于浏览器的通知 API,我不相信 cordova 有一个可以在本机工作的通知 API。您可以而且应该在所有平台上使用 FCM,但您必须手动添加对每个平台的支持或等待推送插件开发。

PhoneGap 推送插件正在更新以支持 FCM: 迁移到 Firebase Cloud Messaging #929

或者,您可以使用带有phonegap 插件的旧GCM 平台,但您需要在插件准备好后立即更新服务器端推送API 以使用FCM。