要回答您的问题,您必须首先使用某种 ID 创建应用内产品,然后我会将其绑定到您服务器上的数据库中。然后使用 web 服务查询您的数据库并查看应用内 ID 是否与您的产品数据库中的 ID 匹配。另外,您可以使用安全随机数和签名进行验证。大多数情况下,您让 Google 处理产品,因此您将不得不在您的数据库之后为应用内产品建模。如果您有太多产品,那么您将不得不以创建移动网站的标准方式来处理它......
编辑:好吧,当您提出请求(即购买)时,您首先执行 REQUEST_PURCHASE,然后启动市场返回的 PendingIntent。然后您处理由 Market 发送的广播意图。您在请求中指定四个键,然后发出购买请求:
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 要求它与 Activity 分开启动)。查看 Google 示例中的 PurchaseObserver.java。
“Android Market 应用发送一个 RESPONSE_CODE 广播 Intent,提供有关请求的错误信息。如果请求没有产生错误,则 RESPONSE_CODE 广播 Intent 返回 RESULT_OK,表示请求发送成功。(要清楚,一个RESULT_OK 响应并不表示请求的购买成功;它表示请求已成功发送到 Android Market。)"