2011-01-19 77 views
5

因此,我已經閱讀了LVL文檔,並將其與我的應用程序配合使用。我已經看到有關緩存響應的問題。但是,仍然讓我想到,根據LVL文檔中的一些措辭,Google是否希望我們在每次應用程序初始化時都打電話給許可證檢查器?這是實施這個最安全的方法嗎?像Google建議的那樣使用ServerManagedPolicy,我們是否只需調用許可證檢查,並運行我們的應用程序,或者如果他們失敗了,我們會選擇做什麼?我的一個小問題是使用網絡數據。他們深入研究我們需要謹慎使用資源而不通知用戶,在我看來,這是對網絡數據的使用,而不讓用戶知道。Android:每次打開應用程序時我應該打電話給LicenseChecker嗎?

要補充一點,是否有人因爲此代碼而遇到任何類型的延遲到他們的應用程序?由於我的應用程序的性質,打開它,然後等待每一次通過網絡來確定通過它肯定會分散它的使用。我應該自行緩存迴應,還是我想方設法?

回答

1

你回答了你自己的問題;如果您覺得每次開始時調用服務都會造成破壞性(如果用戶不在服務範圍內),那麼請不要這樣做。

Google不會就使用許可服務的頻率提出建議;這取決於應用程序開發人員是如何偏執於盜版的,這與您感覺經常檢查會令用戶煩惱的程度相平衡。

+0

感謝您的回覆。在發佈問題後,我一直在閱讀更多內容並仔細研究。它看起來像LVL會做它自己的緩存。所以我可能會過度關注這會產生的實際流量。我只是打電話給主程序的onCreate上的許可證檢查。如果它成爲一個真正的問題,我可以用更寬鬆的版本發佈更新。我只是假設ServerManagedPolicy會爲我做所有的後臺工作,就像他們說的那樣。 – Isaac 2011-01-19 19:54:29

+0

在@Tom的回答中看到我上面的評論。舉一個簡單的例子,結果Toast,你會看到每次啓動應用程序時都會調用它。 – trgraglia 2011-01-30 15:52:07

1

好的,公平的,只能在一段時間內檢查一下。但是,您可以在哪裏「安全」存儲信息,並且每天只檢查一次? 例如,第一次啓動應用程序時,您會檢查它。 LVL的結果是有效的:所以你存儲了上次成功檢查的日期。但是在哪裏存儲?使用SharedPreferences?這安全嗎?因爲如果你在你的設備上有root權限,你可以訪問這個首選項並且改變有效的日期(以後任何一種方式,當然你可以在代碼中檢查:-))

PS。很抱歉,無法作出評論:(

+0

湯姆,我和你在一起。你的代碼中的哪個部分可以存儲這些信息,而不必將其放置在公開區域?我只是想讓ServerManagedPolicy代碼完成這項工作。我猜想這將會和門鎖類似。他們保持誠實的人誠實。如果有人想要在你的房子裏,他們只會打破一個窗口,並進入。 – Isaac 2011-01-19 19:56:28

0

關於LVL:雖然SDK提供了一個樣本實現,谷歌自己,明確建議不要使用它「原樣」

http://www.google.com/events/io/2011/sessions/evading-pirates-and-stopping-vampires-using-license-verification-library-in-app-billing-and-app-engine.html

看着那之後。 ,我相信,LVL不適用於以1-2美元出售的應用程序,此外,LVL檢查失敗(如果沒有網絡可用)將導致合法用戶失望。某種緩存LVL響應,它總是會回到這個問題上,在你想要保護ag的距離有多遠以盜用合法用戶爲代價的盜版行爲?

而且:開發人員時間有限,所以也許更值得花時間去改進應用程序,而不是浪費大量時間來減少非法使用。

0

每次啓動應用程序時調用它。 Google發佈的LVL庫會緩存響應,並在用戶下次啓動應用程序時使用它,因此如果它們在緩存有效時間範圍內重新啓動應用程序,則不需要網絡連接。

您可能想要做的是更改緩存有效的時間量。默認情況下,Google提供的緩存有效時間相當低,導致緩存過期時網絡外部的一些煩心用戶。

相關問題