ERROR_NOT_MARKET_MANAGED
:名前は本当にそれ自体を物語っています。アプリケーションはAndroidマーケット(現在はGoogle Playと呼ばれています)によって管理されていません。具体的には、アプリケーションのバージョン11はGooglePlayにアップロードまたは公開されていません。
このエラーを処理する必要がありますか、それともこれは非現実的なシナリオですか?
これは非現実的なシナリオだと思います。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);
}
}
LVLをアプリケーションに統合することの全体的なポイントは、Google Playを使用してアプリケーションを公開し、Google Playクライアントアプリケーションを使用してアプリケーションをダウンロードしてインストールすることです(開発ガイドの「要件と制限」セクションを参照)。次の場合、エンドユーザーのデバイスで実行時にこのapplicationErrorを引き起こす可能性のあるポイントを確認できません。
- 開発者は、正しい手順に従って、Google Playでアップロード(LVLのテスト用)または公開(実際のリリース用)します。
- エンドユーザーは、Google Playクライアントアプリケーションを使用して、アプリケーションを購入、ダウンロード、インストールします。
エンドユーザーが何らかの方法でアプリケーションのコピー(LVLが統合されてGoogle Playにアップロード/公開されている)を他のチャネル(Google Play経由で購入していない)から取得し、デバイスにインストールしようとした場合(Google Playクライアントアプリケーションがインストールされている場合)デバイス)、この場合、LicenseCheckerCallbackはapplicationError(ApplicationErrorCode errorCode)ではなくdontAllow()に移動します。