应用内计费测试结果:开发者错误。

3

我正在使用开发者帐户和测试项目(android.test.purchased)在我的手机上测试一个应用程序。当我调用 isBillingSupported() 方法时,我的 ResponseCodeRESULT_DEVELOPER_ERROR。我没有在市场上发布该应用程序,但我读到说这是不必要的,因为我使用了 android.test.purchased

<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.READ_OWNER_DATA"/>
    <uses-permission android:name="android.permission.WRITE_OWNER_DATA"/>        
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
    <uses-permission android:name="com.android.vending.BILLING"/>

我把它作为草稿上传到市场上,但还是没有运气...我正在失去信心...


我不知道为什么你得到了-1,我给你+1。因为应用内购买很难让它正常工作。各种各样的错误会出现。我想知道一个Hello World是否有帮助。http://mcondev.wordpress.com/2011/06/26/integrate-in-app-billing-just-3-lines-of-code-in-your-app/ - Siddharth
是的,我知道... :) 感谢你的支持...我终于让它工作了...再次感谢Siddharth。 - Jovan
你是如何让它工作的?花几分钟时间更新一下团队。谢谢。 - Siddharth
对不起,我不记得了...那是一年多以前的事了...很抱歉...但我记得上面的正确答案帮了我,但还有其他问题... :((( - Jovan
2个回答

3

回答你在@Samir的答案评论中的问题:

"我的问题是发布应用程序是否需要签名"

是的,你需要签名。

"我需要在市场上发布吗???"

不需要,你不需要在市场上发布。


不要忘记你需要上传到市场,而且你正在测试的APK需要与市场APK具有相同的版本代码,参考https://dev59.com/g2PVa4cB1Zd3GeqP9-j-#10622748。 - nmr

0

请确保您的包名正确。

虽然最终您需要对应用程序进行签名以供发布(如何进行此操作),但只要您拥有BILLING权限并且您的包名与应用程序的完全相同,您就可以在不签署应用程序的情况下调用isBillingSupported(),并且它将返回RESULT_OK。我曾经使用了一个不同的硬编码包名,而isBillingSupported()返回了RESULT_DEVELOPER_ERROR

因此,这是我的工作代码,调用isBillingSupported()

String packageName = context.getPackageName();

try
{
    IInAppBillingService service = activity.getBillingService();
    int response = service.isBillingSupported(3, packageName, "inapp");
    Log.i("mylogtag", "response: " + response);
}
catch (RemoteException re)
{
    re.printStackTrace();
}

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