Freigeben über


Einrichten eines In-App Kaufs mithilfe von PlayFab und dem Apple App Store

Dieses Tutorial enthält schrittweise Anleitungen zum Erstellen eines Apple App Store In-App Purchase (IAP)-Elements, zum Hinzufügen zu Ihrem Katalog in Game Manager und zum Führen von Spielern durch den Einlösungsprozess.

Voraussetzungen

  1. Ein Titel im PlayFab-Spiel-Manager.
  2. Eine vorhandene Integration zwischen dem ausgewählten Titel in PlayFab und dem Apple-App Store.
  3. Zugriff auf App Store Connect.
  4. Eine App, die bereits im App Store Connecterstellt wurde.
  5. Ein In-App-Kauf, der in Ihrer App im App Store Connect erstellt wurde. Ihr In-App-Kauf sollte Preise und Lokalisierung enthalten.
  6. Eine Zahlungswarteschlange mit dem entsprechenden Transaktionsbeobachter , der bereits Teil Ihrer App ist.

Schritt 1: Erstellen von Testbenutzern

Damit Sie einen Kauf ohne Realgeldzahlungen ordnungsgemäß testen können, erstellen Sie zunächst einen Testbenutzer für Ihre App.

  1. Navigieren Sie zum App Store Benutzerund Zugriff verbinden>.

  2. Wählen Sie Sandbox aus.

    Registerkartenoption

  3. Wählen Sie die Schaltfläche Pluszeichen (+) neben Testkonten aus.

  4. Füllen Sie das Formular aus, und wählen Sie Erstellen aus.

    Neues Testbenutzerformular

Schritt 2: Erstellen eines Bundles in Game Manager

Notiz

Stellen Sie vor dem Erstellen eines Bundles in Game Manager sicher, dass Sie die Elemente, die Sie dem Bündel in Ihrem Katalog hinzufügen möchten, bereits erstellt und veröffentlicht haben. In diesem Tutorial wird davon ausgegangen, dass Sie bereits ein Schwert namens Super Awesome Sword erstellt haben. Wenn Sie Anleitungen zum Erstellen eines Elements benötigen, lesen Sie diesen Schritt.

Um eine Marketplace-Zuordnung zwischen Game Manager und dem App Store Connect zu aktivieren, müssen Sie ein Bundle in Game Manager erstellen. Ein Bündel kann mehrere Elemente mit unterschiedlichen Mengen enthalten, und PlayFab fügt sie nach dem Einlösen dem Inventar des Spielers hinzu. Führen Sie die folgenden Schritte aus, um ein neues Bundle in Game Manager zu erstellen:

  1. Wechseln Sie zum Game Manager , und navigieren Sie zu Ihrem Titel.

  2. Wählen Sie im linken Navigationsmenü Engage>Wirtschaft aus.

  3. Wählen Sie die Registerkarte Bundles aus .

    Registerkarte

  4. Wählen Sie Neues Bündel aus.

  5. Fügen Sie dem Bundle alle gewünschten Informationen hinzu, z. B. Artikel und Preise. Verwenden Sie in diesem Tutorial Super Awesome Sword Bundle als Namen.

    Bundleoptionen

  6. Scrollen Sie nach unten bis zum Ende der Seite, und wählen Sie Speichern und veröffentlichen aus, wenn Sie möchten, dass es sofort von Spielern eingelöst werden kann. Wählen Sie "Als Entwurf speichern" aus, wenn Sie ihn zu einem späteren Zeitpunkt veröffentlichen möchten.

    Speicheroptionen

Hinzufügen eines Elements zu Ihrem Bundle

Ein Bündel an sich gewährt keine Elemente an einen Spieler. Wir müssen zuerst Elemente mit ihm verknüpfen und sobald es eingelöst wurde, diese Elemente diesem bestimmten Spieler zuweisen.

Führen Sie die folgenden Schritte aus, um Ihrem Bündel Elemente hinzuzufügen:

  1. Wechseln Sie im Bearbeitungsmodus zum Abschnitt Elemente .
  2. Wählen Sie Hinzufügen aus. Es wird ein Fenster mit allen Katalogelementen angezeigt.
  3. Sie können nach Typ filtern oder nach einem bestimmten Element suchen.
  4. Suchen Sie unser Super Awesome Sword , und wählen Sie Daneben Hinzufügen aus.
  5. Wählen Sie abschließend unten die Schaltfläche Hinzufügen aus.

Dadurch wird das Element ihrem Bündel hinzugefügt.

Hinzufügen von Elementen zu einem Bündel

Schritt 3: Aktivieren der Marketplace-Zuordnung

Um sicherzustellen, dass ein Spieler, der ein Bündel von Ihrer App kauft, ordnungsgemäß erworben und im Game Manager zugewiesen wird, müssen Sie die Marketplace-Zuordnung konfigurieren. Dies kann beim Erstellen Ihres Bündels in Game Manager oder durch Zurückkehren zum Bündel im Bearbeitungsmodus erfolgen, nachdem es erstellt wurde.

  1. Navigieren Sie im Bearbeitungsmodus zu Ihrem Bundle.
  2. Scrollen Sie nach unten zum Abschnitt Marketplace-Zuordnung .
  3. Wählen Sie in der Dropdownliste Marketplace den gewünschten Marketplace aus. (In diesem Tutorial ist dies AppleAppStore.
  4. Verwenden Sie für Ihre Marketplace-ID die gleiche wie Ihre Produkt-ID im App Store Connect. In diesem Tutorial haben wir pf.commerce.ios.sas1 verwendet.
  5. Um den Vorgang abzuschließen, wählen Sie + rechts in dieser Zeile aus, und speichern Sie Ihre Änderungen.

Marktplatzzuordnung

Schritt 4: Tätigen eines Kaufs

Tipp

Weitere Informationen zu diesem Thema finden Sie unter In-App-Käufe.

Eine Übersicht zum Konfigurieren von In-App Käufen finden Sie in der Entwicklerdokumentation von Apple.

Jetzt haben Sie Ihr IAP im App Store Connect erstellt, Ihr Paket, das mit Elementen im Game Manager konfiguriert ist, und die Marketplace-Zuordnung Ihres Bundles eingerichtet. Lassen Sie uns mit dem Kauf des IAP über Ihre App fortfahren.

Nachdem Sie Ihr IAP-Element verfügbar gemacht und von Ihrer App erworben haben, können Sie den Testbenutzer verwenden, den wir in Schritt 1 erstellt haben, um Ihr IAP in Ihrer App zu erwerben. Sobald dies abgeschlossen ist, sollte die Apple-API eine Quittung zurückgeben, die Sie dann mit der Einlösungs-API von PlayFab verwenden müssen, um den Kauf zu überprüfen und dem Spieler die Artikel im Bundle zu gewähren.

Schritt 5: Einlösen Ihres In-App Kaufs

Nachdem Sie Ihren Beleg von der Apple-API erhalten haben, müssen Sie den Api-Aufruf RedeemAppleAppStoreInventoryItems von PlayFab verwenden, um Ihr IAP erfolgreich einzulösen. In diesem Fall sollte es dem authentifizierten Spieler unser Super Awesome Sword gewähren.

Überprüfen, ob beide IDs übereinstimmen

Bevor Sie Ihren Einlösungsaufruf tätigen, müssen Sie sicherstellen, dass die alternative ID, die Sie in Game Manager für Ihre Marketplace-Zuordnung verwendet haben, mit der Produkt-ID im App Store Connect übereinstimmt.

Der folgende Screenshot stammt aus Ihrem Bundle in Game Manager. Die Marketplace-ID ist das, was wir AlternateId nennen. Im Grunde ist dies eine andere Möglichkeit, Ihr Bundle zu identifizieren.

Marktplatzzuordnung

Wechseln Sie im App Store Verbinden zu Meine Apps, wählen Sie die gewünschte App aus, navigieren Sie dann im linken Navigationsmenü zu Features>In-App-Käufe, wählen Sie schließlich Ihr IAP aus, und in den IAP-Metadaten wird die Produkt-ID angezeigt.

App Store Connect-Produkt-ID

Authentifizieren des Spielers

Um ein Element einzulösen, verwenden Sie RedeemAppleAppStoreInventoryItems. Vorher müssen wir jedoch sicherstellen, dass der Spieler, der die Elemente einlösen möchte, in Ihrer App ordnungsgemäß authentifiziert wird, für die Sie LoginWithApple verwenden.

Nach einem erfolgreichen LoginWithApple-Aufruf gibt die PlayFab-API ein EntityToken zurück, das Sie als Teil Ihrer RedeemAppleAppStoreInventoryItems-Header mit einem X-EntityToken Schlüssel verwenden müssen. Dies würde so aussehen, wenn Sie eine API-Plattform zum Testen verwenden.

API-Plattformheaderschlüssel

Tätigen des Einlösungsaufrufs

Wenn Ihr Spieler authentifiziert ist, werden sowohl Ihre IDs überprüft als auch übereinstimmend, und Ihre Quittung aus dem App-Kauf, der von Ihrem Spieler getätigt wurde. Sie sind bereit, den Einlösungsaufruf zu tätigen. Verwenden Sie dazu den API-Aufruf RedeemAppleAppStoreInventoryItems .

{
    "Receipt": "{Your receipt}"
}

Der Einlösungsaufruf hat nur einen einzigen Wert, und dies ist die Quittung , die von Apple nach einem erfolgreichen Kauf Ihres IAP zurückgegeben wird.

Eine erfolgreiche Antwort würde neben 200 status code Daten wie einem Zeitstempel und einer MarketplaceTransactionId enthalten.

Nachdem ein erfolgreicher Einlösungsaufruf ausgeführt wurde, sollten Sie in der Lage sein, ein Super Awesome Sword im Inventar Ihres authentifizierten Spielers zu sehen. Dadurch wird ein entsprechendes Ereignis im Transaktionsverlauf des Spielers ausgelöst. Dies kann auf der Registerkarte Transaktionsverlauf (V2) unter der Übersichtsseite des Spielers im Game Manager abgerufen werden.

Neben einem neuen Protokolleintrag im Transaktionsverlauf des Spielers wird auch ein items_redeemedPlayStream-Ereignis ausgelöst und protokolliert. Sie können auf diese Protokolle für Ihren Titel zugreifen, indem Sie in Game Manager im Abschnitt Analysieren auf der linken Navigationsleiste zur Seite Daten wechseln. Hier können Sie Abfragen bearbeiten, um nach bestimmten Datensätzen zu suchen, oder sie mit den Standardeinstellungen ausführen, um alles abzurufen. Unter dem Ereignisnamenvon items_redeemed sollte ein Datensatz vorhanden sein.

Schritt 6: Abschließen der Transaktion

Nachdem Sie Ihre gekauften Artikel erfolgreich eingelöst haben, müssen Sie sicherstellen, dass Ihre Transaktion ordnungsgemäß abgeschlossen ist, um zu verhindern, dass sie auf unbestimmte Zeit in der Einkaufswarteschlange verbleibt. Es ist wichtig zu beachten, dass Sie Ihre Transaktion abschließen sollten, unabhängig davon, ob sie erfolgreich war oder fehlgeschlagen ist.

Um Ihre Transaktion ordnungsgemäß abzuschließen, müssen Sie die Methode vonfinishTransaction(_:) Apple verwenden.

Notiz

Weitere Informationen zu finishTransaction(_:) finden Sie in der Apple-Dokumentation.

Weitere Informationen