我不确定我是否完全理解你的问题,但让我看看是否可以开始对话。
最终,对于推送通知,您必须同时联系 APNS(Apple 推送通知服务器)和 GCM(Google Cloud Messaging)才能在 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)
在第一条评论后编辑:
因此,答案(据我了解您的问题)是,如果不使用 FCM(我推荐)或 Onesignal 之类的东西,您就不能直接从 signalR 转到移动设备。
为什么...让我们从图表开始:
您会注意到来自标记为 APNS、GCM 和 FCM 的云端设备之间的双向流动。这意味着通过推送通知访问手机的唯一方法是通过 APNS 和 FCM,您必须通过推送通知服务来完成......例如 FCM
在出现任何混淆之前,让我指出一些重点:
1. FCM 和 GCM 几乎是同义词。 FCM 是 GCM 的更新版本,增加了一些功能。更多信息here
- FCM 既是推送通知服务,也是消息服务。也就是说FCM既提供了灰盒的服务,也提供了下面灰云的服务。据我所知,在 ios 世界中没有任何类似的东西可以两者兼得。 FCM 允许您将消息传递到 android 和 ios 手机(通过 FCM 和 APNS)
因此,您不必通过 FCM 进行推送通知,但即使您选择 OneSignal,他们仍会与 FCM 通信以实际将推送通知发送到手机本身。
从 android 世界开始,您做的是正确的事。推送通知比在 ios 中要容易得多。 (难点在于认证的过程,知道了就容易了……但一开始就很难理解)
简而言之,这是我的建议:
1.使用ionic原生推送作为推送通知服务与FCM通信(灰色框)
2. 设置FCM,以便在时机成熟时也能与APNS服务器通信。
对于 ionic native,我会使用他们的 github 站点来获取文档(我相信你已经去过那里)https://github.com/phonegap/phonegap-plugin-push
对于设置 FCM,我推荐 firebase 网站上的文档:https://firebase.google.com/docs/cloud-messaging/
注意:在 ionic 中使用 firebase 产品时...为所有文档选择“web”。例如,尽管您计划使用 ios 和 android 手机,但您会在此链接中选择“网络入门”:
https://firebase.google.com/docs/