如何从一个安卓设备发送通知到另一个设备?

6
我正在开发两个应用程序,一个用于预订服务,另一个供经理回应客户请求,一旦完成预订,它必须检测位置并根据该位置将订单通知发送给最近的经理。我该如何处理?
我正在使用Google地图API搜索最近的经理,这段代码运行良好。但是,由于我不知道如何处理推送通知,因此无法集成。我该如何在服务器上实现此功能?一旦发送了通知,如果经理没有回应,则希望服务器在30分钟后再次发送消息。请帮帮我。谢谢!

请看以下程序相关内容的翻译:如何从Android发送Firebase主题消息 - Mahmoud Abu Alheja
2个回答

1

我遇到了同样的问题,所以我会在下面写出我的步骤。

FCM安装

1) 正如Google所说:Firebase Cloud Messaging (FCM) 是 GCM 的新版本。。因此,如果您要开始一个新应用程序,请改用 Firebase Cloud Messaging

您需要:

  • 运行 Android 2.3(姜饼)或更高版本,并且 Google Play 服务为9.4.0或更高版本的设备

  • 从 Android SDK 管理器中获取 Google Play 服务 SDK Android Studio 1.5 或更高版本

  • 一个 Android Studio 项目及其包名称

2) 创建一个 Firebase 项目或导入现有项目并按照设置步骤进行操作

FCM使用

1) 要向特定设备发送消息,您需要知道该设备的注册令牌。当您需要检索当前令牌时,请调用 FirebaseInstanceID.getToken()。还要记得实现 onTokenRefreshcallback。每当生成新令牌时,onTokenRefreshcallback 就会触发。

@Override
public void onTokenRefresh() {
    // Get updated InstanceID token.
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.d(TAG, "Refreshed token: " + refreshedToken);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // Instance ID token to your app server.
    sendRegistrationToServer(refreshedToken);
}

2) 在获取到令牌后,您可以将其发送到应用程序服务器并尝试发送一些消息。

  1. 在目标设备上安装并运行应用程序。
  2. 确保设备上的应用程序在后台运行。
  3. 打开 Firebase 控制台的通知选项卡并选择新消息。
  4. 输入消息文本。
  5. 选择单个设备作为消息目标。
  6. 在标记为 FCM 注册令牌的字段中,输入您在本指南的前面部分中获取的注册令牌。

这就是您将在 文档 中找到的所有内容。希望它能帮助到某些人。


1
除了 Firebase 之外,是否有任何方法可以发送通知而无需任何服务器? - Devendra Singh
@DevendraSingh 你可以看一下OneSignal。它更容易实现,而且我认为价格也更低。 - kristyna
感谢@kristyna提供如此详细的答案。 我已经将Firebase集成到我的应用程序中。 - user3908652

0
要实现这个功能,您需要从要发送通知的设备获取regId(gcmToken)。然后,您可以在Android中使用网络库(框架)向GCM服务发送HTTP请求。您可以参考Google云消息指南中的所有内容。如果您不理解,可以在下面评论,我会帮助您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接