マーケットライセンスサービスの試用に取り組んでいますが、サンプルアプリケーションでいくつかの問題が発生しています。
サンプルを最初に実行したときに、アプリケーションにライセンスが付与されていないというエラーが発生しました。アカウントをシミュレーターにリンクしてテスト応答を取得しましたが、「アプリケーションエラー:NOT_MARKET_MANAGED」というエラーが表示されます。
これは、アプリが機能するかどうかをテストするために、アプリを市場にアップロードする必要があることを意味しますか?
マーケットライセンスサービスの試用に取り組んでいますが、サンプルアプリケーションでいくつかの問題が発生しています。
サンプルを最初に実行したときに、アプリケーションにライセンスが付与されていないというエラーが発生しました。アカウントをシミュレーターにリンクしてテスト応答を取得しましたが、「アプリケーションエラー:NOT_MARKET_MANAGED」というエラーが表示されます。
これは、アプリが機能するかどうかをテストするために、アプリを市場にアップロードする必要があることを意味しますか?
はい、あなたのアプリは市場に出ている必要があり、すでに市場に出ている場合は、すでに公開されているもの以上のバージョン コード番号を持っている必要があります。
別の方法があるかもしれません。サンプルの MainActivity に関するコメントは次のとおりです。
* The first thing you need to do is get your hands on your public key.
* Update the BASE64_PUBLIC_KEY constant below with your encoded public key,
* which you can find on the
* <a href="http://market.android.com/publish/editProfile">Edit Profile</a>
* page of the Market publisher site.
* <p>
* Log in with the same account on your Cupcake (1.5) or higher phone or
* your FroYo (2.2) emulator with the Google add-ons installed. Change the
* test response on the Edit Profile page, press Save, and see how this
* application responds when you check your license.
http://market.android.com/publish/editProfileにログインすると、以下を変更するオプションが表示されLicense Test Response
ます。
テキストで言う:
このライセンス テスト応答は、@gmail.com を使用するデバイス、またはマーケットにアップロードしたアプリケーション用の上記のテスト アカウントに送信されます。さらに、このアカウント (テスト アカウントではない) は、まだマーケットにアップロードされていないアプリケーションについて、この応答を受け取ります。
その選択リストをクリックすると、さまざまなオプションが表示されます。
最初のサンプル LVL チュートリアル プログラムでは、レスポンスを から、またはテストしたいその他の設定に変更するRespond normally
だけでLICENSED
よいと思います。
更新:上記の対策では不十分であることが判明しました。それでも NOT_MARKET_MANAGED
エラーが発生します。以前の回答が示唆したように、「Market Licensing Example」をアップロードする必要があると思います。ただし、デバッグ バージョンにはできないことに注意してください。
ああ、その「マーケット ライセンスの例」をそのままアップロードすることはできません。少なくともパッケージの名前を変更する必要があります。
Google のサンプル/サンプル システムを改善して、開発者にとってより使いやすくする方法を理解できます...
変。アプリケーションをアップロードした後 (ドラフトをアップロードして保存するだけで、他の必須フィールドは入力しないでください)、「Market Licensing Example」はNOT_MARKET_MANAGED
、明確に選択されているにもかかわらず、エラーの発行を停止しますNOT_LICENSED
。代わりに、メッセージで応答しますAllow the user access
。私も(テストと学習の目的で)設定しようとしましERROR_SERVER_FAILURE
たが、同じAllow the user access
メッセージが表示されます。
なんで?
「保存された下書き」がまさにこれのためのものだと思ったでしょう。それ以外の場合は、定義上ライブで完全にテストできなかったアプリを販売していることになります。
少し苦労した後、私はこれを機能させました。LVL サンプルをそのまま使用することはできません。
これが私がしたことです:
アプリ (.apk) をマーケットにアップロードします。デフォルトの状態は「保存された下書き」であるため、公開されませんが、ライセンスをテストすることはできます。
もう 1 つの潜在的な問題:
テスト/実行しているバージョンの AndroidManifest.xml に、市場のドラフト バージョンと同じ android:versionCode があることを確認してください。バージョンが異なる場合、NOT_MARKET_MANAGED エラーが発生します。(明らかに、ライセンス チェックに使用される RSA キーペアは、アプリごと/バージョンごとに行われます。)
私の経験から、アプリは LVL が機能し始める前に公開する必要があります。静的応答テスト。ドキュメントには、アプリケーションを公開する前に、アプリケーションのライセンス実装をデバッグおよびテストできると書かれていますが、私にとってERROR_NOT_MARKET_MANAGED
は公開後にのみ立ち去りました。
クールな部分は、アルファ/ベータ ビルドのみを使用して公開できることです。アプリは実際には公開されず、テスト アカウントのみが使用できます。
最初のリリースの準備をしているとき、すべてが正常に機能していることを完全に確認する前に [公開]をクリックするのは不自然に思えるかもしれません (そして、それを行う前に説明とスクリーンショットを入力する必要があるという事実は、さらに憂慮すべきことです) -- これらは最後の仕上げだと思うかもしれません) -- ただし、パッケージ名と、アプリが有料か無料かについて、適切な選択をしたことを確認してください -- これらは、公開後に変更することはできません. 公開するだけでは、アプリは公開されません。製品ビルドを持っていない限り、テストされていないバージョンを誤って公開する心配はありません。
これは関連しているので、誰かを助けるかもしれません:
私は Asus トランスフォーマーでテストを行っていましたが、ライセンス テストを機能させるには、開発者以外のアカウントをすべて削除する必要がありました (私の yahoo アカウントを含む)。他のアカウントが削除されると、すべての手順が問題なく機能しました。
私の場合、バージョンコードの違いが原因で取得していました..すでに公開されているapkのバージョンコード= 2
そして、いくつかのテストリリースの新しいapkの後に、バージョンコードを5に設定しました
バージョンの違いは現在公開されているapkと正確に1である必要があるため、このエラーが発生していました..バージョン名にも同じことが適用されました..