Anwendung nicht konfiguriert für die Zahlung über Google Play
Arbeite ich auf einem android-Projekt und ich bin zu versuchen, In-App-Billing-V3.
Hochgeladen habe ich meine app auf Google Play, und fügen Sie ein IAP um die app. Ich kann erfolgreich abrufen einer Liste der IAP meine app hat zusammen mit seinen Preis, aber wenn ich tatsächlich versuchen, einen Kauf zu tätigen mein Gerät bekommt die folgende Fehlermeldung (es ist kein Fehler in
Dieser version der Anwendung nicht konfiguriert ist für die Rechnungsstellung durch
Bei Google Play. Überprüfen Sie das Hilfe-Center für weitere Informationen.
Unten ist der code ruft die in-App-purchase verfügbar ist, und ist der Kauf
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());
}
Meiner onCreate enthält die folgenden
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);
Unten ist mein manifest-Datei
<?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>
Vielen Dank für jede Hilfe, die Sie bieten können
- Zum testen Ihrer app mit real-skus müssen Sie die gleiche APK hochgeladen, um Google Play, D. H., eine apk, die mit demselben Zertifikat signiert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar Dinge zu beachten, hier:
Nach dem hochladen der apk von Google Play, benötigen Sie noch eine Weile warten
für den Google-Servern zu aktualisieren (ähnlich wie bei der Veröffentlichung eines
update). Dies kann eine Stunde dauern oder zwei oder mehr in meiner Erfahrung. So
versuchen Sie es in ein paar Stunden.
Sicher, dass die version von der apk Sie hochgeladen ist konfiguriert für
IAP (über die Rechte), und dann nur testen, IAP mit einer signierten
apk. Das heißt, exportieren und signieren der apk aus Eclipse und dann installieren
lokal auf Ihrem Gerät. Ansonsten, wenn man eine nicht signierte version
von der Anwendung direkt aus der IDE, es wird nicht funktionieren und
Sie werden sehen, eine Fehlermeldung.
Hinweis: Sie brauchen nicht zum hochladen des neuen apk-jedes mal, wenn Sie kleinere änderungen vornehmen, solange der aktuell hochgeladenen Entwurf apk wurde mit den richtigen Berechtigungen konfiguriert sind und Sie veröffentlicht Ihre IAP-Elemente auf der dev-Konsole. Das einzige ärgerliche Teil ist, dass Sie zu exportieren und signieren Sie Ihre Anwendung jedes mal, nachdem Sie die änderungen, und führen Sie es auf einem Gerät lokal.
Überprüfen Sie, dass die versionCode Ihrer hochgeladenen apk hat die gleichen
versionCode als Ihre lokale version der apk.
Können Sie nicht mit Ihrem Entwickler-account zu machen, Testkäufe,
weil Google Wallet kann man nicht kaufen
selbst. So müssen Sie zum einrichten einige test-accounts auf die Entwickler
Konsole und versuchen Sie den Kauf Artikel von einem Gerät test
Konto.
Check that the versionCode of your uploaded apk has the same versionCode as your local version of the apk.
war sehr hilfreich für mich.versionCode
mehr github.com/googlesamples/android-play-billing/issues/...