2013-01-11 3 views
6

Ich habe ein Programm, das einen Alarm Dialog setzt, die „Möchten Sie zum Kauf‚TITEL‘für‚PREIS‘“Kann ich in Googles IAB den Produkttitel und den Preis abrufen, bevor ich die Methode launchpurchaseflow aufruft?

Ich weiß, dass die Google IAB-Bibliothek hat eine getSku() -Aufruf fragt aber das ist erst nach einer verfügbar Ergebnis aus dem Kauf des Artikels. Gibt es eine Möglichkeit, diese beiden Variablen vor dem Kauf zu bekommen? Vielen Dank.

ich einen Artikel gesehen haben könnte, die ein Bündel von SKUs abfragt, die alle Einzelteile aufgelistet, aber ich kann

Antwort

1

fand eine Lösung für diese falsch sein. Zuallererst benötigen Sie die SKU/Produkt ID.

public void getProductDetails(String sku) throws RemoteException, JSONException { 
    logDebug("getProductDetails - " + sku); 

    ArrayList<String> skuList = new ArrayList<>(); 
    // Add the specific sku 
    skuList.add(sku); 

    if (sku != null) { 
     Bundle querySkus = new Bundle(); 
     querySkus.putStringArrayList(GET_SKU_DETAILS_ITEM_LIST, skuList); 
     Bundle skuDetails = mService.getSkuDetails(3, mContext.getPackageName(), ITEM_TYPE_INAPP, querySkus); 
     ArrayList<String> responseList = skuDetails.getStringArrayList(RESPONSE_GET_SKU_DETAILS_LIST); 

     for (String thisResponse : responseList) { 
      SkuDetails d = new SkuDetails(thisResponse); 
      logDebug("Looking at sku details: " + d); 
      purchaseTitle = d.getTitle(); // these are set as variables so you can call them 
      purchasePrice = d.getPrice(); // whenever you want 
     } 
    } 
} 
+0

ich verwende in -app Abrechnungs Version 3 und benötigt Abonnement Produktdetails zu holen, für die ich in der Funktion "mGotInventoryListener" getan if (inventory.getSkuDetails (SKU_INFINITE_SUBSCRIPTION)! = null) { \t \t \t \t Log.e (TAG, "Produktdetails Preis ====" + inventory.getSkuDetails (SKU_INFINITE_SUBSCRIPTION) .getPrice()); \t \t \t \t \t \t \t} aber ich bin Daten als null bekommen – AkashG

+0

u kann mir pls helfen, für Details des Abonnements bekommen .. – AkashG

2

Verwendung dieses Verfahren in IABHelper:

List<String> moreSkus = new ArrayList<String>(); 
    moreSkus.add("sku1"); 
    moreSkus.add("sku2");    

    mHelper.queryInventoryAsync(true, moreSkus, mGotInventoryListener); 

Ich teste es ok funktioniert, können Sie inapp oder Subtyps sku zur Liste hinzufügen und kehren alle Details in invenroty

+0

Wird es funktioniert mit IAB V2. Ich bekomme den Fehler wie "queryInventoryAsync" nicht gefunden. Wenn nicht möglich, lassen Sie mich wissen, dass es andere Möglichkeiten gibt, die Produktdetails mit V2 zu erhalten – Ganesh

Verwandte Themen