所以我有一个网络应用程序和一个移动应用程序,网络应用程序与signalR和SQL工作正常,我试图使用Web应用程序相同的后端创建一个离子移动应用程序,所以我是一个很少限于使用signalR。 在网络应用程序中,我设置了某些触发器以在某些事件发生时触发弹出通知,并且它在webapp中与signalR配合使用。 问题是:由于一些限制,我必须使用离子,并且我一直在寻找实施推送通知的方式3天而不必求助于FCM,但我还没有达到任何目的。 有没有办法用离子3做到这一点?使用signalR而不是FCM实现推送通知?
答案 0 :(得分:1)
我不确定我是否完全理解你的问题,但让我看看我是否可以开始对话。
最终,对于推送通知,您必须联系APNS(Apple推送通知服务器)和GCM(Google云消息传递)以在ios和Android手机上制定推送通知。因此,这意味着您可以直接从您的应用程序联系服务器。 (对于ios有点痛苦,对于android来说不是那么多)或者你可以使用中间人,比如:
FCM
Onesignal: https://onesignal.com/
亚马逊简单通知服务: https://aws.amazon.com/sns/
或其他一些人:http://www.businessofapps.com/guide/push-notifications/
我对signalR本身并不熟悉......但我对推送通知非常熟悉。您可以使用来自signalR的http api调用完成所需的一切,但GCM和APNS服务器的认证要求很难跟上应用程序本身。 (因此有很多企业会为你做这件事。)
虽然,我想有一件事我对你究竟推动谁...一个网络服务有点困惑?一部手机? (因为你提到FCM,我正在假设一部电话)
首次评论后修改: 所以,答案(据我理解你的问题)是你不能直接从signalR转到移动设备而不使用像FCM(我推荐)或Onesignal这样的东西。
您会注意到设备之间标记为APNS,GCM和FCM的云的双向流。这意味着通过推送通知进入手机的唯一方法是通过APNS和FCM,您必须通过推送通知服务来完成....例如FCM
在出现任何混淆之前,让我指出一些重要的观点: 1. FCM和GCM几乎是同义词。 FCM是GCM的更新版本,增加了一些功能。更多信息here
因此,您无需通过FCM进行推送通知,但即使您选择了OneSignal,他们仍会与FCM进行通信,以实际向手机本身发送推送通知。
你在Android世界中开始做正确的事。推送通知比ios更容易。 (困难在于认证过程,在你了解它之后很容易......但我起初很难理解)
简而言之,这就是我的建议: 1.使用离子本机推送与FCM通信作为推送通知服务(灰色框) 2.设置FCM,以便它可以在时机到来时与APNS服务器通信。
对于离子原生,我会使用他们的github网站进行记录(我确定你已经去过那里)https://github.com/phonegap/phonegap-plugin-push
要设置FCM,我建议在firebase网站上提供文档:https://firebase.google.com/docs/cloud-messaging/
注意:在离子中使用firebase产品时...为所有文档选择“web”。例如,尽管您计划使用ios和Android手机,但您可以在此链接中选择“网络入门”: https://firebase.google.com/docs/