Articles of 应用内结算

testing帐户是否需要通过应用内结算来购买真实的信用卡?

缓慢地(但有条不紊地)朝着我第一次实施应用内结帐的方向迈进,我达到了能够真正运行市场结算样本应用程序的程度 :应用程序已签名并上传到AM ,“产品列表”已创build根据说明书和谷歌和电话中已经设置了一个testing帐户。 但是,当我成功地进行购买时,尽pipe在AM上select了testing账户,我仍会被提示用我真正的信用卡链接到的真实Gmail账户来确认购买。 例如,在testingPayPal时,也可以使用假CC号创buildtesting帐户,以免费testing,而不会增加真正的CC系统负担。 这是可用(或可能)的应用程序内结账开发和testing吗? 更新:我testing了这个不同的设备,只有testing帐户设置,果然Android Market的行为错误,响应以下错误消息: 您尝试购买的物品找不到。 我知道该项目是在那里,它在Android电子市场正确设置,因为这个错误永远不会发生在具有真实账户与CC号码的设备(我有一个完美的行为与掩码的CC号码,总数和一个Accept & buybutton)。 为什么Google写这样误导性的错误信息? 更新:我发现这个令人难以置信的线程 ,这似乎部分回答我的问题。 从此以后,除非Google引入了新的东西。

应用内结算的优惠券

我们即将在Android电子市场上发布一个应用程序,其中包括用于订阅的应用程序内结算,以解锁订阅期间的某些function。 我的老板现在希望我实施不同数量的“ 免费订阅”,其意义在于: “幸运用户”像任何其他客户一样从Android电子市场下载和安装应用程序(始终可以免费安装,但高级function需要通过应用内结算进行付款)。 “幸运用户”通过电子邮件收到一些密钥,允许他或她避免通过应用内结算结账stream程(即实际支付)。 钥匙只能使用一次。 通过菜单项input密钥,可以订阅X个月, 就像他实际上通过应用内结算付款一样。 “关键”基本上就像一个优惠券,但我还没有发现任何这样的选项在发行商的控制台 。 你是否知道任何这样的function或简单的方法来实现上述不复制我们(发布者)服务器上的客户数据库?

Android应用内结算:使用sku android.test.purchased时出错(响应:5:开发人员错误)

我已经通过标准助手发送了testing购买意向: String SKU = "android.test.purchased"; mHelper.launchPurchaseFlow(this, SKU, 10001, mPurchaseFinishedListener); 购买成功,但是当我尝试使用购买的物品时: mHelper.consumeAsync(inv.getPurchase(SKU), mConsumeFinishedListener); 我得到以下错误: Error while consuming: IabResult: Error consuming sku android.test.purchased (response: 5:Developer Error) 我创build了一个Play商店已签名的apk并上传到开发者控制台 我已经在开发控制台中设置了一个testing项目 我已经实现onActivityResult 我错过了什么吗?

在Google Play开发者控制台中更改应用内商品价格和描述时的传播延迟

在Google Play开发者控制台中进行的价格/描述更改通常需要多长时间才能生效并传播到设备? 我有两个应用内产品,我正在testing价格和描述的变化。 使用getSkuDetails()库中的getSkuDetails() ,我可以在应用程序运行时查询这些信息。 在更改Google Play开发者控制台中的信息之后,说明更改在应用中显示得相当快。 然而,它已经2个小时了,价格变化还没有查询更新的信息 – 它仍然是原来的价格。 鉴于我同时改变了两者,我希望两者都有相同的传播延迟。 这提出了一个新的问题:如果延迟很重要,在这个过渡期间会发生什么? 价格是否因购买而改变,以便通过Google电子钱包工作stream程显示新价格,但通过getSkuDetails()获得的显示给应用中客户的价值将反映原始价格? 我search了文档,但是关于更改价格时会发生什么情况的信息很less。 这个博客文章是有用的,在一个高层次: http://android-developers.blogspot.ca/2012/12/in-app-billing-version-3.html

IAB帮手没有设置。 无法执行操作:queryInventory

我试图在我的应用程序中实现应用程序内结算API,但是当我运行我的应用程序时,它会显示一个exception。 这是我第一次处理应用程序内付款API,所以build议将不胜感激。 这是我得到的exception的日志: Process: koemdzhiev.com.quickshoppinglist, PID: 10604 java.lang.RuntimeException: Unable to start activity ComponentInfo{koemdzhiev.com.quickshoppinglist/koemdzhiev.com.quickshoppinglist.ui.MainActivity}: java.lang.IllegalStateException: IAB helper is not set up. Can't perform operation: queryInventory at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389) at android.app.ActivityThread.access$900(ActivityThread.java:147) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) Caused by: java.lang.IllegalStateException: IAB helper is not set […]

mService.consumePurchase(3,packageName,purchaseToken)总是返回RESULT_DEVELOPER_ERROR = 5 – 提供给API的无效参数

我总是收到“RESULT_DEVELOPER_ERROR = 5 – 提供给API的无效参数”,当试图消费购买与 String purchaseToken = "inapp:" + getPackageName() + ":" + productId; int response = 0; try { response = mService.consumePurchase(3, getPackageName(), purchaseToken); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } 出于这个原因,我总是只能做一次购买。 但是,我需要能够更频繁地进行购买。 我一直试图解决这个问题2天,现在没有成功。 :/ 使用SKU“android.test.purchased”进行购买和生产是完全正常的,但是一旦我用生产密钥导出.apk文件并添加一个实时SKU,购买只出现一次,然后再也不会出现。 这里有更多的细节 Play商店中.apk的版本代码和我在手机上使用的导出的.apk版本代码是相同的,并且使用相同的密钥库 我已经对托pipe和非托pipe产品进行了尝试,但是这并不重要,因为根据最新的应用内结算文档 ,托pipe和非托pipe产品被视为托pipe产品,并且都必须消费 我只有5个SKU物品,所以它没有达到20的限制,这是这里的问题

将应用程序内购买添加到现有的已发布应用程序并进行testing,而无需发布

我正在尝试为现有已发布的应用程序添加应用程序内购买,这些应用程序之前没有帐单许可。 我上传了带有结算权限的更新后的APK,但由于我不想发布此草稿,因此未启用此function。 但是,我无法添加应用内商品 – 仍然显示“当前的应用版本不使用BILLING权限”。 任何方式来解决/解决这个问题?

Android订阅的订单ID

根据谷歌的文件订阅ID订阅有以下格式: 12999556515565155651.5565135565155651(基本订单号)12999556515565155651.5565135565155651..0(初始购买订单ID)12999556515565155651.5565135565155651..1(首次订购ID)12999556515565155651.5565135565155651..2(第二次订购ID) 我为了id而感到困惑。 据我所知,如果不进行实际购买,就不可能testing这一点。 但我不能等一个月来testing它。 我用7天的试用创build了testing订阅。 第一次购买后,得到了我的JSON订单编号: 12999763169054705758.1316440597013773(试用版) 有人可以确认下一次购买将遵循格式? 12999763169054705758.1316440597013773..0(试用期满后第一次购买)12999763169054705758.1316440597013773..1(二次购买)…. 12999763169054705758.1316440597013773.25(第25次购买)? 另外,如果我安装订阅没有试用期,将首先购买订单编号12999763169054705758.1316440597013773..0? 最后一个问题。 getPurchases()是否只返回带有最后一个订单ID的JSON或包含以前购买的所有logging? 提前致谢。

无法更改应用内结算的默认货币

我目前正在开发者控制台添加项目,但是我遇到了一个问题。 问题是,谷歌要求我为我自己的国家添加一个价格。 在我的情况下,这是与挪威货币挪威。 我希望包括挪威在内的所有国家的价格都是平等的,因为我已经将价格硬编码到我的应用程序中。 我还没有发现任何设置在我的开发者控制台上“更改默认货币”,并根据文件,我必须为我自己的国家添加一个价格。 另外一个问题,就是现在货币当然只是改变挪威克朗的价格,因为美元的最低价格略低于挪威克朗的最低价格。 是否有任何解决方法临时更改默认货币?

应用内结算 – BillingHelper没有完全实例化

我试图做的 你好,伙计们,我正在尝试为我的应用程序创build一些应用程序内部产品,以供捐赠使用。 因为我免费赠送我的朋友的音乐 – 他说唱。 无论如何,我在我的developer-account上创build了5个应用内产品: donate_small donate_midsmall donate_medium donate_large donate_xlarge 这是我在那里生成的参考键。 他们被保存并发布。 现在,如果通过本教程编写了应用内服务: 应用内简易教程 。 代码似乎工作完美,没有错误,当我编译演示代码的作品。 但是,当我尝试它,我得到总是这个错误: 12-06 14:23:49.400: E/BillingService(4719): BillingHelper not fully instantiated 题 那么,我需要改变用户可以select不同的应用内产品? 我需要在什么地方申报吗? 另外,如果你有一个很好的教程,这个东西都很好的描述和充分的工作,请告诉我。 这是我用于我的应用程序服务的类: de.stepforward ChannelActivity SplashActivity de.stepforward.billing AppMainTest.class – >这是我的活动 BillingHelper.class BillingReceiver.class BillingSecurity.class BillingService.class C.class de.stepforward.billing.util Base64.class Base64DecoderException.class 目前我会为您提供我的账单帮助和活动代码,如果您需要更多代码,请告诉我。 码 AppMainTest.class package de.stepforward.billing; import de.stepforward.R; import de.stepforward.R.id; import […]