如何在两个应用程序之间发送通知
Posted
技术标签:
【中文标题】如何在两个应用程序之间发送通知【英文标题】:How to send notification between two application 【发布时间】:2017-06-07 10:39:33 【问题描述】:我想从带有应用程序“A”的设备“A”向带有应用程序“B”的设备“B”发送推送通知,我该如何实现?
任何帮助将不胜感激。
我可以使用firebase
吗?
通过解析,我可以用类似的数字来定义它:
ParseQuery query = ParseInstallation.getQuery();
query.whereEqualTo("phone", "1234567890");
ParsePush push = new ParsePush();
push.setQuery(query);
push.sendPushInBackground();
在其他情况下如何实现?
【问题讨论】:
见This article 【参考方案1】:你可能不得不这样做:
-
为每个启用了 FCM 的应用创建两个单独的 Firebase 项目。 (项目 A 和 B)
为两个应用程序实现 FCM 并为两个应用程序的每个项目生成令牌(即应用程序 A 具有令牌 A 和令牌 B,应用程序 B 具有令牌C 和令牌D)。看我的回答here。
将令牌存储到相应的服务器。
从那里开始,交互流程应该是这样的:
App A > sends data > Server A // (contains App B's tokenC)
Server A > sends notification > App B // (by using tokenC)
反之亦然:
App B > sends data > Server B // (contains App A's tokenB)
Server B > sends notification > App A // (by using tokenB)
这就是大致的想法。
话虽如此,“在其他情况下我怎样才能做到这一点?”这个问题太宽泛了。
【讨论】:
我做了同样的程序,但我没有收到通知【参考方案2】:不,因为两个应用程序的包名称会不同。如果您使用 FCM,则不能在两个应用程序中使用相同的 google-services.json 文件。
【讨论】:
那么uber或者booking是怎么用的呢? 两个应用的包名不同,但属于同一家公司。 @CODE1010101010101 如果服务器有 deviceToken 并且使用相同的 FCM 服务器密钥,我们可以使用其他服务器发送推送。【参考方案3】:首先,Parse 不存在了
现在来回答您的问题,是的,您可以将推送从应用程序 A 发送到应用程序 B
首先在 App B 中实现 FCM,并将设备 id 存储在服务器上。
现在您在服务器上拥有 App B 的设备 ID 和用户 ID。
现在向服务器发送请求以将推送从 A 发送到 B。
【讨论】:
以上是关于如何在两个应用程序之间发送通知的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iPhone 应用程序和 WatchKit 应用程序之间发送消息?
Parse.com - 从 Parse.com 向 iOS 应用程序发送消息,不像推送通知