我正在使用xamarin和Google Licensing的插件端口開發應用程序。我無法使它工作......我設置了3個測試人員在開發者控制檯(包括我自己)中回覆許可,並在這些帳戶上收到NotLicenced響應...甚至使用我的發佈者帳戶登錄。Xamarin Google授權響應混淆了
他是我使用的插件: https://github.com/mattleibow/Android.Play.ExpansionLibrary
這是我使用的代碼:我已經修復了所有應用程序的錯誤訊息,首先嚐試(權限內
bool internet = Task.Run(CheckNET).Result;
// Construct the LicenseChecker with a policy.
var obfuscator = new AesObfuscator(Salt, this.PackageName, Android.Provider.Settings.Secure.GetString(ContentResolver, Android.Provider.Settings.Secure.AndroidId));
var policy = new ServerManagedPolicy(this, obfuscator);
this.checker = new LicenseChecker(this, policy, "Here is my API public key");
if (internet)
{
checker.CheckAccess(this);
}
然後NotMarketManaged),現在我堅持得到NotLicensed ...
因此,通信正在工作,只是許可證響應沒有迴應,因爲它應該是許可證測試中列出的電子郵件。
所以..更多的測試它有點奇怪...我已經設置了ERROR_NON_MATCHING_UID作爲測試人員的默認響應,它確實回覆了確切的錯誤....但是當我改回許可時,我得到了NOT_LICENSED響應。 ..
之後,它得到了這樣的陌生人......我打得有點與應對方案,這是什麼樣的回答,我從谷歌授權服務器有:
Google Console set to: Server Response:
Licensed Not_licensed
Licensed_old_Key Not_Licensed
Not_Licensed Not_licensed
Error_server_failuere LICENSED
Error_contacting_server Licensed
Error_invalid_packagename InvalidPackageName
error_nonmatching_uid NonMatchingUid
所以...任何人都可以解釋發生了什麼?我使用的插件是否錯誤地分析了代碼?
我檢查插件代碼,這就是我發現它使用這些響應代碼:
Licensed = 0x0,
NotLicensed = 0x1,
LicensedOldKey = 0x2,
NotMarketManaged = 0x3,
ServerFailure = 0x4,
OverQuota = 0x5,
ErrorContactingServer = 0x101,
InvalidPackageName = 0x102,
NonMatchingUid = 0x103
任何人都可以確認,如果這些都是正確的代碼,谷歌許可的答覆?
這樣的代碼是正確的的...谷歌的許可是造成這個? 我發現這個老帖子沒有解決方案... https://stackoverflow.com/questions/13664857/android-license-test-response-never-works?rq=1 – rickrvo
我只想指出新的綁定官方Java庫:https://github.com/xamarin/XamarinComponents/tree/master/Android/GoogleAndroidVending – Matthew