0

這是我對SNS的官方網站上找到的代碼發佈到一個話題SNS推送通知發佈到單個設備

String msg = "My text published to SNS topic with email endpoint"; 
PublishRequest publishRequest = new PublishRequest(topicArn, msg); 
PublishResult publishResult = snsClient.publish(publishRequest); 
System.out.println("MessageId - " + publishResult.getMessageId()); 

我正在開發針對Android的使用SNS聊天應用程序(它也將推送通知的應用程序的現有IOS對應)

,如果我想要發佈到一個單一的設備可以直接給我設備的「ApplicationEndPointArn」,而不是topicArn

+0

不推薦從設備發佈到設備,不應該完成。它帶來了一些風險,客戶可以通過通知羣集他人的設備。 –

+0

@RohanDubal那麼你對聊天應用程序有什麼建議? – shruti

+0

如果您想編寫聊天應用程序,您可以使用自己的後端,並開發自己的協議或根據現有的協議開發一些基於XMPP的協議。您可以使用SNS將離線通知從您的後端發送到設備。 – Krum

回答

0

SNS是一種發佈訂閱機制,其中w討厭的人被髮布到一個話題被所有在場的訂戶接收。

您無法發佈到設備端點。基本上SNS可以用於廣播應用,任何人都可以向訂閱該主題的任何人發送廣告,就像whatsapp羣聊一樣,但不能在一次聊天中使用該功能

0

SNS旨在將通知服務與應用層分離。

我們可以創建一個主題並添加移動終端作爲訂戶。

當消息發佈到主題時,所有訂閱者都會收到通知。

從這個

除此之外,如果你確實需要一個端點的消息,你可以嘗試,

PublishRequest publishRequest = new PublishRequest(); 
publishRequest.setTargetArn(endpointArn); 
publishRequest.setMessage("SOME MESSAGE"); 
snsClient.publish(publishRequest) 

其中endpointArn是設備端點。

但是請確保在SNS中註冊設備時使用此設備端點,並使用相同的返回EndpointArn進行進一步通信。

相關問題