Verkaufe Abonnements

Sell subscriptions

Willkommen zu unserem Artikel über den Verkauf von Abonnements! In diesem Artikel werden wir besprechen, wie du Veranstaltungen im Abonnement-Modell wie Verlängerungen und Auslaufen verwalten kannst. Außerdem werden wir weitere Funktionen von Abonnements behandeln, wie z.B. die Möglichkeit, Promotionen anzubieten und den Benutzern die Verwaltung ihrer eigenen Abonnements zu ermöglichen.

Überblick über Abonnements

Ein Abonnement ermöglicht es Benutzern, während eines festgelegten Zeitraums auf verschiedene Vorteile zuzugreifen. Zum Beispiel könnte ein Abonnement einem Benutzer den Zugriff auf einen Musik-Streaming-Dienst ermöglichen.

Du kannst innerhalb einer App mehrere Abonnements haben, entweder um verschiedene Vorteile darzustellen oder um verschiedene Stufen eines einzigen Vorteilspakets (“Silber” und “Gold” Stufen zum Beispiel) darzustellen.

Durch Basispläne und Angebote kannst du mehrere Konfigurationen für dasselbe Abonnementprodukt erstellen. Zum Beispiel kannst du ein Einführungsangebot für Benutzer erstellen, die noch nie ein Abonnement für deine App abgeschlossen haben. Ebenso kannst du ein Upgrade-Angebot für Benutzer erstellen, die bereits ein Abonnement haben.

Integration von Prepaid-Plänen

Prepaid-Pläne werden nicht automatisch erneuert, wenn sie ablaufen. Um ihre Abonnementberechtigung ohne Unterbrechung zu verlängern, muss der Benutzer einen Prepaid-Plan für dasselbe Abonnement aufladen.

Für das Aufladen startest du den Abrechnungsprozess genauso wie beim ursprünglichen Kauf. Du musst nicht angeben, dass es sich um ein Aufladen handelt.

Prepaid-Plan-Aufladungen verwenden immer den Modus CHARGE_FULL_PRICE und du musst diesen Modus nicht explizit einstellen. Dem Benutzer werden sofort die vollen Kosten für einen Abrechnungszeitraum in Rechnung gestellt und seine Berechtigung wird um die im Aufladungszeitraum angegebene Dauer verlängert.

Nach einer Aufladung werden die folgenden Felder im “Purchase result” Objekt aktualisiert, um den zuletzt erfolgten Aufladekauf widerzuspiegeln:

  • Bestellnummer
  • Kaufzeitpunkt
  • Signatur
  • Kauf-Token
  • Bestätigt

Die folgenden Felder im “Purchase” Objekt enthalten immer dieselben Daten wie beim ursprünglichen Kauf:

  • Paketname
  • Kaufstatus
  • Produkte
  • Automatische Verlängerung

Bestätigung von Prepaid-Käufen

Ähnlich wie bei automatisch verlängerbaren Abonnements musst du auch Prepaid-Pläne nach dem Kauf bestätigen. Sowohl der Erstkauf als auch alle Aufladungen müssen bestätigt werden. Weitere Informationen findest du in der Dokumentation zur Kaufabwicklung.

Aufgrund möglicherweise kurzer Laufzeiten von Prepaid-Plänen ist es wichtig, den Kauf so schnell wie möglich zu bestätigen.

Prepaid-Pläne mit einer Laufzeit von einer Woche oder länger müssen innerhalb von drei Tagen bestätigt werden.

Prepaid-Pläne mit einer Laufzeit von weniger als einer Woche müssen innerhalb der halben Laufzeit bestätigt werden. Zum Beispiel haben Entwickler 1,5 Tage Zeit, um einen dreitägigen Prepaid-Plan zu bestätigen.

Warnung: Wenn ein Benutzer mit einem Prepaid-Plan eine Aufladung kauft und du den Kauf nicht innerhalb des entsprechenden Zeitraums bestätigst, wird der Aufladekauf widerrufen, das restliche Abonnement wird widerrufen und storniert und dem Benutzer wird eine Rückerstattung ausgestellt.

Verwende Deep Links, um Benutzern die Verwaltung eines Abonnements zu ermöglichen

Deine App sollte einen Link auf einem Einstellungs- oder Präferenzbildschirm enthalten, der Benutzern ermöglicht, ihre Abonnements zu verwalten. Diesen Link kannst du in das natürliche Erscheinungsbild deiner App integrieren.

Du kannst einen Deep Link von deiner App zum Google Play Abonnement-Center für nicht abgelaufene Abonnements einfügen, was du anhand des subscriptionState-Feldes der Abonnement-Ressource feststellen kannst. Basierend darauf gibt es mehrere Möglichkeiten, wie du tief in das Play Store Abonnement-Center verlinken kannst.

Verlinke zum Abonnement-Center

Verwende die folgende URL, um Benutzer auf die Seite zu leiten, die alle ihre Abonnements anzeigt, wie in Abbildung 1 und 2 dargestellt:

https://play.google.com/store/account/subscriptions

Diese Deep-Link könnte nützlich sein, um einem Benutzer zu helfen, ein gekündigtes Abonnement aus dem Play Store Abonnement-Center wiederherzustellen.

Verlinke zu einer bestimmten Abonnement-Management-Seite (empfohlen)

Um direkt zur Management-Seite für ein nicht abgelaufenes Abonnement zu verlinken, gib den Paketnamen und die Produkt-ID des gekauften Abonnements an. Um die Produkt-ID für ein vorhandenes Abonnement zu ermitteln, frage deine App-Backend ab oder rufe BillingClient.queryPurchasesAsync() für eine Liste der Abonnements ab, die einem bestimmten Benutzer zugeordnet sind. Jedes Abonnement enthält die entsprechende Produkt-ID als Teil der Abonnementstatus-Informationen. Jeder SubscriptionPurchaseLineItem, der einem Abonnementkauf zugeordnet ist, enthält den Produkt-ID-Wert, der dem Abonnement in diesem Line-Item entspricht.

Verwende die folgende URL, um Benutzer auf eine bestimmte Abonnement-Management-Seite zu leiten, wobei “your-sub-product-id” und “your-app-package” durch die Produkt-ID und das Paketnamen deiner App ersetzt werden:

https://play.google.com/store/account/subscriptions?sku=your-sub-product-id&package=your-app-package

Der Benutzer kann dann seine Zahlungsmethoden verwalten und Funktionen wie Kündigung, Wiederabonnement und Pause nutzen.

Codebeispiele für Abonnement-Management-Links findest du in der Beispiel-App Classy Taxi.

Ermögliche Benutzern ein Upgrade, ein Downgrade oder eine Änderung ihres Abonnements

Du kannst bestehenden Abonnenten verschiedene Optionen bieten, um ihr Abonnement an ihre Bedürfnisse anzupassen:

  • Wenn du mehrere Abonnementstufen anbietest, wie zum Beispiel “Basis” und “Premium” Abonnements, kannst du Benutzern ermöglichen, zwischen den Stufen zu wechseln, indem sie den Basisplan oder ein Angebot eines anderen Abonnements kaufen.
  • Du kannst Benutzern ermöglichen, den aktuellen Abrechnungszeitraum zu ändern, z.B. von einem monatlichen auf einen jährlichen Plan umzusteigen.
  • Du kannst Benutzern auch ermöglichen, zwischen automatisch verlängerbaren und Prepaid-Plänen zu wechseln.

Du kannst diese Änderungen fördern, indem du Abonnementangebote anbietest, die berechtigten Benutzern einen Rabatt gewähren. Zum Beispiel könntest du ein Angebot erstellen, das einen 50% Rabatt auf das erste Jahr bietet, wenn Benutzer von einem monatlichen auf einen jährlichen Plan wechseln, und dieses Angebot auf Benutzer beschränken, die ein monatliches Abonnement haben und dieses Angebot noch nicht gekauft haben. Weitere Informationen zu den Kriterien für die Angebotseignung findest du im Hilfe-Center.

Abbildung 3 zeigt eine Beispiel-App mit drei verschiedenen Plänen:

Bild 3
Abbildung 3. Diese App hat drei Abonnementstufen.

Deine App könnte einen Bildschirm ähnlich Abbildung 3 anzeigen, auf dem Benutzer Optionen zum Ändern ihres Abonnements gegeben werden. In allen Fällen sollten Benutzern klar sein, welchen Abonnementplan sie derzeit haben und welche Möglichkeiten sie haben, ihn zu ändern.

LESEN  Kettler: Hochwertige Gartenmöbel für Ihre Freizeit

Wenn Benutzer sich entscheiden, ein Upgrade, ein Downgrade oder eine Änderung ihres Abonnements durchzuführen, musst du einen Ersatzmodus angeben, der bestimmt, wie der anteilige Wert des aktuellen gezahlten Abrechnungszeitraums angewendet wird und wann eine Änderung der Berechtigung erfolgt.

Ersatzmodi
Die folgende Tabelle listet die verfügbaren Ersatzmodi und deren Beispielverwendung auf.

Ersatzmodus
Beschreibung
Beispielverwendung

WITH_TIME_PRORATION
Das Abonnement wird sofort aufgewertet oder abgewertet. Die verbleibende Zeit wird basierend auf dem Preisdifferenz anteilig angepasst und zum neuen Abonnementdatum weitergeschoben. Dies ist das Standardverhalten.

Aufwertung zu einer teureren Stufe ohne zusätzliche sofortige Zahlung.

CHARGE_PRORATED_PRICE
Das Abonnement wird sofort aufgewertet und der Abrechnungszyklus bleibt gleich. Die Preisdifferenz für den verbleibenden Zeitraum wird dann dem Benutzer in Rechnung gestellt.

Hinweis: Diese Option ist nur für ein Upgrade des Abonnements verfügbar, bei dem der Preis pro Zeiteinheit steigt.

Aufwertung zu einer teureren Stufe, ohne das Abrechnungsdatum zu ändern.

CHARGE_FULL_PRICE
Das Abonnement wird sofort aufgewertet oder abgewertet und der Benutzer wird sofort den vollen Preis für die neue Berechtigung belastet. Der verbleibende Wert des vorherigen Abonnements wird entweder für dieselbe Berechtigung übernommen oder anteilig für die Zeit beim Wechsel zu einer anderen Berechtigung berechnet.

Aufwertung von kürzerer auf längere Abrechnungsperiode.

WITHOUT_PRORATION
Das Abonnement wird sofort aufgewertet oder abgewertet und der neue Preis wird bei der nächsten Verlängerung des Abonnements berechnet. Der Abrechnungszyklus bleibt gleich.

Aufwertung zu einer höheren Abonnementstufe bei Beibehaltung der verbleibenden kostenlosen Periode.

DEFERRED
Das Abonnement wird erst aufgewertet oder abgewertet, wenn das Abonnement erneuert wird, aber der neue Kauf erfolgt sofort mit einem Startdatum in der Zukunft für die neue Berechtigung, damit der Entwickler den Benutzern bei Bedarf weitere Änderungen ermöglichen kann. Zum Beispiel können sie zum ursprünglichen Plan zurückkehren oder einen neuen verzögerten Planwechsel initiieren.

Abwertung zu einer günstigeren Stufe.

Hinweis: In Play Billing Library Version 5 und niedriger wurden Ersatzmodi durch ProrationMode dargestellt. Der neue ReplacementMode-Enum enthält äquivalente Modi für alle Proportionsmodi. ReplacementMode.DEFERRED enthält einige Verbesserungen, um die Verwaltung verzögerter Planänderungen zu vereinfachen. Die Benutzererfahrung ist genau die gleiche. Weitere Informationen findest du im Abschnitt Replacement-Beispiele und -Verhalten.

Um mehr über verschiedene Upsell- und Rückgewinnungsanwendungen von Upgrade- oder Downgrade-Angeboten zu erfahren, lese den Leitfaden zu Angeboten und Promotionen.

Setze den Ersatzmodus für einen Kauf

Du kannst für verschiedene Arten von Abonnementübergängen unterschiedliche Ersatzmodi verwenden, basierend auf deinen Vorlieben und deiner Geschäftslogik. In diesem Abschnitt erklären wir, wie du einen Ersatzmodus für eine Änderung eines Abonnements festlegst und welche Einschränkungen gelten.

Erneutes Abonnement oder Umschalten der Pläne innerhalb desselben Abonnements
Du kannst einen Standard-Ersatzmodus in der Google Play Console festlegen. Diese Einstellung ermöglicht es dir zu wählen, wann du aktiven Abonnenten Gebühren berechnest, wenn sie einen anderen Basisplan oder ein anderes Angebot für dasselbe Abonnement kaufen oder nach einer Kündigung erneut abonnieren. Die verfügbaren Optionen sind “Sofort belasten” (entspricht CHARGE_FULL_PRICE) und “Am nächsten Abrechnungsdatum belasten” (entspricht WITHOUT_PRORATION). Dies sind die einzigen relevanten Ersatzmodi bei einem Wechsel der Basispläne innerhalb desselben Abonnements.

In Play Billing Library Version 2.0 und höher kannst du außerdem einen Ersatzmodus für einen bestimmten Abonnementwechselwert festlegen, indem du den “ProrationMode” in den “BillingFlowParams” festlegst. Der ProrationMode kann auf die Werte “IMMEDIATE_WITH_TIME_PRORATION” (entspricht WITH_TIME_PRORATION) und “IMMEDIATE_AND_CHARGE_PRORATED_PRICE” (entspricht CHARGE_PRORATED_PRICE) festgelegt werden. Beachte, dass diese Optionen nur für Android 9 (API-Niveau 28) und höher verfügbar sind.

Für einander äquivalente Abonnementwechsel, die innerhalb desselben Abonnements stattfinden (z.B. von Basic zu Premium), können die folgenden Prorationsmodi verwendet werden:

  • WITH_TIME_PRORATION: Der Benutzer erhält sofortigen Zugriff, während der gleiche Abrechnungszeitraum beibehalten wird.
  • CHARGE_PRORATED_PRICE: Das Abonnement wird sofort aufgewertet und der Abrechnungszyklus bleibt gleich. Die Preisdifferenz für den verbleibenden Zeitraum wird dann dem Benutzer in Rechnung gestellt.

Für einen Wechsel innerhalb desselben Abonnements zu einem Prepaid-Plan von entweder einem Prepaid-Plan oder einem automatisch verlängerbaren Plan ist nur der Prorationsmodus CHARGE_FULL_PRICE zulässig. Wenn du einen anderen Prorationsmodus angibst, schlägt der Kauf fehl und dem Benutzer wird ein Fehler angezeigt.

Für einen Wechsel innerhalb desselben Abonnements zu einem automatisch verlängerbaren Plan von einem Prepaid-Plan oder einem automatisch verlängerbaren Plan sind die gültigen Prorationsmodi CHARGE_FULL_PRICE und WITHOUT_PRORATION. Wenn du einen anderen Prorationsmodus angibst, schlägt der Kauf fehl und dem Benutzer wird ein Fehler angezeigt.

Beispiele und Verhalten von Ersatzmodi

Um zu verstehen, wie jeder Prorationsmodus funktioniert, betrachten wir das folgende Szenario:

Samwise hat ein Abonnement für Online-Inhalte von der Country Gardener App. Er hat ein monatliches Abonnement für die “Stufe 1”-Version des Inhalts, die nur Text enthält. Dieses Abonnement kostet ihn 2 Euro pro Monat und wird am Monatsanfang erneuert.

Am 15. April entscheidet sich Samwise, auf das jährliche Abonnement der “Stufe 2” umzusteigen, das Video-Updates enthält und 36 Euro pro Jahr kostet.

Wenn das Abonnement aufgewertet wird, wählt der Entwickler einen Prorationsmodus aus. Die folgende Liste beschreibt, wie jeder Prorationsmodus das Abonnement von Samwise beeinflusst:

WITH_TIME_PRORATION
Das “Stufe 1” Abonnement von Samwise endet sofort. Da er für einen vollen Monat (1.-30. April) bezahlt hat, erlischt die Hälfte eines Monatsabonnements (1 Euro) auf seinem neuen Abonnement. Da das neue Abonnement 36 Euro pro Jahr kostet, deckt das 1 Euro Guthaben nur 10 Tage ab (16.-25. April); also wird ihm am 26. April 36 Euro für ein neues Abonnement berechnet und in Zukunft jedes Jahr am 26. April.

Du solltest deinen APP-PurchasesUpdatedListener aufrufen, sobald der Kauf erfolgreich ist und du den neuen Kauf als Teil des queryPurchasesAsync()-Aufrufs abrufen kannst. Dein Backend erhält sofort eine SUBSCRIPTION_PURCHASED-Benachrichtigung in Echtzeit des Entwicklers (RTDN).

CHARGE_PRORATED_PRICE
Dieser Modus kann verwendet werden, da der Preis pro Zeiteinheit für das “Stufe 2” Abonnement (36 Euro/Jahr = 3 Euro/Monat) höher ist als der Preis pro Zeiteinheit für das “Stufe 1” Abonnement (2 Euro/Monat). Das “Stufe 1” Abonnement von Samwise endet sofort. Da er für einen vollen Monat bezahlt hat, aber nur die Hälfte genutzt hat, wird die Hälfte eines Monatsabonnements (1 Euro) auf sein neues Abonnement angerechnet. Da das neue Abonnement 36 Euro pro Jahr kostet, kostet der verbleibende 15 Tage 1,50 Euro. Daher wird ihm die Differenz von 0,50 Euro für sein neues Abonnement in Rechnung gestellt. Am 1. Mai wird Samwise 36 Euro für sein neues Abonnement der “Stufe 2” berechnet und jedes Jahr am 1. Mai danach.

LESEN  Ein köstliches Original Bruschetta Rezept mit Tomaten

Du solltest deinen APP-PurchasesUpdatedListener aufrufen, sobald der Kauf erfolgreich ist und du den neuen Kauf als Teil des queryPurchasesAsync()-Aufrufs abrufen kannst. Dein Backend erhält sofort eine SUBSCRIPTION_PURCHASED-Benachrichtigung in Echtzeit des Entwicklers (RTDN).

WITHOUT_PRORATION
Das “Stufe 1” Abonnement von Samwise wird sofort auf das “Stufe 2” Abonnement aufgewertet, ohne zusätzliche Kosten. Am 1. Mai wird ihm der normale Preis von 36 Euro für das Abonnement der neuen “Stufe 2” in Rechnung gestellt.

Du solltest deinen APP-PurchasesUpdatedListener aufrufen, sobald der Kauf erfolgreich ist und du den neuen Kauf als Teil des queryPurchasesAsync()-Aufrufs abrufen kannst. Dein Backend erhält sofort eine SUBSCRIPTION_PURCHASED-Benachrichtigung in Echtzeit des Entwicklers (RTDN).

CHARGE_FULL_PRICE
Das “Stufe 1” Abonnement von Samwise endet sofort. Sein “Stufe 2” Abonnement beginnt heute und er wird sofort mit dem vollen Preis für die neue Berechtigung belastet. Die verbleibenden Kosten des vorherigen Abonnements werden entweder für dieselbe Berechtigung übernommen oder anteilig für die Zeit berechnet, wenn er zu einer anderen Berechtigung wechselt. Er wechselt von einer kürzeren auf eine längere Abrechnungsperiode.

Du solltest deinen APP-PurchasesUpdatedListener aufrufen, sobald der Kauf erfolgreich ist und du den neuen Kauf als Teil des queryPurchasesAsync()-Aufrufs abrufen kannst. Dein Backend erhält sofort eine SUBSCRIPTION_PURCHASED-Benachrichtigung in Echtzeit des Entwicklers (RTDN).

Bei der Auswahl eines Prorationsmodus solltest du unsere Empfehlungen zur Ersatzmodus beachten.

Abonnementwechsel in der App auslösen

Deine App kann Benutzern ein Upgrade oder Downgrade durch die gleichen Schritte ermöglichen wie beim Start des Kaufvorgangs. Wenn du jedoch ein Upgrade oder Downgrade durchführst, musst du Details zum aktuellen Abonnement, zum zukünftigen (auf- oder abgewerteten) Abonnement und zum zu verwendenden Ersatzmodus angeben, wie im folgenden Beispiel gezeigt:

Ersetzungsmodusempfehlungen

Die folgende Tabelle zeigt verschiedene Prorations-Szenarien zusammen mit unseren Empfehlungen für jedes Szenario:

Szenario
Empfohlener Ersatzmodus
Ergebnis
Aufwertung zu einer teureren Stufe
CHARGE_PRORATED_PRICE
Der Benutzer erhält sofortigen Zugang und behält den gleichen Abrechnungszeitraum.
Abwertung zu einer günstigeren Stufe
DEFERRED
Der Benutzer hat bereits für die teureren Stufe bezahlt, daher behält er den Zugang bis zum nächsten Abrechnungsdatum bei.
Aufwertung in einem kostenlosen Testzeitraum und Beibehaltung des Tests
WITHOUT_PRORATION
Der Benutzer behält den kostenlosen Testzugang bei, wechselt aber für den restlichen Zeitraum zu einer höheren Stufe.
Aufwertung in einem kostenlosen Testzeitraum – Ende des Testzeitraums
CHARGE_PRORATED_PRICE
Der Benutzer erhält sofort Zugriff auf die neue Stufe, hat aber keinen kostenlosen Testzeitraum mehr.

Umgang mit Abonnementänderungskäufen

Änderungen des Plans sind für alle Zwecke neue Käufe und sollten als solche nach Abschluss des Abrechnungsprozesses behandelt und bestätigt werden. Zusätzlich zur ordnungsgemäßen Bearbeitung des neuen Kaufs musst du den Kauf, der ersetzt wird, einstellen.

Das in-App-Verhalten ist dasselbe wie bei jedem neuen Kauf. Deine App erhält das Ergebnis des neuen Kaufs in deinem PurchasesUpdatedListener und der neue Kauf ist in queryPurchasesAsync verfügbar.

Die Google Play Developer API gibt ein linkedPurchaseToken in der Abonnement-Ressource zurück, wenn ein Kauf einen vorhandenen Kauf ersetzt. Stelle sicher, dass das bereitgestellte Token im linkedPurchaseToken ungültig ist, um sicherzustellen, dass das alte Token nicht verwendet wird, um Zugriff auf deine Dienste zu erhalten. Siehe Upgrades, Downgrades und Wiederanmeldungen für Informationen zur Behandlung von Upgrade- und Downgrade-Käufen.

Wenn du das neue Kauftoken erhältst, folge dem gleichen Überprüfungsprozess wie beim Überprüfen eines neuen Kauftokens. Vergewissere dich, dass du diese Käufe mit BillingClient.acknowledgePurchase() aus der Google Play Billing Library oder Purchases.subscriptions:acknowledge aus der Google Play Developer API bestätigst.

Behandlung von verzögerten Änderungen

Mit dem verzögerten Ersatzmodus kannst du einem Benutzer ermöglichen, die restliche Berechtigung in seinem alten Plan zu nutzen, bevor er mit dem neuen Plan beginnt.

Wenn du für einen neuen Kauf den ReplacementMode.DEFERRED verwendest, gibt queryPurchasesAsync() ein neues Kauftoken zurück, das nach dem Kaufvorgang mit dem alten Produkt verknüpft bleibt, bis der verzögerte Ersatz beim nächsten Verlängerungsdatum erfolgt, wonach das neue Produkt zurückgegeben wird.

In der Vergangenheit konnte diese Benutzererfahrung mit ProrationMode.DEFERRED (veraltet) erreicht werden. ProrationMode.DEFERRED ist ab Play Billing Library 6 veraltet. Der neue ReplacementMode-Enum enthält äquivalente Modi für alle Modis des ProrationMode. ReplacementMode.DEFERRED bietet einige Verbesserungen, um die Verwaltung verzögerter Planänderungen einfacher zu machen. Die Benutzererfahrung ist genau dieselbe. Weitere Informationen findest du im Abschnitt “Beispiele und Verhalten bei Ersatz”.

Kundenverwaltung

Mithilfe von Echtzeit-Benachrichtigungen eines Entwicklers kannst du in Echtzeit erkennen, wenn ein Benutzer sich entscheidet, zu kündigen. Wenn ein Benutzer kündigt, aber sein Abonnement noch nicht abgelaufen ist, kannst du ihm Push-Benachrichtigungen oder In-App-Nachrichten senden, um ihn zur erneuten Anmeldung aufzufordern.

Nachdem ein Benutzer sein Abonnement gekündigt hat, kannst du versuchen, ihn entweder in deiner App oder über den Play Store zurückzugewinnen. Die folgende Tabelle beschreibt verschiedene Abonnement-Szenarien zusammen mit zugehörigen Rückgewinnungsmaßnahmen und App-Anforderungen.

Vor Ablauf des Abonnements Nach Ablauf des Abonnements In-App Im Play Store In-App Im Play Store Winback-Funktion In-App-Abonnement wiederherstellen In-App-Abonnement wieder anmelden Benutzer durchläuft den Kassevorgang Ja Nein Ja Ja Benutzer-Abonnement bleibt mit demselben SKU verbunden Benutzer kann sich für dasselbe oder ein anderes SKU anmelden Ja Benutzer kann sich für dasselbe oder ein anderes SKU anmelden Ja Erzeugt neues Kauftoken Ja Nein Ja Ja Standardmäßig aktiviert Nein Ja, Unterstützung für alle Entwickler erforderlich Nein

Apps ohne die Google Play Billing Library 2.0+: Nein

Apps mit der Google Play Billing Library 2.0+: Ja, Entwickler können in der Konsole optieren.

LESEN  Verkaufen auf Amazon: Alles, was du wissen musst!

Wenn der Benutzer aufgeladen wird

Wenn dasselbe SKU verwendet wird: Ende des aktuellen Abrechnungszeitraums.

Wenn ein anderes SKU verwendet wird: Hängt vom Prorationsmodus ab.

Implementierung erforderlich

Biete eine Neu-Anmeldung-Benutzeroberfläche in deiner App an.

Änderung in der Abonnementstatus erkennen

Tiefenlink in den Play Store

Biete eine Neu-Anmeldung-Benutzeroberfläche in deiner App an

Mit Kaufvorgängen außerhalb der App umgehen

Vor dem Ablauf des Abonnements – In der App

Für Abonnements, die gekündigt, aber noch nicht abgelaufen sind, kannst du den Abonnenten ermöglichen, ihr Abonnement innerhalb deiner App wiederherzustellen, indem du denselben In-App-Produktkaufvorgang wie für neue Abonnenten anwendest. Stelle sicher, dass deine Benutzeroberfläche anzeigt, dass der Benutzer bereits ein Abonnement hat. Zum Beispiel könntest du das aktuelle Ablaufdatum und den wiederkehrenden Preis des Benutzers mit einem “Reaktivieren”-Button anzeigen.

Die meiste Zeit möchte man dem Benutzer den gleichen Preis und die gleiche SKU anbieten, für die er bereits ein Abonnement hatte, wie folgt:

  • Starte einen neuen Abonnement-Kauf mit derselben SKU.
  • Das neue Abonnement ersetzt das alte und wird am selben Ablaufdatum erneuert. Das alte Abonnement wird sofort als abgelaufen markiert.

Wenn du dem Benutzer einen Rabatt anbieten möchtest, kannst du anstelle dessen dem Benutzer eine andere SKU anbieten:

  • Starte ein Upgrade oder Downgrade mit der anderen SKU und verwende den Ersatzmodus WITHOUT_PRORATION.
  • Das neue Abonnement ersetzt das alte und wird am selben Ablaufdatum erneuert. Der Benutzer wird am ursprünglichen Ablaufdatum mit dem Preis der neuen SKU, einschließlich etwaiger Einführungspreise, belastet. Wenn das alte Abonnement mit einer verschleierten Kontokennung erstellt wurde, sollte dieselbe Kennung an die BillingFlowParams für Upgrades und Downgrades übergeben werden.

Nachdem du das Kauftoken erhalten hast, bearbeite den Kauf genauso wie einen neuen Abonnementkauf. Zusätzlich gibt die Google Play Developer API ein linkedPurchaseToken in der Abonnement-Ressource zurück. Stelle sicher, dass das bereitgestellte Token im linkedPurchaseToken ungültig ist, um sicherzustellen, dass das alte Token nicht verwendet wird, um Zugriff auf deine Dienste zu erhalten.

Vor dem Ablauf des Abonnements – Im Play Store

Während das Abonnement gekündigt, aber noch aktiv ist, können Benutzer ihr Abonnement im Google Play-Abonnementcenter wiederherstellen, indem sie auf “ABONNIEREN” (früher “Wiederherstellen”) klicken. Dadurch bleibt dasselbe Abonnement und dasselbe Kauftoken erhalten.

Weitere Informationen zur Wiederherstellung von Abonnements findest du im Hilfe-Center.

Nach dem Ablauf des Abonnements – In der App

Du kannst abgelaufenen Abonnenten ermöglichen, sich innerhalb deiner App erneut anzumelden, indem du denselben In-App-Produktkaufvorgang wie für neue Abonnenten anwendest. Beachte Folgendes:

  • Um den Benutzern einen Rabatt anzubieten, möchtest du ihnen möglicherweise eine Produkt-ID mit spezieller Preisgestaltung für ihr Abonnement anbieten, auch als Winback SKU bezeichnet. Du kannst dem Benutzer die Angebot in deiner App anzeigen oder du kannst den Benutzer außerhalb der App, z.B. per E-Mail, über das Angebot informieren.
  • Um ein Winback-Abonnement zu starten, starte den Kaufvorgang in deiner Android-App mit der Google Play Billing Library. Es handelt sich dabei um den gleichen Prozess wie bei einem neuen Abonnement, aber du kannst die SKU festlegen, die für den Benutzer verfügbar ist.
  • Wenn du in deiner Winback-SKU eine kostenlose Testversion oder einen Einführungspreis anbieten möchtest, stelle sicher, dass der Benutzer berechtigt ist, indem du das Kontrollkästchen “Erlaube eine kostenlose Testversion pro App” im Google Play Console deaktivierst, das den Benutzer auf eine kostenlose Testversion pro App beschränkt.
  • Wenn der Benutzer sich für dieselbe SKU erneut anmeldet, ist er nicht mehr für kostenlose Testversionen oder Einführungspreise berechtigt. Stelle sicher, dass deine Benutzeroberfläche dies widerspiegelt.

Nachdem du das Kauftoken erhalten hast, bearbeite den Kauf genauso wie einen neuen Abonnementkauf. Du erhältst keine linkedPurchaseToken in der Abonnement-Ressource.

Nach dem Ablauf des Abonnements – Im Play Store

Wenn aktiviert, können Benutzer innerhalb des Play Store-Abonnementcenter ein Abonnement für bis zu ein Jahr nach Ablauf mit derselben SKU wieder abonnieren, indem sie auf “WIEDER ABONNIEREN” klicken. Dadurch wird ein neues Abonnement und ein neues Kauftoken generiert.

Das Wiederabonnieren gilt als Kauf außerhalb der App. Stelle sicher, dass du bewährte Verfahren für den Umgang mit Käufen außerhalb deiner App befolgst.

Deine Abonnements bewerben

Du kannst Promotion-Codes erstellen, um ausgewählten Benutzern eine erweiterte kostenlose Testphase für ein vorhandenes Abonnement zu geben. Weitere Informationen findest du in den Promo-Code Richtlinien.

Bei kostenlosen Testphasen prüft Google Play, ob der Benutzer über eine gültige Zahlungsmethode verfügt, bevor die kostenlose Testphase beginnt. Einige Benutzer können diese Überprüfung als Blockade oder Belastung auf ihrer Zahlungsmethode sehen. Diese Blockade oder Belastung ist vorübergehend und wird später rückgängig gemacht oder zurückerstattet.

Nach Ablauf der Testphase wird die Zahlungsmethode des Benutzers für den vollen Abonnementbetrag belastet.

Wenn ein Benutzer sein Abonnement zu einem beliebigen Zeitpunkt während der kostenlosen Testphase kündigt, bleibt das Abonnement bis zum Ende der Testphase aktiv und der Benutzer wird nicht bei Ablauf der kostenlosen Testphase belastet.

Abonnement kündigen, erstatten oder widerrufen

Du kannst die Google Play Developer API verwenden, um ein Abonnement zu kündigen, zu erstatten oder zurückzunehmen. Diese Funktion steht auch in der Google Play Console zur Verfügung.

  • Kündigen: Benutzer können ein Abonnement in Google Play kündigen. Du kannst Benutzern auch die Möglichkeit zur Kündigung in deiner App oder auf deiner Website anbieten. Deine App sollte diese Kündigungen wie in den Rücknahme-Richtlinien beschrieben behandeln.
  • Erstattung: Wenn du eine Erstattung vornimmst, kann der Benutzer weiterhin auf das Abonnement zugreifen. Erstattungen können z.B. verwendet werden, wenn ein technischer Fehler den Benutzer am Zugriff auf dein Produkt gehindert hat, der Fehler jedoch behoben wurde. Beachte, dass zum Erstatten von mehr als der letzten Zahlung oder wenn du eine teilweise Erstattung ausstellen möchtest, die Google Play Console verwendet werden muss.
  • Rückzug: Bei einem Rückzug verliert der Benutzer sofort den Zugriff auf das Abonnement. Dies kann verwendet werden, wenn z.B. ein technischer Fehler den Benutzer am Zugriff auf dein Produkt gehindert hat und der Benutzer das Produkt nicht weiter verwenden möchte. Deine App sollte diese Kündigungen wie in den Rücknahme-Richtlinien behandeln.

Die folgende Tabelle veranschaulicht die Unterschiede zwischen Kündigung, Erstattung und Rücknahme.

Beenden der automatischen Verlängerung
Geld erstatten
Zugriff widerrufen
Kündigen
Ja
Nein
Nein
Erstattung
Nein