8

私はすでにGooglePlayに公開されているAndroidアプリに取り組んでいます。次の更新(versionCode = 3)では、クライアントがLVLライセンススキームを含めたいと考えています。

私が最初にしたことは、ライセンスサーバーからの静的テスト応答を設定することでした。テスト応答をLICENSEDに設定しました。ドキュメントでこれを読んだ後:

このライセンステストレスポンスは、[マイメールアドレス]またはGooglePlayにアップロードしたアプリケーションの上記のテストアカウントを使用してデバイスに送信されます。>さらに、このアカウント(テストアカウントは除く)は、GooglePlayにまだアップロードされていないアプリケーションに対してこの応答を受け取ります。

開発者アカウントのメールアドレスは、テストデバイスのGoogle Playアカウントのメールアドレスと同じであるため、問題はないと思いました。そのため、アプリをデバッグするときにテスト応答を受け取る必要があります。

その後、他のすべてのライセンスドキュメントとサンプルコードを読み、アプリに統合しました。正しいbase64公開鍵とランダムに生成された20バイトをソルトとしてServerManagedPolicyを使用しました。

すべてが良好に見えたら、デバイスにアップロードしてテストしましたが、期待したLICENSED応答を受信する代わりに、常にNOT_LICENSED応答を受信して​​います。私は戻って、次のことを確認しました:

  1. 私はインターネットに接続していました。
  2. GooglePlayでデベロッパーアカウントにログインしました。
  3. LicenseCheckerは正しい公開鍵を使用していました。
  4. GooglePlayのキャッシュをクリアしています。

最初は、キャッシングと関係があるのではないかと思ったので、代わりにStrictPolicyを使ってみました。同じ応答。ストアからアプリを購入していないので、静的テスト応答を送信するのではなく、ライセンスサーバーが正常に応答しているように感じます。これが私が試した他のいくつかのことです:

  1. 24時間待ってから、再試行します。
  2. 現在の配布キーだけでなく、Androidデバッグキーを使用してアプリをビルドしてみました。
  3. GooglePlayで別のテストユーザーアカウントを設定して使用する。このメールアカウントを開発者コンソールの[テストアカウント]セクションに必ず追加しました。
  4. APKをGooglePlayにアップロードしますが、公開しません。
  5. versionCodeを2から3にインクリメントします。 これは、NOT_LICENSEDに応答する代わりに、「アプリケーションエラーコード」ERROR_NOT_MARKET_MANAGEDを返すため興味深いものです。

これにより、開発者アカウントに設定した静的テスト応答を送信するのではなく、ライセンスサーバーが常に正常に応答していると思います。アプリがすでに公開されているためかもしれないと感じていますが、動作しているかどうかをテストするためだけにデバッグビルドを公開するリスクはありません。

誰かが以前にこの状況にあったことがありますか?どんな助けでも大歓迎です。

4

3 に答える 3

2

同じ問題が発生しましたが、解決できました。修正するために行ったことは次のとおりです。1)デバイスで、構成したテストアカウントを除くすべてのGoogleアカウントを削除しました。どうやら、プレイストアはまだ非テストアカウントを使用しようとしていました。

2)私はメインの開発者であり、唯一のテスターですが、開発者アカウントのテストステータスをアクティブ化する必要がありました。

バージョンの増分は役に立たず、正直言って気を散らすものでした。

于 2014-07-11T22:30:06.367 に答える
1

私は同じ問題で何時間も何日も費やしましたが、ここや他の場所で文書化されており、事前に公開されたライセンステストはヒットとミスであり、私が発見したものよりもミスが多いです。

それを「より確実に」(しかし完全に信頼できるわけではない)動作させるために私が見つけた唯一の方法は、工場出荷時のデフォルトにリセットされたハードウェアデバイスを用意し、それを開発者アカウントと同じものとしてプライマリグーグルユーザーに設定することですテスト用にアプリがアップロードされています。

特別なAVDもあまり信頼できません。

于 2012-12-02T05:21:27.640 に答える
0

LVLライブラリを使用してテストするときにも同じ問題が発生します。設定ページでライセンステスト応答を何に設定しても、常に561(0x231 NOT_LICENSED)応答が返されます。

私の有料アプリのユーザーは文句を言っていないようですので、LVLが彼らのために働いていると思います。

最初、私のアプリの1つでこの問題が発生し、1日後に解消されました(2012年12月30日公開)。現在、そのアプリで有効なテスト応答を取得しています。

ただし、新しいアプリ(2013年1月31日公開)に対して561(0x231 NOT_LICENSED)応答が返されます

そのため、APKを公開した後、コメントアウトして(561でポップアップするアラートダイアログコードを無効にして)、次のリリースに向けて開発を続けます。

再度公開する前に、コメントを解除します(アラートダイアログコードを有効にします)。

私はGooglePlayに連絡しました、彼らは私を彼らの開発者フォーラムに紹介しました。そこに同じ質問を投稿しましたが、投稿が見つかりません。

この問題に直面しているのは私だけではないことを知っておくとよいでしょう。

于 2013-02-20T23:59:09.347 に答える