应用内购买项目未找到。

3
我正在尝试为我的应用设置应用内购买,但我总是收到“找不到该项目”的消息。
这是我所做的:
  • 将apk发布到谷歌作为alpha版本
  • 创建一个应用内商品并进行了激活
  • 创建了一个测试帐户并将其添加到Google开发人员控制台中
  • 通过Eclipse将apk加载到测试设备上,使用测试帐户(设备只有一个帐户,并且不是开发人员帐户)
以下是我的应用内购买代码。它还没有完成,但是应该可以用于测试目的:
    public static void UnlockProVersion2(Context context, final Activity activity)
{
    //...

    Log.d(LOG_TAG, "trying to unlock Pro-Version");

    final IabHelper mHelper;
    mHelper = new IabHelper(context, key);

    final IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() 
    {
      @Override
       public void onIabPurchaseFinished(IabResult result, Purchase purchase) 
       {
          Log.d(LOG_TAG, "Purchasing: finished");
          if (result.isFailure()) 
          {
             Log.d(LOG_TAG, "Error purchasing: " + result);
             return;
          }      
          else if (purchase.getSku().equals("unlock_all_features")) 
          {
              Log.d(LOG_TAG, "Successfully unlocked all features");
          }
          Log.d(LOG_TAG, "purchasing code: " + result);
       }
    };

    mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() 
    {
       public void onIabSetupFinished(IabResult result) 
       {
          if (!result.isSuccess()) 
          {
             Log.d(LOG_TAG, "Problem setting up In-app Billing: " + result);
          }  
          else
          {
             Log.d(LOG_TAG, "Setting up In-app Billing succeded");

             // Buy unlocked version
             mHelper.launchPurchaseFlow(activity, "unlock_all_features", 10001,   
                     mPurchaseFinishedListener, "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ");
          }
       }
    });
}

我有问题吗?这几乎让我发疯 :(。

另一个问题:我的测试账户不应该能够从Google Play商店加载应用程序的Alpha版本吗?虽然我认为我已经正确设置了一切,但我的测试用户无法在Play商店中找到该应用程序。是否有任何特殊的alpha应用程序链接?

开发控制台显示我应该向测试用户发送'following'链接,但没有'following link'。

非常感谢任何帮助。


编辑: 这是来自我的产品开发控制台的截图: enter image description here


编辑-2: 如果我理解正确,我应该在Google Play上找到Alpha版本的链接,以便提供给我的测试人员。

不幸的是,如您所见,屏幕截图中没有这样的链接。它是德语的,但正如您所看到的,没有链接。它只是说明:将以下链接发送给您的测试人员,但没有下面的链接。 enter image description here

3个回答

4
一个草稿版APK在以前就足够用来测试应用内购买,但是谷歌最近对此进行了更改,现在你必须在测试之前将其发布(在alpha或beta渠道中)。首先确保该应用程序已在alpha渠道中发布:您需要按下alpha测试选项卡中的“立即发布”按钮,将其发布到Google Play。它将仅发布给alpha测试人员。然后创建一个Google Group或Google Plus社区,并将测试用户添加到其中。作为测试用户,请转到Google Play中提供的URL并选择加入Alpha测试人员。然后,您可以作为测试用户通过Google Play商店在测试设备上安装包。一旦通过Google Play安装,您就可以测试整个IAB购买过程。只要您使用相同的版本代码并正确签名APK,您就可以通过ADB直接在设备上更新软件包,而无需再次通过Google Play。这样可以节省数小时的周转时间。

1

从终端安装与您上传的alpha版本相同的已签名apk adb install yourSignedApk.apk 到您的设备上。并确保您要么在设备上使用您在Google开发者控制台上注册的测试帐户登录Play商店,要么将设备默认的Google帐户添加到开发者控制台上的测试帐户中。


很遗憾,这个不起作用。我可以连接到Google Play,但如果我查询产品,我会得到一个空的结果集,如果我尝试购买一个产品,我会收到一个错误,说找不到该产品。 - user1567896
你在开发者控制台上创建并发布了你的“解锁所有功能”项目吗? - Pr38y
是的,我已经在我的原始帖子中添加了我的开发控制台截图。 - user1567896
看起来你的产品 sku 是“(unlock_all_features)”(包括括号)。 - Pr38y
我不明白...所有三个东西都在那里,但它不起作用。当我查询我的产品时,我得到一个空的DETAILS_LIST: skuDetails: Bundle[{DETAILS_LIST=[], RESPONSE_CODE=0}] - user1567896
显示剩余2条评论

1

您无法使用已注册开发者电子邮件的设备进行测试购买。请进入您的设备并登录新的电子邮件,或使用另一个设备进行测试。

此外,您将需要直接从alpha页面安装签名的apk来测试购买。如果您从eclipse推送它,则购买将无法正常工作。


我正在一台特殊的测试设备上进行测试。它只有一个帐户,而且不是开发者帐户。测试帐户也已添加到开发控制台中。我该如何从 alpha 页面安装 apk?我尝试使用 adb,但这也没有起作用。 - user1567896
@user1567896 请查看此页面获取详细信息:https://support.google.com/googleplay/android-developer/answer/3131213?hl=en - HHK
@user1567896 是的。请仔细阅读我在评论中发布的URL链接中的文档,特别是这一段:“开发者控制台将为您提供一个URL链接,您需要将其提供给用户。他们需要访问该链接,其中将解释如何成为测试人员并选择加入。” - HHK
我不明白 - 我实际上需要先发布应用程序吗?“当您发布应用程序时,您的测试人员可以使用的选择加入的链接将显示在此处。” - GO VEGAN
@Hans Kratz,当我只有 alpha 版本时,我没有看到任何链接。在哪里可以找到这个链接? - user1567896
显示剩余8条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接