0

Google のNearBy Messages APIを使用して、サーバー (ここでは Android デバイス) からいくつかのメッセージを公開し、クライアント (別の Android デバイス) からそれらのメッセージを購読しています。

これで、サーバー側でクライアントのログタイミングを維持したい

  • クライアントが発行されたメッセージを見つけたとき
  • クライアントが圏外になったとき
  • クライアントがサブスクリプションをキャンセルしたとき

しかし、今までAPIで上記のことを通知するものは何も見つかりませんでした。解決策があれば教えてください。

もう 1 つpublishingは、同様Strategy.BLE_ONLYにステータスを与えますResultCallback#onResult

Status{statusCode=TTL_SECONDS_INFINITE is not currently supported for publishes., resolution=null}
4

2 に答える 2

1

私があなたの質問を正しく読んでいれば、1 つの Android デバイスがパブリッシュし、2 つ目の Android デバイスがサブスクライブする設定があります。それに基づいて、ここにいくつかの答えがあります:

when client found the published message

パブリッシャーは、サブスクライバーがいつメッセージを見つけたかを知る方法がありません (サブスクライバーもパブリッシュし、パブリッシャーもサブスクライブしない限り)。

when client goes out of range

パブリッシャは、サブスクライバがいつ範囲外になるかを知りません。次の 2 つの点に注意してください。1) パブリッシャーが範囲外になると、サブスクライバーは onLost() でその情報が表示されるため、それを知ることができます。2) 両方のデバイスがパブリッシュとサブスクライブを行うと、必要なものを実装できるようになります。

when client cancel subscription

繰り返しになりますが、パブリッシャーは、サブスクライバーがいつサブスクライブを停止したかを知る方法がありません。

于 2016-06-24T16:08:22.347 に答える
1

この開発者ガイドを見たことがありますか? https://developers.google.com/nearby/messages/android/pub-sub

  • クライアントがメッセージを見つけたとき、これは public void onFound(Message message) と呼ばれます
  • クライアントが範囲外になると、これは public void onLost(Message message) と呼ばれます
  • パブリッシャーは、サブスクライバーがいつサブスクリプションをキャンセルするかを知ることができません。サブスクライバー自体は、いつサブスクライブを停止するかを知る必要があります。すなわち。購読解除を呼び出すとき。さらに、サブスクライバーは SubscribeCallback を指定して、サブスクリプションの有効期限が切れたとき、またはユーザーがサブスクリプションを停止したときを把握できます。上記の開発者ガイドを参照してください。

パブリッシュの場合、現在 Strategy.BLE_ONLY を使用できません。Strategy.DEFAULT を使用して発行するか、上記のガイドの簡単な例に従って発行することができます。

于 2016-06-22T03:29:07.447 に答える