开发者控制台

A3L中基于主题的消息传递

A3L中基于主题的消息传递

基于主题的消息传递可让您向订阅相同主题的用户组发送消息。要使用基于主题的消息传递来发送消息,Android或Fire OS设备上的应用程序实例必须订阅主题。A3L Messaging为Amazon Device Messaging (ADM)和Firebase Cloud Messaging (FCM) API中的subscribeToTopic()unsubscribeFromTopic()方法提供抽象。

注册您的安全配置文件

对于Fire OS设备,必须通过ADM注册基于主题的消息传递的安全配置文件。有关说明,请参阅为基于主题的消息传递注册安全配置文件。在FCM中使用基于主题的消息传递不需要此步骤。

订阅或取消订阅主题

要为您的应用订阅ADM或FCM主题,请调用A3L Messaging subscribeToTopic()方法并将主题名称传递给它。此方法返回一个Task,完成侦听器可以使用它来确定订阅是否成功,如以下代码所示。

A3LMessaging.subscribeToTopic(topic).addOnCompleteListener(
        new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                String msg = "已订阅";
                if (!task.isSuccessful()) {
                    msg = "订阅失败";
                }
                Log.d(TAG, msg);
            }
        }
);

要为您的应用取消订阅ADM或FCM主题,请调用A3L Messaging unsubscribeFromTopic()方法并将主题名称传递给它。此方法返回一个Task,完成侦听器可以使用它来确定取消订阅是否成功,如以下代码所示。

A3LMessaging.unsubscribeFromTopic(topic).addOnCompleteListener(
        new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                String msg = "Unsubscribed";
                if (!task.isSuccessful()) {
                    msg = "取消订阅失败";
                }
                Log.d(TAG, msg);
            }
        }
);

使用服务器端脚本进行测试

要测试基于主题的消息传递,您可以使用这些服务器端脚本向主题发送消息。

  • ADMSendMessageToTopic.py是一个python脚本,它向Fire OS设备发送基于主题的消息。
  • FCMSendMessageToTopic.py是一个python脚本,它向Android设备发送基于主题的消息。

单击以下按钮获取脚本代码。要发送测试消息,请复制代码,将其粘贴到编辑器中,并更新注释中指示的值。然后将每个脚本保存为.py文件并运行脚本。

使用特定于解决方案的API测试

您还可以使用特定于解决方案的API测试基于主题的消息传递。有关如何通过ADM和FCM API向主题发送消息的详细说明,请参考以下指南。