如何在两个应用程序之间发送通知

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 应用程序发送消息,不像推送通知

如何从应用“B”向 Android 应用“A”发送通知?这两个app的firebase项目连接不同

如何在以下用例的通知扩展和应用程序之间进行通信?

当汽车到达特定半径时如何发送推送通知

如何从信号处理程序内部向其他进程发送通知?