2012年9月7日 星期五

[Android] 如何知道使用者是否已移除你的程式

這問題我原先是在Stack overflow看到的:

http://stackoverflow.com/questions/12245163/android-sdk-facebook-how-to-know-when-a-user-is-not-using-your-app-anymore/12250465#12250465

我也提供了一個解法, 不過, 慚愧的是, 我當初突然想到這解法後, 自己並沒有去實驗它, 只是覺得理論上可行... :P

我的方法是, 利用GCM (Google Cloud Messaging), 裡面有一段:

When users uninstall an application, it is not automatically unregistered on GCM. It is only unregistered when the GCM server tries to send a message to the device and the device answers that the application is uninstalled. At that point, you server should mark the device as unregistered (the server will receive a NotRegistered error).

後來拿了GCM sample試了一下, 好像也可行, 只是不是那麼即時, 也就是沒辦法剛移除就知道了, 我的測試結果是, 一兩個小時候才出現 "NotRegistered", 不過似乎也是個解法就是了...