質問に答えるには、最初にある種のIDを使用してアプリ内製品を作成する必要があります。次に、このIDをサーバー上にあるデータベースに関連付けます。次に、Webサービスを使用して、データベースにクエリを実行し、アプリ内IDが製品データベースのIDと一致するかどうかを確認します。さらに、セキュリティナンスと署名を使用して検証できます。ほとんどの場合、Googleに製品を処理させるため、DBを基にアプリ内製品をモデル化する必要があります。製品が多すぎる場合は、モバイルWebサイトを作成する標準的な方法で処理する必要があります。
編集:リクエスト、つまり購入を行うときは、最初にREQUEST_PURCHASEを実行してから、マーケットから返されるPendingIntentを起動します。次に、Marketから送信されるブロードキャストインテントを処理します。リクエストで4つのキーを指定してから、購入リクエストを作成します。
Bundle request = makeRequestBundle("REQUEST_PURCHASE");
request.putString(ITEM_ID, mProductId);
// Note that the developer payload is optional.
if (mDeveloperPayload != null) {
request.putString(DEVELOPER_PAYLOAD, mDeveloperPayload);
Bundle response = mService.sendBillingRequest(request);
// Do something with this response.
}
次に、PendingIntentを使用してcheckoutUIを起動する必要があります(1.6と2.0の違いに注意してください。ここで、1.6ではアクティビティとは別に起動する必要があります)。Googleの例でPurchaseObserver.javaを見てください。
「Androidマーケットアプリケーションは、リクエストに関するエラー情報を提供するRESPONSE_CODEブロードキャストインテントを送信します。リクエストでエラーが発生しない場合、RESPONSE_CODEブロードキャストインテントはRESULT_OKを返します。これは、リクエストが正常に送信されたことを示します。 RESULT_OK応答は、リクエストされた購入が成功したことを示すものではなく、リクエストがAndroidマーケットに正常に送信されたことを示します。)」