13

私は何をしたいですか?購入したすべてのアイテムを取得した後、サーバーで購入を確認する必要があります。これは、アプリ内支払いから受け取った署名と署名済みデータを使用して行います。

最初に、開発者アカウントで静的テスト sku の正しい署名と署名データを取得するたびに、アプリ内課金 v2 を使用しましたandroid.test.purchased

実装するのは非常に良さそうなので、新しい課金 v3 に切り替えましたが、署名がなくなりました。

APK の以前のバージョンを Google にアップロードしました (まだ完成していないため公開していません)。また、さらにテストするためにアクティブなアプリ内製品を追加しました。

APKのアップロードは昨日の午後10時だったので、私も十分待ったと思います。

私が試したことは?アプリケーションを別のバージョンにインストールしました:

  • 自分で「アクティブな」アプリ内製品を追加した未署名の apk => 署名なし
  • SKU 付きの署名されていない apk android.test.purchased=> 署名なし
  • 自分で追加した「アクティブな」アプリ内製品で署名された apk => 署名なし
  • SKU で署名された apk android.test.purchased=> 署名なし

これらの 4 つの「アプリの状態」を、開発者の携帯電話 (メインの Google アカウントは開発者コンソール アカウントと同じユーザーです) と、別の携帯電話のセットアップでテスト アカウントを使用して試してみました。テスト アカウントは、「テストアカウント」。

うーん、どうやって署名を得るか、これ以上考えられません。支払いプロセスが機能するため、アクティブなアプリ + アクティブなアプリ内製品で署名を取得できると思います (「Android.test.purchased」を購入したことが adb logcat に表示されます) 自分で作成したアプリ内製品もできませんでした開発者アカウントを使用すると、Playストアで「購入できません。すでに所有しています」と表示され、テストアカウントでは「この製品はあなたのアカウントでは利用できません」というエラーが表示されるため、テストします。

私の問題の解決策はありますか?

4

2 に答える 2

2

V3 で、テスト製品は署名付きデータを返さないことがわかりましたが、リリース キーでアプリに署名し、実際の製品の購入フローを完了すると、署名済みデータが得られます。

于 2013-01-16T06:06:54.390 に答える
1

テスト購入 (android.test.*) の署名を取得しなくなりました。私は飛び込み、実際の製品を使用してアプリを市場にアップロードしました (公開はしませんでした)。

低いと見よ、署名が返され始めました! データに android.test.* アイテム ID が含まれている場合は、使用しているサーバー側の検証を修正して署名チェックをスキップすることをお勧めします。

注: 上記の重要な点は、「私の実際の製品を使用する」ことです。

于 2013-02-23T19:08:15.253 に答える