2

これで、apk(Eclipse Android Toolsを使用)とadb install ..テスト用のデバイスに署名することができました。

しかし、これによりデバッグ機能が削除されました。たとえば、「ステップオーバー」により、問題の追跡がはるかに困難になります。

Eclipseを使用してアプリ内課金をデバッグすることは可能ですか?

4

3 に答える 3

3

残念ながら、デバッグをステップ実行する方法はないと思います。印刷出力を使用しているだけです。これは、アプリが課金サービスと適切に通信するために、リリースキーを使用してアプリに署名する必要があるためです。とてもうるさい。

于 2012-06-25T18:10:37.730 に答える
2

アプリ内課金のドキュメントを読むと、この複雑なテクノロジーを理解するのにかなりの時間がかかる可能性があることがわかります。ほとんどの開発者は、動作するHelloWorldの必要性を感じてから、後でビルドを試してみます。

2つのプロジェクトをアップロードしました

  1. アンドロイドサンプルプロジェクト。このプロジェクトをダウンロードして、すぐにサンプルを実行できます。これは、迅速にデバッグ/トレースして、アプリ内課金がどのように機能するかを理解するのに役立ちます。

  2. アプリをすばやく統合するのに役立つクリーンアップされたプロジェクト。これは図書館のように役立ちます。「チェックアウト」ボタンのアクションで「購入リクエスト」を統合するだけです。

注意:セキュリティに関する推奨事項は組み込まれていません。アプリの課金ドキュメントでAndroidをお読みください。それまでは、ご自身の責任で行ってください。

1の場合

  • 「<ahref="http://www.4shared.com/file/f5wH3qke/InAppBilling1.html" rel ="nofollow">http://www.4shared.com/file/f5wH3qke/InAppBilling1.html」をダウンロード< / li>
  • すべての通信用に新しいGmailアカウントを作成します(なぜ、以下で説明します)
  • その25ドルを支払い、「マーケットプレイス」アカウントを購入します。
  • プロジェクトをEclipse環境にインポートします
  • 署名されたアプリケーションapkを作成します。ファイル-エクスポート-プロジェクトの選択-キーストアの作成または使用。今日から25年間有効です。
  • 署名されたapkを「ドラフトアプリケーション」としてマーケットプレイスにアップロードします。公開しないでください。
  • アップロードされたapkには、「アプリ内製品」を追加する必要があります。このリンクは、アップロードしたapkのホームページにあります。
  • Security.javaで、マーケットプレイスアカウントの「プロファイルの編集」ページから「公開鍵」を追加することを忘れないでください。
  • 「アプリ内商品リスト」では、以下の商品を1つずつ追加する必要があります
    • 以下のテキストは「アプリ内商品ID」として使用する必要があります</li>
    • 管理対象としてのsword_001
    • アンマネージドとしてのpotions_001
    • タイトルと説明は重要ではありません(テスト目的で)。ここに必要なものを追加します。
    • コスト追加1$(最小)
  • 自動入力をクリックします
  • 保存する

アプリ内プロジェクトを公開します(ここで混乱しないでください。アプリ内ではなく、アプリ内製品のみを公開する必要があります)

  • テストアカウントで、ここに個人のGmailIDを追加します。ここで、このGmailアカウントを携帯電話の最初のGmailアカウントとして設定する必要があります。
  • はい、このWONTはエミュレータで動作します
  • これで、サンプルアプリが機能するはずです。

2の場合

「<ahref="http://www.4shared.com/file/h8YnJyf_/InAppBillingIntegration.html" rel ="nofollow">http://www.4shared.com/file/h8YnJyf_/InAppBillingIntegration.html」をダウンロード< / p>

統合するには、呼び出しアクティビティでチェックアウトコードを初期化します

Handler handler = new Handler() ;
CheckoutPurchaseObserver checkout = new CheckoutPurchaseObserver(this, handler);

商品のチェックアウトリクエストを送信するには

checkout.sendCheckoutRequest(purchaseUri.toString(),null);

重要な注意点 :

  • このpurchaseUriは、「<strong>ma​​rket.android.com/publish->新しいアプリ内製品の作成」オプションにあるリソースの「<strong>アプリ内製品ID」です。この文字列は、「<strong>アプリ内製品」IDとして設定する必要があります。
  • そのため、「<strong>id」が最も重要です。「<strong>アプリ内製品ID」は、その特定の製品を指す方法です。
  • また、Security.javaでは、マーケットプレイスアカウントの「<strong>プロファイルの編集」ページから「<strong>公開鍵」を追加することを忘れないでください。**

デバッグノート

  • LogCatは、すべてのエラーをInAppBillingタグとして表示します
  • このプロジェクトは「inappbilling」という名前のshared_preferencesを作成し、デバッグはtrueに設定されます
  • このプロジェクトにはホーム画面がないため、androidmanifest.xmlは必要ない場合があります。

なぜ新しいGmailアカウントを作成する必要があるのですか?

単純。マーケットプレイスアカウントを購入したアカウントは、アプリ内課金の「テスト」には使用できません。自分で商品を購入することはできませんので。また、デバイスのプライマリアカウントは、マーケットプレイスアカウントの「テストアカウント」として設定する必要があります。鶏卵の問題はこちら。その明確なことを願っています。

「<ahref="http://crazyviraj.blogspot.com/2011/06/some-notes-on-implementing-in-app.html" rel = "nofollow"> http:// crazyviraj.blogspot.com/2011/06/some-notes-on-implementing-in-app.html "(私のものではありません)。

于 2012-06-25T19:58:47.103 に答える
-1

私のアプリではandroid.test.purchased、実際の購入プロセスをシミュレートするテスト製品IDを使用しました(つまり、アプリ内ダイアログが表示され、アプリケーションで処理できる応答を購入して取得できるようになります)。その製品IDを使用して、USB接続を介したEclipseを介してデバイス(署名なし)でアプリ内コードを実行できます。テストのためにいくつかの問題を回避する必要があるかもしれません(つまり、実際のIDではなくテスト製品IDを使用しているという事実を考慮に入れてください)が、その製品IDを使用することは私にかなり役立ちました。

アプリ内課金ガイドのテストセクションをご覧ください

于 2012-06-25T19:14:38.157 に答える