2011-03-31 29 views
2

我一直在關注developer.android.com頁面http://developer.android.com/guide/publishing/licensing.html#lc-lcc以獲取有關使用ServerManagedPolicy類型許可的說明。我已經添加了谷歌市場許可包到我作爲一個庫應用程序,我已經列入我的onCreate方法驗證碼:如何使用ServerManagedPolicy lvl?

String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID); 
mLicenseCheckerCallback = new MyLicenseCheckerCallback(); 
mChecker = new LicenseChecker(this, new ServerManagedPolicy this, 
      new AESObfuscator(SALT, getPackageName(), deviceId)),    
      BASE64_PUBLIC_KEY); 

在這一點上我覺得說明混亂。網站上的其他示例代碼大部分似乎都是用於開發StrictPolicy或自定義策略。隨該庫提供的示例也顯示爲用於自定義策略。

需要多少網站代碼才能使用ServerManagedPolicy庫?例如,圖書館沒有任何資源,但doCheck的網站代碼調用一個按鈕和文本小部件。我是否添加doCheck代碼並創建小部件,或者如果使用庫,這是不必要的?

在應用程序中使用ServerManagedPolicy庫的示例是否在執行除檢查許可證之外的其他操作?

回答

4

有演示瞭如何在你的Android SDK文件夾做到這一點的示例項目:

C:\ Program Files文件\的Android \ Android的SDK-WINDOWS \演員\谷歌\ market_licensing \樣本

它顯示瞭如何實現serverManagedPolicy的用法:

mChecker = new LicenseChecker(
     this, new ServerManagedPolicy(this, 
      new AESObfuscator(SALT, getPackageName(), deviceId)), 
     BASE64_PUBLIC_KEY); 

基本上可以忽略所有的doCheck()方法的調用控件和修改,並且完全集中於最後一行,也就是:

mChecker.checkAccess(mLicenseCheckerCallback); 

這條線實際上是激發LicenseChecker類的動作.... doCheck()方法中的其他一切只是用於禁用按鈕並將文本設置在不必要的小部件上(在您的情況下)。

1

我以前有類似的問題。

「很多網站上的示例代碼的其他部分似乎是開發StrictPolicy或自定義策略」,「示例代碼的其餘部分」是不正確的假設..

相反,無關與「政策實施」有關{因爲} 混亂是因爲太多的信息被打包...

忽略開始時的政策部分。它基本上提供後端以允許用戶訪問應用程序。 圖6.是更全面和更全面的流程。

請參考 http://android-codes-examples.blogspot.in/2011/02/android-market-license-verification.html

有關完整實現的例子... 第一次嘗試的例子,然後試着去了解特定組件的目的。 Google開發者資源也許是最好的解釋。

以組件方式使用說明不作爲整個文檔。