当我尝试使用应用内结算,我得到的错误运行我的应用程序:"这个版本的应用程序未配置为通过谷歌Play结算有关详情,请访问帮助中心".
我已经在清单文件中获得了结算权限,并且我已经将已签名的.apk作为草稿上传到Google Play上,并且我还在我的手机上安装了相同的已签名的apk.
有关如何解决此问题的任何帮助?
我目前正在为未来的应用程序测试In-App Billing,并且在我第一次成功"购买"测试项目"android.test.purchased"后,我现在每次尝试再次购买时都会收到响应代码7,这意味着我已经拥有了这个项目.
12-15 23:02:14.149:E/IabHelper(19829):应用内结算错误:无法购买商品,错误回复:7:商品已经拥有
根据我的理解,这次购买应该永远是可能的,对吧?那么开发人员可以测试他/她的应用程序?
如果没有,我如何"重置"其状态为不拥有?我正在使用Google In-App Billing Sample中的util包.
我一直在尝试为我的第一个应用程序设置应用内结算,并且一直在使用android.test.purchased sku.购买过来了,我设法将SKU放入我的库存中,但正如标题所示,onIabPurchaseFinished永远不会被调用.
我认为它可能与此日志有关:"无法保存哪个视图具有焦点,因为焦点视图com.android.internal.policy.impl.PhoneWindow$DecorView@406743d0没有id".在进入Google Play之前就会弹出.我不太确定这意味着什么......
发布购买:
mHelper.launchPurchaseFlow(this, sku, 10001, mPurchaseFinishedListener, "");
Run Code Online (Sandbox Code Playgroud)
和听众:
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
@Override
public void onIabPurchaseFinished(IabResult result, Purchase info) {
System.out.println("Purchase Finish heard something");
if (result.isFailure()) {
Log.d(TAG, "Error purchasing: " + result);
return;
} else{
Log.d(TAG,"Success!");
}
}
};
Run Code Online (Sandbox Code Playgroud) 我正在尝试将Android Market应用内购买整合到我的应用中,但不幸的是,每当我尝试购买真正的inapp产品时,都会遇到恼人的错误.
我已经采用了示例应用程序(Dungeons)并将其添加到我的应用程序中.我已更新公钥,并将产品列表更新为以下内容:
/**可购买产品的一系列产品列表条目.*/
private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
new CatalogEntry("full", "Full v", Managed.MANAGED),
};
Run Code Online (Sandbox Code Playgroud)
我已经使用Eclipse导出了应用程序,并将其安装在我的手机上,并将其上传到Android Market网站.同样在Android Market网站上,我已经添加了完整的应用内购买并发布了它.
我还将我的googlemail帐户添加为测试帐户(这是我在手机上登录的帐户).
当我在我的手机上运行该应用程序时,每当我尝试购买时,我都会收到您要求购买的消息,但是如果我尝试例如android.test.purchased,那么它的工作原理非常好.
您请求的不可购买的项目的文档说明如下:
表示Android Market无法在应用程序的产品列表中找到所请求的项目.如果产品ID在REQUEST_PURCHASE请求中拼写错误,或者在应用程序的产品列表中未取消项目,则会发生这种情况.
产品ID定义相同,它已定义发布,请求必须通过ok,因为它是示例应用程序.
我使用相同版本的apk和我发布inapp产品也和激活apk也.但我仍然面临同样的问题,请帮助我解决它.
任何想法将不胜感激!
我有一个简单的应用程序(需要用户登录帐户).我为付费用户提供了一些高级功能,比如更多新闻内容.
我需要记录用户是否已在我的服务器数据库中购买此项目.当我向用户的设备提供数据内容时,我可以检查用户的状态,并为付费用户提供不同的内容.
我检查了Google提供的官方Trivialdrive示例,它没有提供任何服务器端验证的示例代码,这里是我的问题.
我不确定我应该采用什么方法来验证用户的购买,并在我的数据库中标记用户的状态,可能两者都有?
我担心有一种情况,如果用户从谷歌播放购买此项目,但由于某种原因,就在那个时候,当我的应用程序启动验证到我的服务器,网络连接断开或我自己的服务器关闭,用户只是在谷歌播放中支付了钱,但我没有在我的服务器上记录购买?我该怎么办,我该如何处理这种情况.
在Android应用中实施应用内结算似乎相当复杂.我怎么能这样做?SDK中的示例应用程序只有一个Activity,这对于像我这样有多个Activity的应用程序来说过于简单了.
我已经尝试了几天来解决这个问题,使用SDK附带的Dungeons演示代码.我试过谷歌寻求答案,但找不到答案.
android.test.purchased
在控制台上创建的产品列表和已发布的订阅(我想要的应用程序的主要功能).但我仍然得到错误,Signature verification failed
然后签名与数据不匹配.我怎么解决这个问题?
public static ArrayList<VerifiedPurchase> verifyPurchase(String signedData, String signature)
{
if (signedData == null) {
Log.e(TAG, "data is null");
return null;
}
if (Consts.DEBUG) {
Log.i(TAG, "signedData: " + signedData);
}
boolean verified = false;
if (!TextUtils.isEmpty(signature)) {
String base64EncodedPublicKey = "MIIBIjA....AQAB";
PublicKey key = Security.generatePublicKey(base64EncodedPublicKey);
verified = Security.verify(key, signedData, signature);
if (!verified) {
Log.w(TAG, "signature does not match data.");
return null;
}
}
}
public static boolean verify(PublicKey publicKey, String …
Run Code Online (Sandbox Code Playgroud) 我的应用程序似乎已准备好对我的设备上的应用程序内购买程序进行"真实生活"测试.但是,我在Play商店收到"发布商无法购买此商品"错误消息.现在,我该怎么测试呢?我不想丢失手机的配置,只需重新安装一个虚拟帐户进行测试.在"设置" - "许可证测试"下的开发者控制台中,我在"具有测试访问权限的GMail帐户"下添加了我的电子邮件地址,但这并没有改变任何内容......也许我错过了一些简单的方法,但现在它感觉很混乱!
我在应用购买/订阅时遇到问题:
如果设备上有多个帐户,我无法获得使用第二个帐户进行的购买.通过从Google Play网络界面安装应用程序,有时可以暂时解决此问题,但过了一段时间,购买将不会出现在查询中,从而迫使用户重新安装.
我正在使用此示例中的IabHelper类.
做一些谷歌搜索,我发现这个错误存在一段时间,但不幸的是我无法找出错误是在IabHelper类中还是在Google方面.
我想引起人们对谷歌的关注,因此他们可以在IabHelper课程或Play服务中为此提供适当的解决方案,或提供信息,以及如何处理.
我正在使用应用程序中的代码(在撰写本文时)900.000活跃用户安装,我必须触发相当多的退款,因为这.
如果有一个我想念的修复,请告诉我.
编辑:有时即使手机上只有一个帐户,也无法检索购买.
android in-app-billing google-play android-billing google-play-services
我刚刚为Android完成了一个游戏,我正在测试应用内购买功能.我正在使用android.test.purchased发送测试
几个小时前它工作正常.但现在,当我点击谷歌播放中的"接受并购买"时,商店会给出错误.
谷歌播放错误"从服务器[DF-DFERH-01]检索信息时出错"
有谁知道这个错误意味着什么?