2014-08-28 49 views
1

在應用程序中,用戶可以訂閱通知或取消訂閱。此事件由Worklight適配器處理,該適配器在數據庫中註冊或刪除用戶訂閱。IBM Worklight - 如何檢測應用程序是否已卸載並停止發送通知?

但如果應用被卸載不退訂,在數據庫中仍將是用戶訂閱。

這怎麼處理?
有沒有辦法通知Worklight的應用程序卸載?


正如伊詹答案解釋,認購將工作燈根據通知供應商的時間不具體金額後,系統自動剔除。

http://developer.android.com/google/gcm/adv.html#unreg

https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html尋找 「通用提供者要求」 和 「反饋服務」

對於蘋果如何繼續工作燈?它是否每天檢查反饋服務,然後刪除相應的通知?

我已經與Android測試和痕跡出現在WL Server控制檯說,認購已被刪除「因爲該通知是由服務器(NotRegistered)拒絕」。

這是後兩小時,因爲我卸載了應用程序,我送23個通知與卸載應用程序。

是否可以爲此「事件」添加自定義處理程序?

閱讀該文檔,在WL.Server.createEventSource方法的「選項」參數「onDeviceUnsubscribe」物業說:

「當設備訂閱被刪除時調用的JavaScript函數的名稱通過客戶端請求或清理任務「

什麼是清理任務?我的第一個想法是,這個回調將在我們正在討論的用例中被調用,但我已經嘗試過了,當通知被自動刪除時,這個回調函數不會被調用。

目前我正在發送短信給我的客戶,當客戶安裝應用程序,我會送的,而不是短信,但情況通知客戶卸載我需要知道它開始再次發送短信的應用。

回答

0

工作燈服務器無法(由你)通知應用程序已經被卸載 - 這是你沒​​有任何控制用戶的操作。

這就是說,你不需要擔心這個,因爲這個確切的情況正在爲您處理。
這是流量:

如果啓用推應用程序已經被卸載,而你發送通知......該通知到達的APNS/GCM/MPNS服務器,然後發送通知設備,將顯示在應用程序中。

由於應用程序不再安裝,設備操作系統將向APNS/GCM/MPNS服務器提供通知無法顯示的反饋。

最終,APNS/GCM/MPNS服務器將通知Worklight Server該令牌不再有效,並且訂閱將從數據庫中刪除。

儘管APS/GCM/MPNS服務器將通知上述內容,但Worklight無法控制。有關更多信息,請參閱相應的服務文檔。


的添加到您編輯的問題不完全清楚,但這裏有雲:

  • APNS令牌失效 - 只有蘋果可以告訴你這件事。這可能需要幾分鐘,幾小時,幾天,幾周...有各種情況,所以不能保證具體的時間框架。

  • 清理任務很可能是由Worklight Server完成的用於刪除過期訂閱的任務。它每1小時運行一次並連接到APNS反饋服務以檢索非活動設備列表。在收到設備列表時,它會從數據庫中刪除設備訂閱。

  • onDeviceUnsubscribe - 一旦設備取消訂閱onDeviceUnsubscribe將被觸發。這種回調的想法是讓開發人員通知企業後端系統,該設備不再能夠接收推送通知,以便後端將不再嘗試發送它們。這是您可以告訴您的後端系統發送短信的地方。但是,你真的實現它(回調)?

+0

因此,在通過所解釋的流程發送通知後,Worklight服務器會自動處理它。謝謝你,伊丹。 – Jxadro 2014-08-28 14:47:10

+0

是的,但請注意,您不會馬上注意到這一點,因爲令牌失效不是由Worklight完成的。 – 2014-08-28 14:50:56

+0

@JavierOrdax,你已經改變了問題的上下文後得到一個完整的答案......很好。我會根據您的編輯看看是否有任何要添加的東西... – 2014-08-29 08:54:43

相關問題