使用com.android.vending.licensing
您可以检查您的应用是否许可与否。 有一个回调, applicationError()
它告诉你,如果出了什么差错。 今天,我遇到了错误ERROR_NOT_MARKET_MANAGED
,我想不出我应该怎么处理呢!
这是我做的:
- 在谷歌玩,我说我的E-mail地址作为测试帐户。
- 在谷歌玩,我有救了我的应用程序(未发表)
versionCode="10"
。 - 在我的机器,我改
versionCode="11"
。 - 许可证检查现在失败,错误代码
ERROR_NOT_MARKET_MANAGED
。
问题是; 我应该处理这个错误,或者这是一个不切实际的场景?
ERROR_NOT_MARKET_MANAGED
:名字真告诉所有关于本身,应用程序不是由Android Market的管理(现在叫谷歌播放)。 更具体地讲,您的应用程序的11版本没有上传或发布在谷歌播放。
我应该处理这个错误,或者这是一个不切实际的场景?
我认为这是一个不切实际的方案。 当您上传到谷歌播放新的应用程序版本,你并不需要花费很长时间做任何代码的特殊。 ERROR_NOT_MARKET_MANAGED更像是一个LVL发展预警,帮助开发人员正确实施授权检查代码,并按照测试许可证在工程建设时检查的正确步骤。 检查出LVL样本代码中的注释:
private class MyLicenseCheckerCallback implements LicenseCheckerCallback {
... ...
public void applicationError(ApplicationErrorCode errorCode) {
if (isFinishing()) {
// Don't update UI if Activity is finishing.
return;
}
// This is a polite way of saying the developer made a mistake
// while setting up or calling the license checker library.
// Please examine the error code and fix the error.
//String result = String.format(getString(R.string.application_error), errorCode);
//String result = "Error";
//handleLicensingResult(result);
}
}
LVL集成到应用程序的整点是使用谷歌Play上发布您的应用程序,并使用谷歌播放客户端应用程序下载和安装应用程序(请参阅要求和限制在开发指南部分)。 我看不到,可在最终用户的设备,如果在运行时会导致此的ApplicationError任何一点:
- 开发者遵循正确的程序上传(用于测试LVL),或在谷歌发布(真正释放)播放。
- 最终用户使用谷歌播放客户端应用程序购买,下载和安装应用程序。
如果最终用户以某种方式获得您的应用程序的复印件(LVL集成和上传/发表在谷歌播放)从其他渠道(不是通过谷歌购买播放),并试图以自己的设备上安装(与谷歌播放上安装客户端应用程序装置),在这种情况下,LicenseCheckerCallback会去dontAllow(),而不是的ApplicationError(ApplicationErrorCode ERRORCODE)
不测试您的应用程序上传到谷歌后立即播放。
等待一段时间(15-20分钟或更长的可能)在开始测试之前。 谷歌游戏需要一些时间来识别您的应用程序。
7月29日,我发现,虽然我的应用程序是在Alpha或Beta测试所有我曾经得到的是错误3或Error_Not_Market_Managed。 这实际上是从服务器的回复。 这样就意味着我接触的服务器和代码是好的。 不管是什么开发者控制台作为应答集的,这是我得到的唯一答复。
其实我已经等了3天,并没有什么改变。 所以没有等待时间这是可接受的。 我甚至清除并重新我的整个手机。 我清除谷歌播放高速缓存和所有其他魔术的。 他们之中没有人的原因。
我更新了我与我的新谷歌授权的代码已经发布的应用之一,并得到了确切的同样的反应。 之后,我改变了版本的代码,然后上传到出版,约4个小时后,该应用程序功能正常和谷歌许可检查具有良好的有效的代码回应。 现在,只要它完全公布,它什么都代码,我告诉它响应。
因此,答案是,谷歌的许可将无法正常运行,直至完全公布。 如果您的应用程序是在Alpha或Beta和您得到错误3,那么你很可能会不错。 注释掉权检查方法,直到你准备好发布。
至于现在,2014年5月,我不得不为了测试上传的APK和扩展OBB处于beta发布的测试程序(无生产APK上传)。 否则,我总是得到ERROR_NOT_MARKET_MANAGED
测试时APKExpansionPolicy
。 2小时后发布(在网页上的通知说:“长达24小时”),我可以得到扩展文件的信息。
任何人,除非测试者可以看到发布的应用AFAIK。
它也可以在旧设备发生。 我测试我没有实际版本的应用程序被发布,它工作正常,在我的银河S8,但我得到我的Galaxy S4此消息。 这意味着它也是一种礼貌的方式说,这也可以从谷歌是错误的。
文章来源: How do you deal with LicenseCheckerCallback.ERROR_NOT_MARKET_MANAGED error code?