我需要启用google + api,所以我需要debug.keystore.我切换到Android Studio,不知道它在哪里.我可以在路径〜/ .android/debug.keystore的eclipse中找到它.
由于几天后就可以在Android应用中使用应用内结算功能.当然很酷.所以,我开始为我的应用程序进行更新以实现它.但现在我遇到了一些问题.这就是我做的:
现在出现了问题.当我使用自己的产品ID(我之前添加的产品ID,见上文)时,会显示一个对话框,其中包含以下文本:
" 应用程序错误:此版本的应用程序未配置为市场结算.请查看帮助中心以获取更多信息. "
我在日志中找不到任何奇怪的东西.谁知道我在这里做错了什么?
我终于为我的应用程序创建了一个"最终"密钥库.由于我的应用程序使用谷歌地图,我需要更新所有布局以使用应用程序产生的新API密钥.
现在我完全了解导出已签名的APK以供发布的要求,但之后是什么?我的想法是,对于进一步的开发和测试,如果我可以将Eclipse配置为使用我的最终密钥库而不是调试密钥库,那将是最简单的......但我发现没有办法做到这一点?它只允许我配置一个"替代"调试密钥,但我猜这不一样.
如果我在这里完全误解了一些东西,我会感到很困惑.
我们有一个使用In App Billing的应用程序.我们看到的问题如下:
当设备上的App的versionCode与Play Developer Console中发布的应用程序的版本代码相同时,Billing工作正常.
当具有更高版本代码的构建上载到Play Developer Console时,In App Billing停止在设备上的应用程序(具有较低版本的代码)上工作,说"应用程序未配置为开票".
测试时这很好,但问题是 - 应用程序在Google Play商店中的行为是什么?当您替换应用程序(执行更新)时,野外应用程序(具有较低版本的代码)是否停止使用In App Billing?
如果是这样,人们使用什么方法来执行更新?在购买之前,您是否强制用户更新?或者这个问题在发布之前才真正存在?
任何建议将不胜感激!
谢谢!
我有一个自定义密钥库,我用它来签署我的apk.现在我想使用相同的密钥库进行调试.当我去eclipse-> windows-> preferences-> android-> build并设置我的自定义密钥库时,我得到"Keystore被篡改,或密码不正确"?
我正在尝试在我的应用中设置付费产品。
我遵循了Flutter_Inapp_Purchase插件的所有指南,他们都说:
List<IAPItem> items = await FlutterInappPurchase.getProducts([iapId]);
Run Code Online (Sandbox Code Playgroud)
其中iapId是“我的应用的ID”。与该实现有关的所有其他代码均能正常工作,因为当我将android.test.purchased用作iapId字符串时,就可以找到测试产品并将其完美地加载到应用中。因此,问题可能是我正在使用的字符串,因为在任何地方都没有给出其他解释或示例。
我的商店里有一种产品叫remove_ads。
那我在iapId这里用错了吗?我无法想象它还会要求什么。
编辑:
购买物品。
我已经更新了以下代码,因为它已经有错误。现在,它在以下几行失败:_verifyPurchase和_deliverPurchase,因为这些不是问题。官方文档似乎说:“您可以继续并从这里开始处理所有这些工作”,甚至没有指示如何开始。
Future<Null> _queryPastPurchases() async {
final QueryPurchaseDetailsResponse response = await InAppPurchaseConnection.instance.queryPastPurchases();
if (response.error != null) {
// Handle the error.
}
for (PurchaseDetails purchase in response.pastPurchases) {
_verifyPurchase(purchase); // Verify the purchase following the best practices for each storefront.
_deliverPurchase(purchase); // Deliver the purchase to the user in your app.
if (Platform.isIOS) {
// Mark that you've delivered the purchase. Only the App Store …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Android文档中的虚假项目android.test.purchased测试我的应用内购买流程.我无法测试此流程,就在我启动它时,我收到此错误:"您请求的项目无法购买".我有我的清单中的权限,我不明白为什么我用假项目android.test.purchased得到这个错误.
我正在研究一个Android项目,我正在尝试实施In App Billing V3.
我已将我的应用上传到Google Play,并在应用中添加了IAP.我可以成功检索我的应用程序的IAP列表及其价格,但当我实际尝试购买时,我的设备会出现以下错误(没有错误)
此版本的应用程序未配置为通过Google Play结算.请访问帮助中心以获取更多信息.
以下是检索IAP可用并进行购买的代码
ArrayList skuList = new ArrayList();
skuList.add("mysqlmanager_pro");
Bundle querySkus = new Bundle();
querySkus.putStringArrayList("ITEM_ID_LIST", skuList);
try
{
Bundle skuDetail = mService.getSkuDetails(3, getPackageName(), "inapp", querySkus);
Log.d("Billing", "Response Received");
int billingResponse = skuDetail.getInt("RESPONSE_CODE");
if (billingResponse == 0)
{
//Get list of IAP's to purcase - NOT NEEDED
ArrayList responseList = skuDetail.getStringArrayList("DETAILS_LIST");
Log.d("Billing", "Response");
Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(),
"mysqlmanager_pro", "inapp", "");
PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
startIntentSenderForResult(pendingIntent.getIntentSender(),
Defines.IntentRequestCodes.IAP_PURCHASE_REQUEST, new Intent(),
Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
/*for (String thisResponse …Run Code Online (Sandbox Code Playgroud) 我在我的应用中实现了谷歌计费功能。一切正常,但是当我applicationIdSuffix ".debug"向 build.gradle添加标志时,计费不适用于调试版本,但我的测试人员确实需要它。有没有办法让它工作,而不是删除标志?
我正在尝试 in_app_purchase,到目前为止一切正常(即使有测试许可证和测试购买),除了消耗品。
当我尝试将 IAP 标记为消耗品时,开发人员控制台会告诉我以下内容:
“使用此功能需要计费库版本 4.0+”
我已经在 pubspec.yaml 依赖项中声明了
in_app_purchase: ^3.0.7
并且还测试了^3.0.6
我还设置了android/src/main/AndroidManifest.xml以下代码片段:
...
<uses-permission android:name="com.android.vending.BILLING" />
...
<meta-data
android:name="com.google.android.play.billingclient.version"
android:value="5.0.0" />
...
Run Code Online (Sandbox Code Playgroud)
我只使用内部测试轨道。
可能的原因有哪些?
预先感谢您的帮助
android in-app-purchase flutter google-play-console flutter-in-app-purchase