我在Google Play的应用购买中实施。我有 DungeonsRedux 样本。这里
restoreTransactions();
我知道有一种方法可以恢复交易。但是,如果我卸载我的应用程序并重新安装它“我怎么知道我是否已经购买了一个项目?”我已经为亚马逊实现了应用程序内购买和恢复,但在亚马逊,我得到了亚马逊SDK,它存储了测试帐户的购买交易记录。我如何在Google Play中实现此功能(恢复功能)
是否有必要在Google Play上创建帐户才能获得还原响应? 如果是的话,我试图在Google Play上创建一个测试帐户。他们要钱。 如果不是,那么有任何SDK提供响应。请帮忙。
答案 0 :(得分:0)
我建议您先使用示例应用进行测试。以下是测试它的方法。一旦正确查看下面的示例应用程序,这将解决您的恢复问题
第1步。安装示例应用 - TrivialDrive
第2步。现在使用静态响应进行测试:Mainactivity上有4个按钮,用这些保留的产品ID替换按钮项代码。
要使用这些保留的产品ID,您不必在开发人员控制台应用程序中添加项目 以下是用于测试应用的link
一旦您使用上述方法进行测试,您就可以使用自己的产品进行测试了。这是一个详细的turorial链接来做到这一点 Testing In-app Purchases Using Your Own Product IDs
答案 1 :(得分:0)
我不是专家,但我会尽力帮助。我相信要恢复您购买的商品,您将需要购买商品的SKU。要进行测试,您必须为您的app创建实际的SKU。您可以通过将已签名的apk添加到Beta测试并将详细信息添加到商店列表来实现。之后,您可以在应用内商品部分添加有关可购买产品的详细信息。通过这样做,您可以为应用中的每个可购买项目分配标题,描述,成本和SKU(产品ID)。现在,要恢复您的商品,您需要拥有购买商品的SKU,就可以了。
您可以按照以下步骤执行此操作:
Bundle ownedItems=mService.getPurchases(3, mContext.getPackageName(), "inapp", null);
ArrayList<String> ownedSkus=new ArrayList<String>();
int response = ownedItems.getInt("RESPONSE_CODE");
if (response == 0)
{
ownedSkus = ownedItems.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");
}
现在,以上几行将为您提供arraylist中购买的SKU列表,为您的方法提供返回类型,并在您需要恢复购买的班级中获取。
Bundle ownedItems=mService.getPurchases(3, mContext.getPackageName(), "inapp", null);
ArrayList<String> ownedSkus=new ArrayList<String>();
int response = ownedItems.getInt("RESPONSE_CODE");
if (response == 0)
{
ownedSkus = ownedItems.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");
}
4.现在,将带有此代码和公钥的已签名apk上传到开发者控制台(在Beta测试阶段),并使用相同的apk检查到目前为止所执行的实施。但是,在恢复之前购买物品,不要忘记这样做。
我希望这会有所帮助。感谢。