簡體   English   中英

從Android向GCM發送上游主題消息

[英]Sending an upstream topic message from Android to GCM

如何從Android應用程序內部發送GCM消息,以使注冊到特定主題的所有其他設備都收到該消息?

文檔中說這是發送上游GCM消息的方式:

    GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
    String GCM_SENDER_ID = "715097164599";
    AtomicInteger msgId = new AtomicInteger();
    String id = Integer.toString(msgId.incrementAndGet());
    Bundle data = new Bundle();

    data.putString("message", "This is a GCM Topic Message!");

    try
    {
        gcm.send(GCM_SENDER_ID + "@gcm.googleapis.com", id, data);
    }
    catch(IOException e)
    {
        throw new RuntimeException(e);
    }

但是請注意,沒有地方可以指定此消息應轉到的主題。

我想到添加:

data.putString("topic", "/topics/global");

但這會將“ to”字段放在消息有效負載內,這不是GCM服務器所期望的。

如何在不使用GCM的HTTP接口的情況下向所有訂閱者發送消息?

謝謝。

似乎此功能不可用(從設備到主題組的上游)。

您可以采取的一種解決方法(請參閱編輯)是向服務器發送實際的上游消息,並使服務器知道您的意圖。 當然,您將需要將此邏輯添加到服務器代碼中。 在此過程中,您可以在data添加一個值,以表示該消息打算在特定主題的下游廣播。

編輯:有關潛在的安全風險,請參考下面的@TheWonderBird注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM