So geht's: Konfiguriere deine Website für die Verwendung von In-App-Käufen

Aktualisiert am 18. Februar 2024 von Jan Bunk


In App Kauf Produkte erstellen

Du kannst diese Anleitungen befolgen, um In-App-Käufe und Abonnements zu erstellen:

Möglicherweise wirst du aufgefordert, einige zusätzliche Informationen einzugeben, um Zahlungen in deinem Entwicklerkonto zu ermöglichen.

Da du auf jeder Plattform ein Produkt für den In-App-Kauf erstellen musst, solltest du auf beiden Plattformen dieselbe Produkt-ID verwenden, damit das Auslösen des In-App-Kaufs per Javascript einfacher ist (siehe unten).

Einen In-App-Kauf auslösen

Als Erstes wirst du wahrscheinlich überprüfen wollen, ob der aktuelle Nutzer deine App verwendet, denn ein normaler Browser-Nutzer kann keine In-App-Käufe tätigen.

Du kannst getAppPlatform() != nullmit dem App-Helfer-Skript verwenden.

Wenn der Nutzer deine App verwendet, kannst du das folgende Javascript verwenden, um einen In-App-Kauf auszulösen.

Schau dir gerne auch die executeWhenAppReady() Funktion von unser App-Helfer-Skript. Es stellt sicher, dass deine Website nicht versucht, mit der App zu interagieren, bevor sie bereit ist oder wenn deine Website mit einem normalen Browser geladen wird (ReferenceError, Funktion ist nicht definiert).

<script>
    try {
        // productId is the ID you specified for the in app purchase product in App Store Connect and the Google Play Console
        // consumable is a boolean value that indicates whether the product can be purchased multiple times (consumable==true) or just once (consumable==false)
        // subscriptions should use consumable==false
        // userIdentifier can be any string that identifies the current user.
        // The userIdentifier will be sent to your server's unlocking endpoint if the purchase is successful (so you can then unlock the product that was bought on your server)
        resultingStatus = await makeInAppPurchase(productId, consumable, userIdentifier)["status"];
        
        switch (resultingStatus) {
            case "failed":
                // The purchase failed, for example due to an error while verifying the purchase
                break;
            case "canceled":
                // The user canceled the purchase, for example by pressing the back button
                break;
            case "completed":
                // The purchase was successful
                break;
        }
    } catch (e) {
        // Some kind of error occurred, e.g. the given productId is invalid
    }
</script>
    

Während du auf die Funktion wartest, wird der Nutzer auf einem Bildschirm sein, der von der App bereitgestellt wird. Die JavaScript-Funktion wird zurückkehren, sobald der Kauf abgeschlossen ist, sodass du dann die Seite neu laden oder die Benutzeroberfläche nach Bedarf aktualisieren kannst. Sobald der Nutzer den nativen App-Bildschirm schließt, kehrt er zu deiner Website zurück.

Ein Screenshot der App, die auf den Abschluss des In-App-Kaufs wartet.

Wiederherstellung von In-App-Käufen

Schau dir gerne auch die executeWhenAppReady() Funktion von unser App-Helfer-Skript. Es stellt sicher, dass deine Website nicht versucht, mit der App zu interagieren, bevor sie bereit ist oder wenn deine Website mit einem normalen Browser geladen wird (ReferenceError, Funktion ist nicht definiert).

Du kannst deinen Nutzern auch die Option "Käufe wiederherstellen" anbieten.


<script>
    restorePurchases()
</script>
    

Normalerweise ist die Wiederherstellung von Käufen notwendig, wenn Nutzer die App deinstallieren und auf einem neuen Gerät wieder installieren. Dann können sie ihre früheren Einkäufe wiederherstellen. Du speicherst die Informationen und Einkäufe der Nutzer aber bereits auf deinem Server, der unabhängig vom Gerät der Nutzer ist.

Wir bieten dir trotzdem die Möglichkeit, eine Funktion zum Wiederherstellen von Käufen zu integrieren, in der Hoffnung, dass sie unter anderen Umständen nützlich sein könnte, z.B. wenn bei der Überprüfung und Freischaltung eines Kaufs etwas schief gelaufen ist.

Nächste Schritte

Nachdem ein Nutzer einen Kauf in der App abgeschlossen hat, muss der Kauf auf einem Server verifiziert werden und bei erfolgreicher Verifizierung müssen die gekauften Inhalte auf deinem Server freigeschaltet werden.

Bitte schau in deine Einstellungen für In-App-Käufe für weitere Informationen und Anleitungen.