Summary
Wenn Sie Mobil-Apps entwickeln, möchten Sie wahrscheinlich Umsätze mit Ihrer App generieren. Laut dem neuesten Bericht von Sensor Tower gehören konsumierbare und nicht konsumierbare In-App-Käufe zu den am häufigsten verwendeten Monetarisierungsmechanismen – vor allem bei Spielen mit Ad Removal (Werbeunterdrückung). Spiele mit dieser Methode der Monetarisierung machen 90% aller Spiele aus. In diesem Artikel nehmen wir die Funktionen von In-App-Käufen genauer unter die Lupe, was der Unterschied zwischen konsumierbaren und nicht konsumierbaren IAPs ist und wie Sie sie mit Qonversion einrichten.
![](https://framerusercontent.com/images/P5aWLmqj1YXPTdFAVU4vKPPbo.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/sensor-tower-report.jpg)
Bericht zum Stand der Monetarisierung von Mobile Games
![Einrichten von verbrauchbaren](https://framerusercontent.com/images/WsE7RJXgzWwpiDVcw6qiqUdhkas.jpg)
Arten von In-App-Käufen
Unterschiede zwischen Google und Apple In-App-Käufen
Google macht bei der Erstellung eines Produkts keinen Unterschied zwischen nicht verbrauchbaren und verbrauchbaren In-App-Käufen. Apple verlangt jedoch von den Entwicklern, dass sie die Art des In-App-Kaufs in App Store Connect angeben:
![](https://framerusercontent.com/images/JoM4UOxY7ObkOduRVVesQmUWVMA.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/app-store-connect.jpg)
Wie Sie verbrauchbare und nicht verbrauchbare In-App-Käufe einrichten
Nehmen wir an, wir entwickeln ein Rennspiel für iOS und Android. Unsere App ermöglicht es den Nutzern, Premium-Rennstrecken freizuschalten (nicht verbrauchbarer Gegenstand, sobald eine Strecke gekauft wurde, hat der Nutzer für immer Zugang zu ihr) und zusätzliche Gesundheit für ein Auto zu kaufen (verbrauchbarer Gegenstand, der Nutzer sollte jedes Mal, wenn er sie braucht, Gesundheit kaufen können). Qonversion ermöglicht die Handhabung aller Arten von In-App-Käufen, einschließlich nicht abonnierter Produkte.
Das folgende Beispiel beschreibt den Prozess der Integration von In-App-Käufen in Mobil-Apps mit Qonversion.
Bevor wir mit der Erstellung von verbrauchbaren und nicht verbrauchbaren Einkäufen beginnen, stellen Sie sicher, dass Sie bereits einen Account bei Qonversion haben und Ihr Projekt erstellt und die App registriert haben.
Vorbereitung
Angenommen, wir haben bereits In-App-Käufe in Google Play Console und App Store Connect mit den folgenden IDs gespeichert: android_premium_track, android_extra_health und ios_premium_track, ios_extra_health. Lassen Sie uns Produkte im Qonversion Dashboard erstellen:
![](https://framerusercontent.com/images/YQ0wa2JaeSyIb9PcGKkQH8bkiKc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-product-1920x787.jpg)
2. Danach sollten wir eine Berechtigung erstellen und sie mit dem Produkt premium_track verknüpfen. Die Premium-Berechtigung schaltet den Zugriff auf den Track nach dessen Kauf frei.
![](https://framerusercontent.com/images/V37UfnSzCJnyv2MfUAWcsakCJk0.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-permission-1920x799.jpg)
3. Für das Produkt extra_health müssen wir keine Berechtigung erstellen. Lassen Sie uns außerdem ein Angebot erstellen, um die eingestellten Produkte aus der Ferne ändern zu können, ohne App-Updates zu veröffentlichen. Verknüpfen Sie die erstellten Produkte mit dem Angebot:
![](https://framerusercontent.com/images/LRXD6EfSZV32wbJMdyWf99h11oc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-offering-1920x1009.jpg)
Wie man einen lebenslangen Zugang mit nicht verbrauchbaren In-App-Käufen anbietet
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "premium_track") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object : QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("premium_track")?.let { product -> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } }
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, starten man den Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if let premium: Qonversion.Permission = permissions["premium"], premium.isActive { // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object: QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { val premiumPermission = permissions["premium"] if (premiumPermission != null && premiumPermission.isActive()) { // Successful purchase // Unlock premium content } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Jedes Mal, wenn Sie wissen möchten, ob der Benutzer Zugriff auf den Premium-Inhalt hat, sollten Sie die Methode checkPermissions() aufrufen. Sobald das Produkt erfolgreich gekauft wurde und die Berechtigung aktiv geworden ist, sollten Sie dem Benutzer nicht erlauben, das Produkt erneut zu kaufen: Der Benutzer hat von nun an lebenslangen Zugriff.
Bieten Sie einen Zugang mit verbrauchbaren In-App-Käufen
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "extra_health") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object: QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("extra_health")?.let { product-> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, startet man einen Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if(!error){ // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object : QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { // Successful purchase // Unlock content } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Um Inhalte freizuschalten, müssen Sie keine Berechtigungen prüfen. Stattdessen sollten Sie sich auf ein erfolgreiches Ergebnis verlassen, d.h. wenn kein Fehler auftritt. Hinweis: Die App muss sich den Status des gekauften Produkts merken, d.h. wie viele Einheiten gekauft wurden, und den Zugriff entsprechend freischalten. Wenn der Benutzer z.B. 50 Einheiten extra_health gekauft und dann 20 verbraucht hat, sollten Sie dies einkalkulieren und in Ihrer App den aktuellen Status von 30 Gesundheitseinheiten anzeigen. Es sind also nur noch 30 Einheiten übrig, die der Benutzer kaufen kann.
Fazit
In diesem Artikel haben wir uns genauer angesehen, wie Sie verbrauchbare und nicht verbrauchbare Einkäufe einrichten. Wie Sie sehen können, ist der Prozess ziemlich einfach. Sobald Sie In-App-Käufe implementiert haben, sollten Sie nicht vergessen, mit Hilfe von Analysetools zu messen, wie viel Umsatz jedes Ihrer Produkte einbringt. Wenn Sie mehr darüber erfahren möchten, wie Sie In-App-Käufe und Abonnements einrichten und analysieren können, lesen Sie bitte unsere Dokumentation oder schreiben Sie mir in unserem Slack-Kanal.
Wenn Sie Mobil-Apps entwickeln, möchten Sie wahrscheinlich Umsätze mit Ihrer App generieren. Laut dem neuesten Bericht von Sensor Tower gehören konsumierbare und nicht konsumierbare In-App-Käufe zu den am häufigsten verwendeten Monetarisierungsmechanismen – vor allem bei Spielen mit Ad Removal (Werbeunterdrückung). Spiele mit dieser Methode der Monetarisierung machen 90% aller Spiele aus. In diesem Artikel nehmen wir die Funktionen von In-App-Käufen genauer unter die Lupe, was der Unterschied zwischen konsumierbaren und nicht konsumierbaren IAPs ist und wie Sie sie mit Qonversion einrichten.
![](https://framerusercontent.com/images/P5aWLmqj1YXPTdFAVU4vKPPbo.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/sensor-tower-report.jpg)
Bericht zum Stand der Monetarisierung von Mobile Games
![Einrichten von verbrauchbaren](https://framerusercontent.com/images/WsE7RJXgzWwpiDVcw6qiqUdhkas.jpg)
Arten von In-App-Käufen
Unterschiede zwischen Google und Apple In-App-Käufen
Google macht bei der Erstellung eines Produkts keinen Unterschied zwischen nicht verbrauchbaren und verbrauchbaren In-App-Käufen. Apple verlangt jedoch von den Entwicklern, dass sie die Art des In-App-Kaufs in App Store Connect angeben:
![](https://framerusercontent.com/images/JoM4UOxY7ObkOduRVVesQmUWVMA.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/app-store-connect.jpg)
Wie Sie verbrauchbare und nicht verbrauchbare In-App-Käufe einrichten
Nehmen wir an, wir entwickeln ein Rennspiel für iOS und Android. Unsere App ermöglicht es den Nutzern, Premium-Rennstrecken freizuschalten (nicht verbrauchbarer Gegenstand, sobald eine Strecke gekauft wurde, hat der Nutzer für immer Zugang zu ihr) und zusätzliche Gesundheit für ein Auto zu kaufen (verbrauchbarer Gegenstand, der Nutzer sollte jedes Mal, wenn er sie braucht, Gesundheit kaufen können). Qonversion ermöglicht die Handhabung aller Arten von In-App-Käufen, einschließlich nicht abonnierter Produkte.
Das folgende Beispiel beschreibt den Prozess der Integration von In-App-Käufen in Mobil-Apps mit Qonversion.
Bevor wir mit der Erstellung von verbrauchbaren und nicht verbrauchbaren Einkäufen beginnen, stellen Sie sicher, dass Sie bereits einen Account bei Qonversion haben und Ihr Projekt erstellt und die App registriert haben.
Vorbereitung
Angenommen, wir haben bereits In-App-Käufe in Google Play Console und App Store Connect mit den folgenden IDs gespeichert: android_premium_track, android_extra_health und ios_premium_track, ios_extra_health. Lassen Sie uns Produkte im Qonversion Dashboard erstellen:
![](https://framerusercontent.com/images/YQ0wa2JaeSyIb9PcGKkQH8bkiKc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-product-1920x787.jpg)
2. Danach sollten wir eine Berechtigung erstellen und sie mit dem Produkt premium_track verknüpfen. Die Premium-Berechtigung schaltet den Zugriff auf den Track nach dessen Kauf frei.
![](https://framerusercontent.com/images/V37UfnSzCJnyv2MfUAWcsakCJk0.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-permission-1920x799.jpg)
3. Für das Produkt extra_health müssen wir keine Berechtigung erstellen. Lassen Sie uns außerdem ein Angebot erstellen, um die eingestellten Produkte aus der Ferne ändern zu können, ohne App-Updates zu veröffentlichen. Verknüpfen Sie die erstellten Produkte mit dem Angebot:
![](https://framerusercontent.com/images/LRXD6EfSZV32wbJMdyWf99h11oc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-offering-1920x1009.jpg)
Wie man einen lebenslangen Zugang mit nicht verbrauchbaren In-App-Käufen anbietet
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "premium_track") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object : QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("premium_track")?.let { product -> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } }
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, starten man den Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if let premium: Qonversion.Permission = permissions["premium"], premium.isActive { // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object: QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { val premiumPermission = permissions["premium"] if (premiumPermission != null && premiumPermission.isActive()) { // Successful purchase // Unlock premium content } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Jedes Mal, wenn Sie wissen möchten, ob der Benutzer Zugriff auf den Premium-Inhalt hat, sollten Sie die Methode checkPermissions() aufrufen. Sobald das Produkt erfolgreich gekauft wurde und die Berechtigung aktiv geworden ist, sollten Sie dem Benutzer nicht erlauben, das Produkt erneut zu kaufen: Der Benutzer hat von nun an lebenslangen Zugriff.
Bieten Sie einen Zugang mit verbrauchbaren In-App-Käufen
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "extra_health") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object: QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("extra_health")?.let { product-> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, startet man einen Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if(!error){ // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object : QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { // Successful purchase // Unlock content } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Um Inhalte freizuschalten, müssen Sie keine Berechtigungen prüfen. Stattdessen sollten Sie sich auf ein erfolgreiches Ergebnis verlassen, d.h. wenn kein Fehler auftritt. Hinweis: Die App muss sich den Status des gekauften Produkts merken, d.h. wie viele Einheiten gekauft wurden, und den Zugriff entsprechend freischalten. Wenn der Benutzer z.B. 50 Einheiten extra_health gekauft und dann 20 verbraucht hat, sollten Sie dies einkalkulieren und in Ihrer App den aktuellen Status von 30 Gesundheitseinheiten anzeigen. Es sind also nur noch 30 Einheiten übrig, die der Benutzer kaufen kann.
Fazit
In diesem Artikel haben wir uns genauer angesehen, wie Sie verbrauchbare und nicht verbrauchbare Einkäufe einrichten. Wie Sie sehen können, ist der Prozess ziemlich einfach. Sobald Sie In-App-Käufe implementiert haben, sollten Sie nicht vergessen, mit Hilfe von Analysetools zu messen, wie viel Umsatz jedes Ihrer Produkte einbringt. Wenn Sie mehr darüber erfahren möchten, wie Sie In-App-Käufe und Abonnements einrichten und analysieren können, lesen Sie bitte unsere Dokumentation oder schreiben Sie mir in unserem Slack-Kanal.
Wenn Sie Mobil-Apps entwickeln, möchten Sie wahrscheinlich Umsätze mit Ihrer App generieren. Laut dem neuesten Bericht von Sensor Tower gehören konsumierbare und nicht konsumierbare In-App-Käufe zu den am häufigsten verwendeten Monetarisierungsmechanismen – vor allem bei Spielen mit Ad Removal (Werbeunterdrückung). Spiele mit dieser Methode der Monetarisierung machen 90% aller Spiele aus. In diesem Artikel nehmen wir die Funktionen von In-App-Käufen genauer unter die Lupe, was der Unterschied zwischen konsumierbaren und nicht konsumierbaren IAPs ist und wie Sie sie mit Qonversion einrichten.
![](https://framerusercontent.com/images/P5aWLmqj1YXPTdFAVU4vKPPbo.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/sensor-tower-report.jpg)
Bericht zum Stand der Monetarisierung von Mobile Games
![Einrichten von verbrauchbaren](https://framerusercontent.com/images/WsE7RJXgzWwpiDVcw6qiqUdhkas.jpg)
Arten von In-App-Käufen
Unterschiede zwischen Google und Apple In-App-Käufen
Google macht bei der Erstellung eines Produkts keinen Unterschied zwischen nicht verbrauchbaren und verbrauchbaren In-App-Käufen. Apple verlangt jedoch von den Entwicklern, dass sie die Art des In-App-Kaufs in App Store Connect angeben:
![](https://framerusercontent.com/images/JoM4UOxY7ObkOduRVVesQmUWVMA.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/app-store-connect.jpg)
Wie Sie verbrauchbare und nicht verbrauchbare In-App-Käufe einrichten
Nehmen wir an, wir entwickeln ein Rennspiel für iOS und Android. Unsere App ermöglicht es den Nutzern, Premium-Rennstrecken freizuschalten (nicht verbrauchbarer Gegenstand, sobald eine Strecke gekauft wurde, hat der Nutzer für immer Zugang zu ihr) und zusätzliche Gesundheit für ein Auto zu kaufen (verbrauchbarer Gegenstand, der Nutzer sollte jedes Mal, wenn er sie braucht, Gesundheit kaufen können). Qonversion ermöglicht die Handhabung aller Arten von In-App-Käufen, einschließlich nicht abonnierter Produkte.
Das folgende Beispiel beschreibt den Prozess der Integration von In-App-Käufen in Mobil-Apps mit Qonversion.
Bevor wir mit der Erstellung von verbrauchbaren und nicht verbrauchbaren Einkäufen beginnen, stellen Sie sicher, dass Sie bereits einen Account bei Qonversion haben und Ihr Projekt erstellt und die App registriert haben.
Vorbereitung
Angenommen, wir haben bereits In-App-Käufe in Google Play Console und App Store Connect mit den folgenden IDs gespeichert: android_premium_track, android_extra_health und ios_premium_track, ios_extra_health. Lassen Sie uns Produkte im Qonversion Dashboard erstellen:
![](https://framerusercontent.com/images/YQ0wa2JaeSyIb9PcGKkQH8bkiKc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-product-1920x787.jpg)
2. Danach sollten wir eine Berechtigung erstellen und sie mit dem Produkt premium_track verknüpfen. Die Premium-Berechtigung schaltet den Zugriff auf den Track nach dessen Kauf frei.
![](https://framerusercontent.com/images/V37UfnSzCJnyv2MfUAWcsakCJk0.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-permission-1920x799.jpg)
3. Für das Produkt extra_health müssen wir keine Berechtigung erstellen. Lassen Sie uns außerdem ein Angebot erstellen, um die eingestellten Produkte aus der Ferne ändern zu können, ohne App-Updates zu veröffentlichen. Verknüpfen Sie die erstellten Produkte mit dem Angebot:
![](https://framerusercontent.com/images/LRXD6EfSZV32wbJMdyWf99h11oc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-offering-1920x1009.jpg)
Wie man einen lebenslangen Zugang mit nicht verbrauchbaren In-App-Käufen anbietet
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "premium_track") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object : QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("premium_track")?.let { product -> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } }
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, starten man den Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if let premium: Qonversion.Permission = permissions["premium"], premium.isActive { // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object: QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { val premiumPermission = permissions["premium"] if (premiumPermission != null && premiumPermission.isActive()) { // Successful purchase // Unlock premium content } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Jedes Mal, wenn Sie wissen möchten, ob der Benutzer Zugriff auf den Premium-Inhalt hat, sollten Sie die Methode checkPermissions() aufrufen. Sobald das Produkt erfolgreich gekauft wurde und die Berechtigung aktiv geworden ist, sollten Sie dem Benutzer nicht erlauben, das Produkt erneut zu kaufen: Der Benutzer hat von nun an lebenslangen Zugriff.
Bieten Sie einen Zugang mit verbrauchbaren In-App-Käufen
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "extra_health") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object: QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("extra_health")?.let { product-> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, startet man einen Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if(!error){ // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object : QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { // Successful purchase // Unlock content } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Um Inhalte freizuschalten, müssen Sie keine Berechtigungen prüfen. Stattdessen sollten Sie sich auf ein erfolgreiches Ergebnis verlassen, d.h. wenn kein Fehler auftritt. Hinweis: Die App muss sich den Status des gekauften Produkts merken, d.h. wie viele Einheiten gekauft wurden, und den Zugriff entsprechend freischalten. Wenn der Benutzer z.B. 50 Einheiten extra_health gekauft und dann 20 verbraucht hat, sollten Sie dies einkalkulieren und in Ihrer App den aktuellen Status von 30 Gesundheitseinheiten anzeigen. Es sind also nur noch 30 Einheiten übrig, die der Benutzer kaufen kann.
Fazit
In diesem Artikel haben wir uns genauer angesehen, wie Sie verbrauchbare und nicht verbrauchbare Einkäufe einrichten. Wie Sie sehen können, ist der Prozess ziemlich einfach. Sobald Sie In-App-Käufe implementiert haben, sollten Sie nicht vergessen, mit Hilfe von Analysetools zu messen, wie viel Umsatz jedes Ihrer Produkte einbringt. Wenn Sie mehr darüber erfahren möchten, wie Sie In-App-Käufe und Abonnements einrichten und analysieren können, lesen Sie bitte unsere Dokumentation oder schreiben Sie mir in unserem Slack-Kanal.
Wenn Sie Mobil-Apps entwickeln, möchten Sie wahrscheinlich Umsätze mit Ihrer App generieren. Laut dem neuesten Bericht von Sensor Tower gehören konsumierbare und nicht konsumierbare In-App-Käufe zu den am häufigsten verwendeten Monetarisierungsmechanismen – vor allem bei Spielen mit Ad Removal (Werbeunterdrückung). Spiele mit dieser Methode der Monetarisierung machen 90% aller Spiele aus. In diesem Artikel nehmen wir die Funktionen von In-App-Käufen genauer unter die Lupe, was der Unterschied zwischen konsumierbaren und nicht konsumierbaren IAPs ist und wie Sie sie mit Qonversion einrichten.
![](https://framerusercontent.com/images/P5aWLmqj1YXPTdFAVU4vKPPbo.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/sensor-tower-report.jpg)
Bericht zum Stand der Monetarisierung von Mobile Games
![Einrichten von verbrauchbaren](https://framerusercontent.com/images/WsE7RJXgzWwpiDVcw6qiqUdhkas.jpg)
Arten von In-App-Käufen
Unterschiede zwischen Google und Apple In-App-Käufen
Google macht bei der Erstellung eines Produkts keinen Unterschied zwischen nicht verbrauchbaren und verbrauchbaren In-App-Käufen. Apple verlangt jedoch von den Entwicklern, dass sie die Art des In-App-Kaufs in App Store Connect angeben:
![](https://framerusercontent.com/images/JoM4UOxY7ObkOduRVVesQmUWVMA.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/app-store-connect.jpg)
Wie Sie verbrauchbare und nicht verbrauchbare In-App-Käufe einrichten
Nehmen wir an, wir entwickeln ein Rennspiel für iOS und Android. Unsere App ermöglicht es den Nutzern, Premium-Rennstrecken freizuschalten (nicht verbrauchbarer Gegenstand, sobald eine Strecke gekauft wurde, hat der Nutzer für immer Zugang zu ihr) und zusätzliche Gesundheit für ein Auto zu kaufen (verbrauchbarer Gegenstand, der Nutzer sollte jedes Mal, wenn er sie braucht, Gesundheit kaufen können). Qonversion ermöglicht die Handhabung aller Arten von In-App-Käufen, einschließlich nicht abonnierter Produkte.
Das folgende Beispiel beschreibt den Prozess der Integration von In-App-Käufen in Mobil-Apps mit Qonversion.
Bevor wir mit der Erstellung von verbrauchbaren und nicht verbrauchbaren Einkäufen beginnen, stellen Sie sicher, dass Sie bereits einen Account bei Qonversion haben und Ihr Projekt erstellt und die App registriert haben.
Vorbereitung
Angenommen, wir haben bereits In-App-Käufe in Google Play Console und App Store Connect mit den folgenden IDs gespeichert: android_premium_track, android_extra_health und ios_premium_track, ios_extra_health. Lassen Sie uns Produkte im Qonversion Dashboard erstellen:
![](https://framerusercontent.com/images/YQ0wa2JaeSyIb9PcGKkQH8bkiKc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-product-1920x787.jpg)
2. Danach sollten wir eine Berechtigung erstellen und sie mit dem Produkt premium_track verknüpfen. Die Premium-Berechtigung schaltet den Zugriff auf den Track nach dessen Kauf frei.
![](https://framerusercontent.com/images/V37UfnSzCJnyv2MfUAWcsakCJk0.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-permission-1920x799.jpg)
3. Für das Produkt extra_health müssen wir keine Berechtigung erstellen. Lassen Sie uns außerdem ein Angebot erstellen, um die eingestellten Produkte aus der Ferne ändern zu können, ohne App-Updates zu veröffentlichen. Verknüpfen Sie die erstellten Produkte mit dem Angebot:
![](https://framerusercontent.com/images/LRXD6EfSZV32wbJMdyWf99h11oc.jpg)
![](https://qonversion.io/blog/wp-content/uploads/2022/03/new-offering-1920x1009.jpg)
Wie man einen lebenslangen Zugang mit nicht verbrauchbaren In-App-Käufen anbietet
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "premium_track") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object : QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("premium_track")?.let { product -> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } }
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, starten man den Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if let premium: Qonversion.Permission = permissions["premium"], premium.isActive { // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object: QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { val premiumPermission = permissions["premium"] if (premiumPermission != null && premiumPermission.isActive()) { // Successful purchase // Unlock premium content } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Jedes Mal, wenn Sie wissen möchten, ob der Benutzer Zugriff auf den Premium-Inhalt hat, sollten Sie die Methode checkPermissions() aufrufen. Sobald das Produkt erfolgreich gekauft wurde und die Berechtigung aktiv geworden ist, sollten Sie dem Benutzer nicht erlauben, das Produkt erneut zu kaufen: Der Benutzer hat von nun an lebenslangen Zugriff.
Bieten Sie einen Zugang mit verbrauchbaren In-App-Käufen
Produkte anzeigen
Zeigen Sie dem Benutzer Produkte zum Verkauf an:
iOS:
Qonversion.offerings { (offerings, error) in if (error != nil) { // Handle the error here } let offering = offerings?.offering(forIdentifier: "standard_offering") if let product = offering?.product(forIdentifier: "extra_health") { // Display the product for sale } }
Copy
Android:
Qonversion.offerings(object: QonversionOfferingsCallback { override fun onSuccess(offerings: QOfferings) { val offering = offerings.offeringForID("standard_offering") offering?.productForID("extra_health")?.let { product-> // Display the product for sale } } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Einkäufe tätigen
Wenn der Benutzer bereit ist, das Produkt zu kaufen, startet man einen Kaufvorgang mit der folgenden Methode:
iOS:
Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in if(!error){ // Successful purchase // Unlock premium content } }
Copy
Android:
Qonversion.purchase(context, product, callback = object : QonversionPermissionsCallback { override fun onSuccess(permissions: Map<String, QPermission>) { // Successful purchase // Unlock content } override fun onError(error: QonversionError) { // Handle the error here } })
Copy
Um Inhalte freizuschalten, müssen Sie keine Berechtigungen prüfen. Stattdessen sollten Sie sich auf ein erfolgreiches Ergebnis verlassen, d.h. wenn kein Fehler auftritt. Hinweis: Die App muss sich den Status des gekauften Produkts merken, d.h. wie viele Einheiten gekauft wurden, und den Zugriff entsprechend freischalten. Wenn der Benutzer z.B. 50 Einheiten extra_health gekauft und dann 20 verbraucht hat, sollten Sie dies einkalkulieren und in Ihrer App den aktuellen Status von 30 Gesundheitseinheiten anzeigen. Es sind also nur noch 30 Einheiten übrig, die der Benutzer kaufen kann.
Fazit
In diesem Artikel haben wir uns genauer angesehen, wie Sie verbrauchbare und nicht verbrauchbare Einkäufe einrichten. Wie Sie sehen können, ist der Prozess ziemlich einfach. Sobald Sie In-App-Käufe implementiert haben, sollten Sie nicht vergessen, mit Hilfe von Analysetools zu messen, wie viel Umsatz jedes Ihrer Produkte einbringt. Wenn Sie mehr darüber erfahren möchten, wie Sie In-App-Käufe und Abonnements einrichten und analysieren können, lesen Sie bitte unsere Dokumentation oder schreiben Sie mir in unserem Slack-Kanal.
Start Now for Free
Or book a demo with our team to learn more about Qonversion
Start Now for Free
Or book a demo with our team to learn more about Qonversion
Start Now for Free
Or book a demo with our team to learn more about Qonversion
Read more
Read more
![Trash Panda App partners with Qonversion](https://framerusercontent.com/images/fIjbGE1BlBzu0OZK7vCihIvo.webp)
Trash Panda Maximizes App Revenue after Setting the Best Subscription Price with A/B Tests
Jul 8, 2024
Jul 8, 2024
![StyleDNA with Qonversion](https://framerusercontent.com/images/0CYKPTzYfOn6vdokDrwSoFR4c.webp)
How StyleDNA Saved 20% Development Time and Unlocked New Features
Jun 19, 2024
Jun 19, 2024
![WWDC 24 updates](https://framerusercontent.com/images/OFmq7UmE6o7QKdnnbRBNKtgo.png)
WWDC24 Updates for App Developers | What's new in Storekit 2 and App Store Server API?
Jun 17, 2024
Jun 17, 2024
![Parenting by Iben Sandahl uses Qonversion](https://framerusercontent.com/images/qJ2twjlmMxXqQ2MggeZqrVbB580.webp)
How A/B Testing with Qonversion Helped Iben Sandahl’s Parenting App Double Their Sales
Jun 13, 2024
Jun 13, 2024
![Trash Panda App partners with Qonversion](https://framerusercontent.com/images/fIjbGE1BlBzu0OZK7vCihIvo.webp)
Trash Panda Maximizes App Revenue after Setting the Best Subscription Price with A/B Tests
Jul 8, 2024
Jul 8, 2024
![StyleDNA with Qonversion](https://framerusercontent.com/images/0CYKPTzYfOn6vdokDrwSoFR4c.webp)
How StyleDNA Saved 20% Development Time and Unlocked New Features
Jun 19, 2024
Jun 19, 2024
![WWDC 24 updates](https://framerusercontent.com/images/OFmq7UmE6o7QKdnnbRBNKtgo.png)
WWDC24 Updates for App Developers | What's new in Storekit 2 and App Store Server API?
Jun 17, 2024
Jun 17, 2024