无法找到应用内购买的商品

时间:2014-06-08 10:15:59

标签: android in-app-purchase

我正在尝试为我的应用设置应用内购买,但我总是收到无法找到该项目的消息。

这就是我所做的:

  • 将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应用程序?

开发控制台说我应该发送'关注'链接到测试用户,但没有'以下链接'。

非常感谢任何帮助。


编辑: 以下是我的产品在开发控制台中的屏幕截图: enter image description here


编辑-2: 如果我做对了,我应该找到一个链接到谷歌播放的alpha版本,我可以提供给我的测试人员。

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

3 个答案:

答案 0 :(得分:2)

草稿APK足以测试应用内结算,但谷歌最近更改了它,所以现在你必须在测试之前发布它(在alpha或beta频道)。

首先确保应用程序在Alpha通道中发布:您需要按下"立即发布"在Alpha测试选项卡中将按钮发布到Google Play。它将仅针对alpha测试人员发布。

然后创建添加测试用户的Google网上论坛或Google Plus社区。当测试用户转到Google Play中提供的网址并选择成为Alpha测试人员时。然后,您可以作为测试用户在测试设备上通过Google Play商店安装该软件包。

通过Google Play安装后,您可以测试整个IAB购买流程。只要您使用相同的版本代码并正确签署APK,您就可以直接通过ADB更新设备上的包,而无需再次通过Google Play。这样可以在周转时间内节省数小时。

答案 1 :(得分:1)

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

此外,您必须直接从Alpha页面安装已签名的apk来测试购买。如果从日食中推出它,购买将无效。

答案 2 :(得分:0)

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