我正在使用离子框架(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 回答
我知道这个问题已经是侏罗纪了,但仅仅是为了使用Ionic框架的未来移动开发者的信息 . 这是100%正常工作,我在过去3周一直在使用它 .
您只需添加这3个插件即可
接下来,转到Firebase Console和
创建一个新项目并为其命名;
选择你喜欢的平台(ios / android);
添加您的 Package Name ,这是您的应用的ID:您可以在 config.xml (类似于 id="com.ionicframework.someTest123" )中看到它 .
Firebase控制台将为您提供名为 google-services.json 的文件 .
将其粘贴到 platforms/android/ 目录中
在CLI上运行
ionic build android
您现在可以转到通知页面>新消息
确保在发送推送通知之前选择您添加的应用程序(应用程序的ID) .
你可以在没有问题的情况下使用带有cordova的FCM,但它需要为Android,iOS和其他你想要使用的平台编写本机代码 . 幸运的是,科尔多瓦社区非常庞大,工作已经完成 . 以下插件声明可以完全按照您的要求进行操作 .
https://www.npmjs.com/package/cordova-plugin-fcm
我自己还没有尝试过这个插件,但自述文件说你可以订阅javascript中的主题并调用
onNotification
函数来监听通知,当你的应用程序在前台时很方便 .对JS /浏览器的FCM支持依赖于浏览器的通知API,我不相信cordova有一个可以原生工作的API . 您可以而且应该在所有平台上使用FCM,但您必须手动添加对每个平台的支持或等待推送插件开发 .
phonegap推送插件正在更新以支持FCM:Migrate to Firebase Cloud Messaging #929
或者,您可以将旧的GCM平台与phonegap插件一起使用,但是您需要在插件准备就绪后立即更新服务器端推送API以使用FCM .
你可以检查一下:适用于iOS和Android https://github.com/mail2lulu/cordova-plugin-fcm.git
我设法让它在IOS上工作 . 这就是我做的 .
转到Firebase并添加新的IOS应用程序以进行 Cloud 消息传递 . 按照说明填写您的应用ID等的简单表格 . 您将生成GoogleServices-Info.plist文件并下载 . 忽略cocoapods的东西 . 你不需要它 .
导航到您的Ionic app平台/ ios并使用XCode打开xcodeproject文件 .
将下载的GoogleServices plist文件粘贴到Xcode项目文件的根目录 .
跑 . 或者您可以尝试保存,然后执行
ionic build ios
,ionic emulate ios
.我之前添加了旧的phonegap-plugin-push . 这必须从我的config.xml中删除,否则IOS将无法成功构建 .