我正在開發即時消息應用程序。我將使用SignalR將消息推送到客戶端。我應該如何處理離線設備以獲取最新消息?我有兩個解決方案:離線即時消息
當服務器想要發送消息到設備,它不關心設備是否聯機。它只是用SignalR發送數據,所以如果設備處於脫機狀態,用戶不會收到消息。當設備再次聯機時,它會將設備SQLite中記錄的最新ID發送到服務器。然後服務器發送ID大於客戶端的消息。
當服務器想要將消息發送到設備時,它首先檢查設備是聯機還是脫機。如果它在線,它使用SignalR發送消息。如果設備處於脫機狀態,則會發送推送通知 - 使用適用於Android的GCM或適用於iOS的APNS - 通過設備進行發送。然後,當設備在線時,它會檢查推送通知並更新SQLite中的消息。
哪種解決方案更好?
@ Biffen-感謝您的編輯。 –