2015-08-31 31 views
0

所以我需要的是一種推拉式web服務機制;某些設備將向我的分析後端發送數據,其他一些設備應該能夠在添加新數據時接收新添加的數據。把它想象成一個餐廳環境,顧客通過他們的電話發送他們的訂單,餐廳經理在他的電腦上實時接收訂單。用解析推拉

我知道我可以使用推送通知,但我想定位特定用戶(本例中爲管理員)。我想我可以有一個特定的推送通知渠道,其中只添加了管理員,但我不確定是否可以批量發送正確的json數據或只是簡單的字符串。也許有一個更好的方法去實現它。

有什麼建議嗎?

非常感謝, 城邦

+0

一推不需要包含除了認識的任何信息,有是在服務器上的一些新的東西拉。 – danh

回答

0

可以使用雲解析此目的。因此,某些設備(您可以在雲中或客戶端進行區分)可以調用雲方法。被調用的雲方法可以向您的服務器(經理pc實時)發出http請求。從現在開始,您的服務器端可以實時向您的經理傳遞即將到來的消息。在這個解決方案中,我假設你有自己的Web用戶(如經理)和客戶端用戶(客戶)的移動應用程序服務器。

希望這可以給你一個想法。問候。

+0

實際上,謝謝。如果我只是添加一個afterSave雲觸發器,以便每次保存Order類型的新對象時,該訂單將被推送給經理? – Polis

0

您可以使用推送通知來達到此目的。在我看來,這將是你最好的選擇。

在客戶端註冊推送通知時,可以將owner列設置爲用戶指針。現在,當將推送通知從一個用戶發送到另一個用戶時,您可以查詢Installation類來獲取其他用戶的指針。您可以從客戶端發送推送通知,也可以爲afterSave觸發器編寫雲代碼。雲代碼是一個更好的選擇。

這種方法的缺點是,如果其他用戶不允許推送通知,那麼這將失敗。第二位用戶在打開應用程序時仍可以獲取數據,但不會收到推送通知。

***我建立使用這種方法聊天應用上Parse.com

+0

因此,爲了確保將所有客戶訂單推送給經理,我可以將所有客戶定義爲「所有者」,將經理定義爲「安裝」? – Polis

+0

編號'''owner'''只是Parse中'''Installation''類中的另一個列名,它將保存一個指向'''User''對象的指針。 '''owner'''表示Parse中'''Installation'''行的所有者。我假設客戶和經理都是Parse中的'''User''類。如果是這樣,'''owner'''既是安裝類中的客戶也是管理者。 –

0

你並不需要一個複雜的通道設置,爲您節省安裝之前,做這樣一行:

[installation setObject:[PFUser currentUser] forKey:@"owner"]; 
[installation saveInBackground]; // ... completion or whatever 

然後,只需查詢:

PFQuery *installationQuery = [PFInstallation query]; 
[installationQuery whereKey:@"owner" equal:userImLookingFor]; 

然後,它像PFPush瓦特/查詢什麼的。

(我是從內存類型,所以其中的一些可能需要稍微改動)

+0

這看起來不錯,但我想知道它是否會工作,假設經理使用PC而不是移動設備? – Polis

+0

@Polis我從來沒有設置推OS X.這是iOS移動代碼。 – Logan