2017-04-27 94 views
0

如何讓我的服務器通知客戶端某些內容?例如數據庫中的更改?我已經知道FCM。但是如果我不想使用它呢?我如何編碼自己的網絡邏輯?監聽遠程數據庫更改

我目前不需要它。但我對此感到推送系統是如何工作的

+1

你問關於網絡數據庫連接處理或有關通知系統?對於前者,您可以使用Retrofit + GSON作爲後者,爲什麼不使用自定義通知處理的FCM更新您的本地數據? – gonczor

+0

我認爲最好的選擇是@gonczor提到的最好的選擇,因爲其他選項更昂貴,代碼寫得更多,就像在服務器和應用之間打開一個不推薦用於此目的的套接字 –

+0

Try [PubNub](https ://www.pubnub.com)供您使用。詳情請參閱下面的答案。 –

回答

0

在你想從服務器把你的數據到你的Android客戶端,並且不希望使用FCM情況下很好奇:

你總是可以使用網絡插座,在Android和服務器上手動實現這可能會很痛苦。對於這個應用程序應該在前臺或者你可以使用服務。我們從Android庫開始:https://github.com/koush/AndroidAsync

現在,我們使用Pubnub作爲我們的項目,它建立在Web套接字之上,併爲您提供了一種更簡單的方法來處理這些項目。您仍然需要在前臺或服務中安裝接收部分。但它也使您可以使用FCM(或蘋果推送服務)作爲後備,這是在後臺接收推送數據的最簡單方法。 它開始免費,但當你的使用量增加時,將花費你。你可以在這裏看看:https://www.pubnub.com/

0

PubNub的實時消息

您應該how to publish a message via a database trigger閱讀這篇文章。

詳情請見How PubNub Works here

但總而言之,您只需讓您的客戶訂閱一個或多個頻道,然後您的服務器將消息發佈到這些頻道。您可以決定頻道名稱和要發佈的數據以及何時發佈數據。

PubNub負責在1/4秒內將這些消息發送給這些頻道的用戶。

您可以從任何平臺訂閱:

這是剛剛超過70平臺,您可以選擇以下三種。免費賬戶允許多達100個日常活動設備(永久),以便您可以在付款之前進行遊戲,如果您決定將您的應用擴展到羣衆。