2017-02-01 3 views
2

In meinem Fall habe ich In-App-Produkt auf PlayStore und richten Sie unterschiedliche Preise für verschiedene Länder ein. Als nächstes, wenn ich Produkte unter Verwendung IabHelper.queryInventory() abhole, ist der Preis des Produktes ein Grundpreis und nicht für bestimmtes Land.IabHelper queryInventory() liefert Grundpreise für Produkte

Grundpreis ist 12,99 Euro und der Preis für mein Land ist 9,99 Euro. IabHelper.queryInventory() gibt eine Antwort mit dem Preis 12,99 Euro zurück. Aber wenn ich einen Kauf mache und den Dialog von PlayStore sehe, zeigt das, dass der tatsächliche Preis 9,99 Euro beträgt.

Ist es ein Problem in IabHelper oder mache ich etwas falsch?

Antwort

0

Es scheint, dass unterschiedliche Preise Abrechnung in-App-Einstellung nur in einigen Ländern verfügbar: https://support.google.com/googleplay/android-developer/answer/1169947?hl=en

Wenn Sie an einem Ort sind, die merchant registration unterstützt, können Sie Apps in verschiedenen Währungen über die Google anbieten Spielen Sie Entwicklerkonsole.

Sie können Google programmatisch Details der In-App abrufen Wiedergabe abfragen, um Produkte, die mit Ihrer Anwendung

Setup-queryInventoryAsync

mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener); 

Rufen Sie die Artikelpreise aus dem Ergebnis

gesetzt zugeordnet sind
IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() { 
public void onQueryInventoryFinished(IabResult result, Inventory inventory) { 
    if (result.isFailure()) { 
     // handle error 
     return; 
     } 

    String firstItemPrice= inventory.getSkuDetails(YOUR_SKU_ONE).getPrice(); 
    String NthItemPrice = inventory.getSkuDetails(YOUR_SKU_N).getPrice(); 

    // update the UI 
    } 
} 

Überprüfen Sie diese Referenz für weitere Details. https://developer.android.com/training/in-app-billing/list-iab-products.html#QueryDetails

Die getSkuDetails() Methode.

Diese Methode gibt Produktdetails für eine Liste von Produkt-IDs zurück. Im Antwortpaket "Von Google Play gesendet" werden die Abfrageergebnisse in einer String-ArrayList gespeichert, die dem Schlüssel DETAILS_LIST zugeordnet ist. Jeder String in der Detailliste enthält Produktdetails für ein einzelnes Produkt im JSON-Format. Überprüfen Sie this API reference für weitere Details

+0

ja, das ist, was ich versuche. und 'queryInventoryAsync' gibt den Grundpreis für das Produkt zurück. Land und Gebietsschema spielen in diesem Fall keine Rolle, es sei denn, der Nutzer beginnt mit dem Kauf mit PlayStore. 'getSkuDetails()' gibt immer den gleichen Preis zurück. –

Verwandte Themen