你如何处理LicenseCheckerCallback.ERROR_NOT_MARKET_MANAGED错误代码?

l33*_*33t 11 android android-lvl google-play

使用com.android.vending.licensing您可以检查您的应用是否获得许可.有回调,applicationError()告诉你是否出了什么问题.今天我遇到了错误ERROR_NOT_MARKET_MANAGED,我无法弄清楚应该怎么处理它!

这是我做的:

  1. 在Google Play上,我将我的电子邮件地址添加为测试帐户.
  2. 在Google Play上,我保存了我的应用(未发布)versionCode="10".
  3. 在我的机器上,我改为versionCode="11".
  4. 许可证检查现在失败,错误代码ERROR_NOT_MARKET_MANAGED.

问题是; 我应该处理这个错误还是这是一个不现实的情况?

yor*_*rkw 30

ERROR_NOT_MARKET_MANAGED:这个名字真的告诉了所有人,应用程序不是由Android Market(现在称为Google Play)管理的.更具体地说,您的应用程序版本11未在Google Play上传或发布.

我应该处理这个错误还是这是一个不现实的情况?

我认为这是一个不切实际的场景.只要您在Google Play中上传新的应用版本,就无需在代码中执行任何特殊操作.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);
    }
}
Run Code Online (Sandbox Code Playgroud)

将LVL集成到您的应用程序中的重点是使用Google Play发布您的应用程序,并使用Google Play客户端应用程序下载并安装您的应用程序(请参阅开发指南中的要求和限制部分).在以下情况下,我无法看到任何可能在最终用户设备上运行时导致此applicationError的点:

  1. 开发人员按照正确的程序上传(用于测试LVL)或在Google Play中发布(用于实际发布).
  2. 最终用户使用Google Play客户端应用程序购买,下载并安装该应用程序.

如果最终用户以某种方式从其他渠道(不是通过Google Play购买)获得您的应用程序的副本(在LV Play中集成和上传/发布LVL)并尝试将其安装在他的设备上(安装了Google Play客户端应用程序)在这种情况下,LicenseCheckerCallback将转到dontAllow()而不是applicationError(ApplicationErrorCode errorCode).


Rak*_*til 13

将您的应用程序上传到Google Play后,请勿立即对其进行测试.

在开始测试之前,请等待一段时间(15-20分钟或更长时间).Google Play需要一些时间来识别您的应用.

  • 我认为这是由手机上的Google Play商店应用库存缓存数据引起的,通过清除数据和/或缓存(设置 - 应用程序 - Google Play商店),我可以立即测试并获取许可证状态. (4认同)