Altova MobileTogether Designer

In den vorhergehenden Kapiteln dieses Abschnitts wurden die Hauptkomponenten des In-App-Kauf-Mechanismus von MobileTogether Designer beschrieben. In diesem Kapitel werden die anderen Schlüsselkomponenten des Mechanismus aufgelistet und kurz erläutert.

 

Überprüfung der Verfügbarkeit des In-App-Kauf-Diensts

Mit Hilfe einer Funktion namens mt-in-app-purchase-service-started() können Sie überprüfen, ob der In-App-Kauf-Dienst auf dem Client-Gerät gestartet wurde. Nähere Informationen dazu finden Sie unter MobileTogether-Erweiterungsfunktionen und Beispielprojekt: Verfügbarkeit des In-App-Diensts.

 

Überprüfen der App Store-Antwort auf den letzten In-App-Kauf

Um den Erfolg des letzten Request an den App Store im Zusammenhang mit einem In-App-Kauf zu überprüfen, stehen die folgenden MobileTogether-Erweiterungsfunktionen zur Verfügung:

 

mt-last-in-app-purchase-response-code()

mt-last-in-app-purchase-response-text()

mt-last-in-app-purchase-response-was-user-canceled()

 

Dadurch können Sie den nächsten Schritt im Workflow vom Erfolg des aktuellen Schritts abhängig machen. Ein Beispiel dafür sind die Aktionen des BeiKaufAktualisiert-Ereignisses im Beispielprojekt. Mit Hilfe dieser Funktionen können Sie die Antwort des App Store auf den letzten an den Store gesendeten Request im Zusammenhang mit einem In-App-Kauf abrufen.

 

Ein App Store kann, je nach App Store, mit beliebig vielen Responses antworten. Der Code 0 bedeutet, dass der Vorgang erfolgreich war. Mit den anderen Codes werden verschiedene Arten von Fehlern angezeigt. Nähere Informationen über den Fehler würden Sie mit Hilfe der Funktion, die eine Textantwort zurückgibt, erhalten. Es gibt jedoch eine Art von Fehler, die anders behandelt werden sollte, da es sich hierbei nicht um einen Fehler handelt, nämlich wenn der Endbenutzer einen Kauf abbricht. Um diese Art von Fehler beim Kauf zu unterscheiden, gibt es in MobileTogether die Funktion mt-last-in-app-purchase-response-was-user-canceled.

 

BeiKaufAktualisiert: Wenn ein App Store einen Kauf-Request annimmt

Wenn ein App Store einen Kauf-Request annimmt, wird der Kauf automatisch zur In-App-Kauf-Seitenquelle hinzugefügt. Der Kauf wird (in der Seitenquelle) aktualisiert und das BeiKaufAktualisiert-Ereignis wird ausgelöst. Für das Ereignis kann eine Sequenz von Aktionen definiert werden, wodurch Aktionen nahtlos und ohne Benutzer-Input ausgeführt werden können, nachdem der Kauf-Request angenommen wurde. So könnten Sie einen Kauf z.B. direkt, nachdem er akzeptiert wurde, bestätigen (siehe nächstes Kapitel). Um das Aktionsdialogfeld des Ereignisses aufzurufen, gehen Sie zur Projekteigenschaft In-App-Kauf-Aktionen.

 

Beachten Sie die folgenden Punkte zu den Aktionen des BeiKaufAktualisiert-Ereignisses:

 

Während die Aktionen des BeiKaufAktualisiert-Ereignisses verarbeitet werden, befindet sich die Variable \$MT_UpdatedInAppPurchases im Geltungsbereich. Die Variable enthält eine Sequenz von Strings, die die SKU_IDs gekaufter Produkte, die in der In-App-Kauf-Seitenquelle aktualisiert wurden, sind. Wenn daher ein Objekt gekauft wurde, kann seine SKU_ID mit dem XPath-Ausdruck \$MT_UpdatedInAppPurchases[1] abgerufen werden. Die Variable befindet sich nach Verarbeitung der Aktionen des Ereignisses nicht mehr im Geltungsbereich. Das bedeutet, dass die Variable nur in Aktionen des BeiKaufAktualisiert-Ereignisses verwendet werden kann.

In der In-App-Kauf-Seitenquelle, hat jedes Purchase-Element ein PurchaseState-Attribut, das entweder den Wert PENDING oder PURCHASED erhält. Sie können Ihren Workflow entsprechend anpassen, um diesen Status zu berücksichtigen.

 

Ein Beispiel dafür, (i) welche Arten von Aktionen für das BeiKaufAktualisiert-Ereignis definiert werden können und (ii) wie Sie die Variable \$MT_UpdatedInAppPurchases verwenden können, finden Sie im Beispielprojekt unter der Beschreibung dieses Ereignisses: Das BeiKaufAktualisiert-Ereignis.

 

Aktivieren des Produkts

Aktivieren Sie das erworbene Produkt in der App. Nachdem Sie den Kaufstatus, die Gültigkeitsdauer des Abos, mögliche Stornos, usw., des Kaufs überprüft haben, müssen Sie das Produkt entsprechend aktivieren. Dies ist ein Schritt, den Sie, als Designer der App durchführen müssen; MobileTogether kann dies nicht automatisch für Sie tun.

 

Kauf bestätigen

Nachdem der Endbenutzer ein Produkt erfolgreich über einen In-App-Kauf erworben hat, akzeptiert der App Store den Request und sendet Informationen über den Kauf an die App. Bei Erhalt dieser Informationen muss der Kauf von Seiten der App bestätigt werden. Dies sollte von Ihnen als App-Designer im Hintergrund so implementiert werden, dass der Endbenutzer dabei gar nicht aktiv involviert ist. Nach der Bestätigung kann die App die vom App Store erhaltenen Informationen verarbeiten, um herauszufinden, ob der Kauf in Ordnung ist und von der Seite des Verkäufers abgeschlossen werden kann. Hier haben Sie als Designer die Gelegenheit, verschiedene Aspekte des Kaufs zu überprüfen. In der Dokumentation der App Stores erfahren Sie, was Sie überprüfen sollten, bevor Sie den Kauf bestätigen. Lesen Sie daher bitte die entsprechenden App Store-Informationen dazu, bevor Sie sich entscheiden, welche Schritte Sie vor der Bestätigung setzen möchten. Der App Store verarbeitet die Zahlung erst, nachdem Sie den Kauf bestätigt haben und leitet diese an das Konto des Produkteigentümers weiter.

 

Ein Kauf wird mit Hilfe der MobileTogether-Aktion Kauf bestätigen bestätigt. Es empfiehlt sich, diese Aktion im Rahmen der Aktionen, die bei Auslösung des BeiKaufAktualisiert-Ereignisses ausgeführt werden (siehe vorheriger Abschnitt oben) zu integrieren.

 

Nähere Informationen zu dieser Aktion finden Sie in der Beschreibung der "Kauf bestätigen"-Aktion und ihrer Implementierung im Beispielprojekt.

 

Abfragen von Kaufdaten vom Store

Sie können den App Store nach allen vom aktuellen Benutzer getätigten Käufen abfragen. Dies geschieht mit Hilfe der Aktion "Käufe abfragen". Bei Ausführung der Aktion sendet der App Store Daten über die Käufe des Benutzers zurück und wichtige Datenpunkte werden im Element Purchases der In-App-Kauf-Seitenquelle gespeichert. Jeder Kauf wird in einem eigenen Purchase-Element gespeichert. Sie können diese Kaufinformationen dann im Workflow der App verwenden. Nähere Informationen dazu finden Sie unter der Beschreibung der Aktion "Käufe abfragen" und in der Beschreibung der "Query Purchases"-Schaltfläche im Beispielprojekt.

 

Käufe wiederherstellen (nur iOS)

Der Apple Store zeichnet alle Käufe eines Endbenutzers auf, sodass der Endbenutzer alle diese Käufe jederzeit auf einem iOS-Gerät wiederherstellen kann. Mit Hilfe der Aktion "Käufe wiederherstellen" kann der Apple Store nach allen Käufen eines Endbenutzers abgefragt werden. Die zurückgesendeten Daten werden im Element Purchases der In-App-Kauf-Seitenquelle gespeichert, wobei jeder Kauf in einem eigenen Purchase-Element gespeichert wird. Sie können diese Kaufinformationen dann im Workflow der App verwenden. Nähere Informationen dazu finden Sie unter der Beschreibung der Aktion "Käufe wiederherstellen" und in der Beschreibung der "Restore Purchases"-Schaltfläche im Beispielprojekt.

 

Guthaben abrufen/melden (nur Windows)

Nachdem ein Verbrauchsartikel (Consumable) erworben wurde, kann es in der App verbraucht werden. Im Fall von Windows-Apps bietet der Windows App Store eine Option, um Buch über das aktuelle Guthaben des Benutzers zu führen. Zu diesem Zweck steht die Aktion "Guthaben abrufen/melden" zur Verfügung. Sie können damit das aktuelle Guthaben vom Windows App Store abrufen und dem Windows App Store das verbrauchte Guthaben melden. Nähere Informationen dazu finden Sie in der Beschreibung der Aktion.

 

Anmerkung:Es ist Ihre Aufgabe, den aktuellen Guthabenstand zu überprüfen, v.a. bei iOS und Android, wo der jeweilige App Store nicht wie der Windows App Store, eine Möglichkeit bietet, um den Guthabenstand aufzuzeichnen.

 

Aufzeichnen des Aktivierungsstatus des Produkts

Es ist Ihre Aufgabe, festzustellen, ob ein Produkt zu einem bestimmten Zeitpunkt in der App aktiv ist. Diese Entscheidung basiert auf den folgenden Faktoren:

 

dem PurchaseState (Kaufstatus) des Produkts laut App Store

im Fall von Verbrauchsartikeln dem aktuellen Guthabenstand Sie müssen diesen in Ihrer App auf aktuellem Stand halten.

bei Abos dem aktuellen Status des Abos in Hinsicht auf Beginndatum und Abozeitraum

allen anderen Faktoren, die sich auf den Aktivierungsstatus des Produkts auswirken, wie z.B. einem kostenlosen Verlängerungszeitraum für ein Abo

 

REST-Schnittstellen

Sie können auch REST-Schnittstellen verwenden, sofern diese auf den entsprechenden Plattformen unterstützt werden. Die Verwendung von REST-Schnittstellen mit AppStore Apps auf Android wurde getestet. Die Dokumentation zu diesen Schnittstellen finden Sie hier: https://developers.google.com/android-publisher/api-ref/rest.

 

© 2017-2023 Altova GmbH