English 中文(简体)
应用账单:未找到项目
原标题:In App Billing: Item not found

我遵循了申请帐单的步骤:

  1. Installed demo app
  2. Published an in-app product
  3. NOT published the app itself

虽然我「强势」CAN

此日志错误 :

E/Volley(1384): [157] BasicNetwork.performRequest: Unexpected response code 500 for https://android.clients.google.com/fdfe/details?doc=subs:com.testorooney.testo:sword_001
最佳回答

这不是一个服务器侧边错误。 错误位于样本应用程序的 Dungeons 类的“ 采购” 按钮的点击中 。

如果 {{{( seven) 语句导致 mBilling Service 。 请在选定项目不是订阅项目时两次调用 Purchase 两次 (mManagedType! = managed. suproduced. SUBSCRIPTION), 则提供的方法在 {( seven ) 中存在错误 {( seven ) 。 因此, 同一项目将两次要求调用, 一次带有“ intapp ” ( 这是有效的请求) 类型, 之后立即使用“ sub” 类型( 不正确, 它显示“ 找不到项目 ” ) 。

这里是错误代码 :

if (mManagedType != Managed.SUBSCRIPTION &&
                    !mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_INAPP, mPayloadContents)) {
                showDialog(DIALOG_BILLING_NOT_SUPPORTED_ID);
            } else if (!mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_SUBSCRIPTION, mPayloadContents)) {
                // Note: mManagedType == Managed.SUBSCRIPTION
                showDialog(DIALOG_SUBSCRIPTIONS_NOT_SUPPORTED_ID);
            }

要修正此选项, 请将 mManagedType 添加到上面 。

函数的外观如下:

@Override
    public void onClick(View v) {
        if (v == mBuyButton) {
            if (Consts.DEBUG) {
                Log.d(TAG, "buying: " + mItemName + " sku: " + mSku);
            }

            if (mManagedType != Managed.SUBSCRIPTION &&
                    !mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_INAPP, mPayloadContents)) {
                showDialog(DIALOG_BILLING_NOT_SUPPORTED_ID);
            } else if (mManagedType == Managed.SUBSCRIPTION && !mBillingService.requestPurchase(mSku, Consts.ITEM_TYPE_SUBSCRIPTION, mPayloadContents)) {
                // Note: mManagedType == Managed.SUBSCRIPTION
                showDialog(DIALOG_SUBSCRIPTIONS_NOT_SUPPORTED_ID);
            }
        } else if (v == mEditPayloadButton) {
            showPayloadEditDialog();
        } else if (v == mEditSubscriptionsButton) {
            editSubscriptions();
        }
    }
问题回答

我安装地牢示例时也有同样的错误, 在对我的工程应用代码样本时也有同样的错误。 我注意到, 如果我去进行调试, 并将 API_ VERSION 修改为 1, 那么我可以在没有错误的情况下使用应用程序管理采购 。

我注意到的另外一件事是,如果在 API_VERSION 2 上保留订阅, 则在没有错误的情况下执行订阅。

我想知道这是否是一个服务器侧侧错误, 因为我已经查看了代码, 无法找到问题。 我的产品标识都匹配等 。

当您的产品 ID (在 Apk 文件) 与产品 ID (在市场账户中写入产品列表) 不符时发生错误 。

如果您使用“ 和机器人. 测试. 购买”, 那么您就不必上传您的 Apk 。

还有一件最重要的事情, 你必须在代码中添加您的“ 公用钥匙 ” 。 此步骤必须使用您的 Android 示例或者您自己的应用程序代码 。

See this link for public key:
http://developer.android.com/guide/market/billing/billing_integrate.html

我经历过同样的行为。我读过许多文章都指出,这只是一个服务器端错误,你对此无能为力。

然而,我决定从我的一个朋友那里获得一份旧版的 InApp Billing样本代码 样本代码 ,现在我不再在显示购买屏幕之前经历找不到的 项目错误

这让我相信,服务器请求在最新版本 InApp Billing样本代码 中被集合的方式有问题。

我还没有机会分析旧的样本代码 和新样本代码之间的差异

但我只能告诉你 如果你能得到一份旧的样本代码副本 那你就不会再遇到你现在的问题了

不幸的是,如果您将 API 更改为 1, 订阅将被禁用。 因此, 事实上, 这确实消除了未发现错误的项目, 但却使得订阅无法运作( 它们必须只在 API 2 中提供 ) 。

所以,回到绘图板上。我要重新设定代码,将非订阅请求的 API 1 和所有其它请求的 API 2 重新输入到代码中。 似乎有点像电子化的解决方案 。





相关问题
Android - ListView fling gesture triggers context menu

I m relatively new to Android development. I m developing an app with a ListView. I ve followed the info in #1338475 and have my app recognizing the fling gesture, but after the gesture is complete, ...

AsyncTask and error handling on Android

I m converting my code from using Handler to AsyncTask. The latter is great at what it does - asynchronous updates and handling of results in the main UI thread. What s unclear to me is how to handle ...

Android intent filter for a particular file extension?

I want to be able to download a file with a particular extension from the net, and have it passed to my application to deal with it, but I haven t been able to figure out the intent filter. The ...

Android & Web: What is the equivalent style for the web?

I am quite impressed by the workflow I follow when developing Android applications: Define a layout in an xml file and then write all the code in a code-behind style. Is there an equivalent style for ...

TiledLayer equivalent in Android [duplicate]

To draw landscapes, backgrounds with patterns etc, we used TiledLayer in J2ME. Is there an android counterpart for that. Does android provide an option to set such tiled patterns in the layout XML?

Using Repo with Msysgit

When following the Android Open Source Project instructions on installing repo for use with Git, after running the repo init command, I run into this error: /c/Users/Andrew Rabon/bin/repo: line ...

Android "single top" launch mode and onNewIntent method

I read in the Android documentation that by setting my Activity s launchMode property to singleTop OR by adding the FLAG_ACTIVITY_SINGLE_TOP flag to my Intent, that calling startActivity(intent) would ...

From Web Development to Android Development

I have pretty good skills in PHP , Mysql and Javascript for a junior developer. If I wanted to try my hand as Android Development do you think I might find it tough ? Also what new languages would I ...

热门标签