首页 文章

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

提问于
浏览
40

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

现在我正在看以下文档:

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

说的是:

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

Does it mean I can use it in my ionic app for both android/ios, since app is built using cordova?

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

谢谢

5 回答

  • 1

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

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

    ⁠⁠⁠ionic plugin add cordova-plugin-inappbrowser
    ionic plugin add cordova-plugin-fcm
    ionic plugin add cordova-plugin-velda-devicefeedback
    

    接下来,转到Firebase Console

    • 创建一个新项目并为其命名;

    • 选择你喜欢的平台(ios / android);

    • 添加您的 Package Name ,这是您的应用的ID:您可以在 config.xml (类似于 id="com.ionicframework.someTest123" )中看到它 .

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

    • 将其粘贴到 platforms/android/ 目录中

    • 在CLI上运行 ionic build android

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

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

  • 49

    你可以在没有问题的情况下使用带有cordova的FCM,但它需要为Android,iOS和其他你想要使用的平台编写本机代码 . 幸运的是,科尔多瓦社区非常庞大,工作已经完成 . 以下插件声明可以完全按照您的要求进行操作 .

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

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

  • 3

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

    phonegap推送插件正在更新以支持FCM:Migrate to Firebase Cloud Messaging #929

    或者,您可以将旧的GCM平台与phonegap插件一起使用,但是您需要在插件准备就绪后立即更新服务器端推送API以使用FCM .

  • 5

    你可以检查一下:适用于iOS和Android https://github.com/mail2lulu/cordova-plugin-fcm.git

  • 8

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

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

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

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

    • 跑 . 或者您可以尝试保存,然后执行 ionic build iosionic emulate ios .

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

相关问题