開発者コンソール

A3Lでのトピックベースのメッセージング

A3Lでのトピックベースのメッセージング

トピックベースのメッセージングを使用すると、同じトピックをサブスクライブしているユーザーのグループにメッセージを送信できます。トピックベースのメッセージングを使用してメッセージを送信するには、AndroidデバイスまたはFire OSデバイスのアプリインスタンスがトピックをサブスクライブする必要があります。A3L Messagingは、Amazon Device Messaging(ADM)APIとFirebase Cloud Messaging(FCM)APIのsubscribeToTopic()メソッドとunsubscribeFromTopic()メソッドを抽象化します。

セキュリティプロファイルの登録

Fire OSデバイスの場合、ADMを介してトピックベースのメッセージングにセキュリティプロファイルを登録する必要があります。手順については、トピックベースのメッセージングへのセキュリティプロファイルの登録を参照してください。FCMでトピックベースのメッセージングを使用する場合、この手順は必要ありません。

トピックのサブスクライブまたはサブスクライブ解除

アプリをADMまたはFCMのトピックをサブスクライブするには、A3L Messaging subscribeToTopic()メソッドを呼び出し、それにトピック名を渡します。このメソッドはTaskを返します。次のコードに示すように、完了リスナーはこの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を返します。次のコードに示すように、完了リスナーはこのTaskを使用して、サブスクライブの解除に成功したかどうかを判断できます。

A3LMessaging.unsubscribeFromTopic(topic).addOnCompleteListener(
        new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                String msg = "サブスクライブを解除しました";
                if(!task.isSuccessful()){
                    msg = "サブスクライブを解除できませんでした";
                }
                Log.d(TAG, msg);
            }
        }
);

サーバー側のスクリプトを使用したテスト方法

トピックベースのメッセージングをテストするには、サーバー側のスクリプトを使用してトピックにメッセージを送信します。

  • ADMSendMessageToTopic.pyは、トピックベースのメッセージをFire OSデバイスに送信するPythonスクリプトです。
  • FCMSendMessageToTopic.pyは、トピックベースのメッセージをAndroidデバイスに送信するPythonスクリプトです。

以下のボタンをクリックすると、スクリプトのコードを取得できます。テストメッセージを送信するには、このコードをコピーしてエディターに貼り付け、コメントに示されている値を更新します。その後、それぞれをpy.ファイルとして保存し、スクリプトを実行します。

ソリューション固有のAPIを使用したテスト方法

ソリューション固有のAPIを使用して、トピックベースのメッセージングをテストすることもできます。ADM APIおよびFCM APIを使用してトピックにメッセージを送信する方法の詳細については、以下のガイドを参照してください。