Meine App enthält In-App-Produkte, die erworben werden können. Ich verwende die Rechnungs-API , um die Liste der Produkte, die gekauft werden können, und deren Preise abzurufen. Der abgerufene Preis ist ein formatierter String , der sowohl die Währung als auch den Preis enthält, z. B. "$ 2,50".
Jetzt verwende ich auch Google Analytics API , um Einkäufe zu verfolgen. Zum Senden des Preises verwendet diese API einen langen -Parameter in micros. Also sollte ich (2,50 * 1000000) senden.
Gibt es eine API zum Konvertieren des ersten Preises (aus der Fakturierungs-API) in den zweiten (zum Senden an die Analytics-API)?
Natürlich könnte ich eine einfache String-Parsing-Konvertierung selbst machen, aber ich habe Angst vor unerwarteten Fällen, wenn ich das tue. In einigen Gebietsschemas würde der Preis beispielsweise "," anstelle von "." Enthalten.
Bearbeiten
Eine natürliche Lösung wäre es, mit NumberFormat von "2,50" auf 2,50 zu konvertieren.
%Vor%Das von Google Play abgerufene Preistringformat liegt jedoch offenbar in dem Gebietsschema des Landes, in dem sich das Telefon befindet, aber das NumberFormat würde das Gebietsschema des Telefons verwenden, das nicht unbedingt das gleiche ist ...
Obwohl dies nicht offiziell dokumentiert ist, stellt die Fakturierungs-API bereits die erforderlichen Daten in der getSkuDetails()
-Antwort bereit.
Neben dem Feld price
erhalten Sie auch Folgendes:
price_currency_code
Der ISO-Währungscode
price_amount_micros
Der Produktpreis in Mikros (Hinweis: Nettopreis)
Tags und Links android google-analytics in-app-purchase billing