gpt4 book ai didi

android - 应用程序未配置为通过 Google Play 计费

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:06:00 28 4
gpt4 key购买 nike

我正在开发一个 android 项目,我正在尝试实现 In App Billing V3。

我已将我的应用上传到 Google Play,并向该应用添加 IAP。我可以成功检索我的应用程序具有的 IAP 列表及其价格,但是当我实际尝试购买时,我的设备出现以下错误(

中没有错误

This version of the application is not configured for billing through Google Play. Check the help centre for more information.

下面是检索可用 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 : responseList)
{
JSONObject object = new JSONObject(thisResponse);
String sku = object.getString("productid");
String price = object.getString("price");
}*/
}

}
catch (Exception ex)
{
Log.e("Billing", ex.toString());
}

我的 onCreate 包含以下内容

mServiceConn = new ServiceConnection() {

@Override
public void onServiceDisconnected(ComponentName name) {
mService = null;
}

@Override
public void onServiceConnected(ComponentName name, IBinder service) {
mService = IInAppBillingService.Stub.asInterface(service);
}
};

bindService(new Intent("com.android.vending.billing.InAppBillingService.BIND"),
mServiceConn, Context.BIND_AUTO_CREATE);

下面是我的 list 文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.BoardiesITSolutions.MysqlManager"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.vending.BILLING" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.BoardiesITSolutions.MysqlManager.Agreement"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name">
</activity>
<activity
android:name=".NewDBConnection"
android:label="@string/new_mysql_connection">
</activity>
<activity
android:name=".ConnectionManager"
android:label="@string/connection_manager">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>
<activity
android:name=".EditDBConnections"
android:label="@string/edit_database_connections">
</activity>
<activity
android:name=".ServerStatus"
android:label="Server Status">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ConnectionManager"/>
</activity>
<activity
android:name=".ConnectedDBManagerHost"
android:label="Connected to DB">
</activity>
<receiver android:name="BillingReceiver">
<intent-filter>
<action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
<action android:name="com.android.vending.billing.RESPONSE_CODE" />
<action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
</intent-filter>
</receiver>
</application>

</manifest>

感谢您提供的任何帮助

最佳答案

这里有几点需要考虑:

  1. 将 apk 上传到 Google Play 后,您需要等待一段时间让 Google 的服务器更新(类似于您发布更新)。根据我的经验,这可能需要一两个小时或更长时间。所以请过几个小时再试。

  2. 确保您上传的 apk 版本配置为IAP(通过权限),然后只测试带有签名的IAP应用程序。也就是说,从 Eclipse 导出并签署您的 apk,然后安装本地到您的设备上。否则,如果您运行未签名的版本直接从 IDE 的应用程序,它不会工作,并且你会看到一个错误。

    注意:您无需在每次进行微小更改时都上传新的 apk,只要当前上传的草稿 apk 配置了正确的权限并且您在开发控制台上发布了 IAP 项目即可。唯一烦人的部分是每次更改后都必须导出并签署您的应用程序,然后在本地设备上运行它。

  3. 检查你上传的apk的versionCode是否相同versionCode 作为您本地版本的 apk。

  4. 您不能使用您的开发者帐户进行测试购买,因为 Google 电子钱包不允许您从你自己。所以需要在开发者上设置一些测试账号控制台并尝试从运行测试的设备购买元素帐户。

关于android - 应用程序未配置为通过 Google Play 计费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692402/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com