So implementieren Sie einen Battle Pass in die Anwendung

Achtung
Diese Anleitung ist nur für die Arbeit mit dem Game Commerce-Asset bestimmt.

Der Battle Pass steigert die Motivation der Spieler, indem Belohnungen für das Abschließen von Quests oder für das aktive Spielen während des Battle-Pass-Zeitraums gewährt werden.

Ein kostenloser Battle Pass mit begrenzten Belohnungen ist für alle Spieler verfügbar. Die letzte Belohnung ist im kostenlosen Battle Pass nicht enthalten.

Der Spieler kann eine Premium-Version des Battle Pass erwerben, in der alle Belohnungen, einschließlich der finalen, enthalten sind.

Der Battle-Pass-Fortschritt ist in Stufen unterteilt. Um aufzusteigen und die finale Belohnung zu erhalten, bevor der Battle Pass abläuft, muss der Spieler die notwendigen Erfahrungspunkte sammeln oder für den Stufenaufstieg zahlen.

Das Demoprojekt zeigt eine beispielhafte Implementierung des Battle Pass mithilfe von Xsolla-Produkten. So testen Sie den Battle Pass:

  1. Starten Sie die Demoszene Xsollus.
  2. Melden Sie sich als Demonutzer an oder erstellen Sie einen neuen Nutzer.
  3. Klicken Sie im seitlichen Menü auf Battle pass.

So passen Sie den Battle Pass an Ihr Projekt an:

  1. Fügen Sie Ihrem Projekt die Battle-Pass-Logik hinzu.
  2. Erstellen Sie einen Satz Belohnungsgutscheine.
  3. Erstellen Sie eine Battle-Pass-Konfiguration.
  4. Erstellen Sie einen Battle-Pass-Gegenstand.
  5. Erstellen Sie einen Stufenaufstieg-Gegenstand.

Battle-Pass-Logik zum Projekt hinzufügen

Die gesamte Logik des Battle Pass ist im BattlepassPage-Prefab enthalten und in folgende Blöcke unterteilt:

  • ScriptHolders — Skripte für die Battle-Pass-Konfiguration, ‑Gegenstände und Spielerinformationen
  • UIScriptHolders — Skripte für die Interaktion mit dem Spieler

So fügen Sie die Battle-Pass-Logik hinzu:

  1. Instanziieren Sie in Ihrem Projekt das BattlepassPage-Prefab.
  2. Ändern Sie die Benutzeroberfläche (optional).
  3. Modifizieren Sie die Logik für die Informationsspeicherung.

Belohnungsgutscheine erstellen

Sowohl virtuelle Gegenstände als auch virtuelle Währungspakete sind als Belohnung möglich.

Im Rahmen der aktuellen Lösung werden dem Spieler Belohnungen gewährt, wenn er einen entsprechenden Gutschein einlöst. So erstellen Sie einen Satz Belohnungsgutscheine:

  1. Wechseln Sie im Kundenportal zu Ihrem Projekt.
  2. Erstellen Sie virtuelle Gegenstände und virtuelle Währungspakete als Belohnung für Spieler.
  3. Richten Sie für jede Belohnung eine Gutscheinkampagne ein, beachten Sie dabei die folgenden Empfehlungen:

    • Geben Sie die Anzahl der Einlösungen pro Benutzer als voraussichtliche Anzahl der Gutscheineinlösung im Battle Pass an. Ein Gutschein kann im Rahmen des Battle Pass mehrfach eingelöst werden (z. B. auf verschiedenen Battle-Pass-Stufen, in Premium- und kostenlosen Versionen).
    • Die Kampagne muss für denselben Zeitraum wie der Battle Pass gültig sein.

Um die Battle-Pass-Konfiguration anzulegen, empfiehlt es sich, im Voraus eine Liste von Belohnungen zu erstellen und für jede davon Folgendes anzugeben:

  • Gutscheincode
  • SKU des virtuellen Gegenstands oder des virtuellen Währungspakets
  • ob die Belohnung an eine bestimmte Stufe des Battle Pass gebunden ist
  • ob die Belohnung an die kostenlose oder Premium-Version gebunden ist

Hinweis
Sie können Belohnungen für den neuen Battle Pass konfigurieren, bevor der vorherige abläuft. Aktivieren Sie die Gutscheinaktion erst nach dem Start des neuen Battle Pass, um die Anwendungslogik nicht zu verletzen.

Battle-Pass-Konfiguration erstellen

Die Battle-Pass-Konfiguration ist eine JSON-Datei und enthält:

  • den Namen des Battle Pass
  • das Ablaufdatum des Battle Pass
  • die Stufenstruktur samt Angabe der Belohnungen für die kostenlose und die Premium-Version

Hinweis
Die Belohnung für die höchste Stufe des Premium-Battle-Pass entspricht automatisch der finalen Battle-Pass-Belohnung. Deren Anzeige unterscheidet sich von der Belohnungsanzeige für abgeschlossene Stufen.

JSON-Dateistruktur:

ParameterTypBeschreibung
Name
stringDer Name des Battle Pass. Muss mit dem Namen des Battle-Pass-Gegenstands übereinstimmen.
ExpiryDate
stringDas Ablaufdatum des Battle Pass.
Levels
arrayStruktur der Battle Pass-Stufen.
Levels.Tier
integerStufennummer.
Levels.Experience
integerDie Anzahl von Erfahrungspunkten, um die nächste Stufe zu erreichen.
Levels.FreeItem
objectBelohnungsinformationen für die kostenlose Version des Battle Pass. Möglich ist null.
Levels.FreeItem.Sku
stringDie SKU eines virtuellen Gegenstands oder virtuellen Währungspakets. Dient dazu, dem Benutzer das Belohnungsbild und die entsprechenden Informationen anzuzeigen.

Hinweis
Für ein virtuelles Währungspaket können sowohl die Paket-SKU als auch die SKU der virtuellen Währung verwendet werden.
| |
Levels.FreeItem.Quantity
| integer | Die Anzahl der Belohnungen. | |
Levels.FreeItem.Promocode
| string | Der Gutscheincode für die Belohnung. | |
Levels.PremiumItem
| object | Belohnungsinformationen für die Premium-Version des Battle Pass. Möglich ist null. | |
Levels.PremiumItem.Sku
| string | Die SKU eines virtuellen Gegenstands oder virtuellen Währungspakets. Dient dazu, dem Benutzer das Belohnungsbild und die entsprechenden Informationen anzuzeigen.

Hinweis
Für ein virtuelles Währungspaket können sowohl die Paket-SKU als auch die SKU der virtuellen Währung verwendet werden.
| |
Levels.PremiumItem.Quantity
| integer | Die Anzahl der Belohnungen. | |
Levels.PremiumItem.Promocode
| string | Der Gutscheincode für die Belohnung. |

Beispielhafte Battle-Pass-Konfiguration:

Copy
Full screen
Small screen
{
  "Name": "BP2021JAN",
  "ExpiryDate": "29-03-2021",
  "Levels": [
    {
      "Tier": 1,
      "Experience": 1000,
      "FreeItem": {
        "Sku": "Sku",
        "Quantity": 10,
        "Promocode": "HELLO_WORLD"
      },
      "PremiumItem": {
        "Sku": "Sku2",
        "Promocode": "HELLO_WORLD2"
      }
    },
    {
      "Tier": 2,
      "Experience": 1000
    },
    {
      "Tier": 3,
      "Experience": 1000
    }
  ]
}

Battle-Pass-Gegenstand erstellen

Der Battle-Pass-Gegenstand ist ein Container für die Battle-Pass-Konfiguration. Damit können Sie den Premium-Status des Spielers ermitteln, also ob der Spieler eine Premium-Version erworben hat.

So erstellen Sie einen Battle-Pass-Gegenstand:

  1. Wechseln Sie zu Ihrem Projekt im Kundenportal.
  2. Erstellen Sie eine Gruppe virtueller Gegenstände namens #BATTLEPASS#.

Hinweis
Die #BATTLEPASS#-Gruppe dient als Hilfsgruppe und erscheint weder im Ingame-Shop noch im Inventar.

  1. Erstellen Sie einen virtuellen Gegenstand mit den folgenden Parametern:
    • Gegenstandsname – Name des bei der Konfiguration angegebenen Battle Pass.
    • SKU – Battle-Pass-ID. Es wird empfohlen, den bei der Konfiguration angegebenen Namen des Battle Pass zu verwenden.
    • Gegenstandseigenschaften — aufbrauchbar oder nicht aufbrauchbar Gegenstand.

Hinweis
Es wird empfohlen, den aufbrauchbaren Gegenstand während des Debuggens der Anwendung zu erstellen. Auf diese Weise können Sie testen, wie das System auf das Vorhandensein bzw. Nichtvorhandensein des Battle-Pass-Gegenstands reagiert.

    • Preis – Preis der Premium-Version des Battle Pass. Lässt sich in virtueller oder echter Währung festlegen.

Hinweis
Wenn ein virtueller Gegenstand in echter und virtueller Währung bepreist ist, zeigt die Anwendung den Preis in echter Währung an.

    • Gruppe – #BATTLEPASS#.

Hinweis
Es wird empfohlen, während des Debuggens der Anwendung zusätzlich einen Gegenstand einer anderen Gruppe als #BATTLEPASS# zuzuweisen. Dadurch wird der Gegenstand im Inventar angezeigt.

  1. Fügen Sie dem erstellten virtuellen Gegenstand die Battle-Pass-Konfiguration hinzu:
    1. Rufen Sie die aktuelle Beschreibung des Gegenstands mithilfe des API-Aufrufs Get virtual item in einem JSON-Format ab.
    2. Konvertieren Sie die Battle-Pass-Konfiguration in einen String mithilfe eines Onlinediensts oder der Methode JSON.stringify() in JavaScript.
    3. Geben Sie in der Gegenstandsbeschreibung den erhaltenen String im en-Objekt des Parameters long_description an.
    4. Modifizieren Sie den Gegenstand mithilfe des API-Aufrufs Update virtual item, geben Sie dabei die aktualisierte Gegenstandsbeschreibung im Anfrage-Body an.

Beispielhafte Beschreibung des Battle-Pass-Gegenstands:

Copy
Full screen
Small screen
{
  "sku": "BP2021JAN",
  "name":{
    "en": "BP2021JAN"
  },
  "type": "virtual_good",
  "description":{
    "en": "BP2021JAN"
  },
  "image_url": "https://cdn3.xsolla.com/img/misc/images/7cb1c2b719af329a9bc1df994d58b749.png",
  "long_description": {
    "en": "{
                \"Name\":\"BP2021JAN\",
                \"ExpiryDate\":\"01-07-2021\",
                \"Levels\":
                    [
                        {
                            \"Tier\":1,
                            \"Experience\":100,
                            \"FreeItem\":
                                {
                                    \"Sku\":\"Bullets\",
                                    \"Promocode\":\"B2021S1FL1E100\",
                                    \"Quantity\":50
                                }
                        }
                    ]
            }"
  },
  "attributes":[
  ],
  "is_free": false,
  "order": 1,
  "groups":[
    "Battlepass"
  ],
  "regional_prices":[
  ],
  "prices":[
    {
      "amount": 1,
      "currency": "USD",
      "is_default": true,
      "is_enabled": true
    }
  ],
  "media_list":[
  ],
  "vc_prices":[
  ],
  "is_enabled": true,
  "is_show_in_store": true,
  "regions":[
  ],
  "inventory_options":{
    "consumable": false,
    "expiration_period": null
  }
}

Stufenaufstieg-Gegenstand erstellen

Momentan können Spieler im Rahmen der Battle-Pass-Lösung gegen Zahlung von echter oder virtueller Währung aufsteigen. Der Preis für einen Stufenaufstieg ist immer derselbe. Die Erfahrungspunkte, die der Spieler innerhalb der aktuellen Stufe gesammelt hat, werden in die nächste Stufe übernommen.

So erstellen Sie einen Stufenaufstieg-Gegenstand:

  1. Wechseln Sie im Kundenportal zu Ihrem Projekt.
  2. Erstellen Sie einen virtuellen Gegenstand mit folgenden Parametern:
    • Gegenstandsname — Name des Stufenaufstieg-Gegenstands im Format <battlepassname>_levelup_util, wobei <battlepassname> dem Namen des bei der Konfiguration angegebenen Battle Pass entspricht.
    • SKU — es wird empfohlen, den bei der Konfiguration angegebenen Namen des Battle Pass zu verwenden.
    • Gegenstandseigenschaften — aufbrauchbar oder nicht aufbrauchbar Gegenstand.
    • Preis — Preis für den Stufenaufstieg. Lässt sich in virtueller oder echter Währung festlegen.

Hinweis
Wenn ein Stufenaufstieg-Gegenstand in echter und virtueller Währung bepreist ist, zeigt die Anwendung den Preis in echter Währung an.

    • Gruppe – #BATTLEPASS#.

Hinweis
Es wird empfohlen, während des Debuggens der Anwendung zusätzlich einen Stufenaufstieg-Gegenstand einer anderen Gruppe als #BATTLEPASS# zuzuweisen. Dadurch wird der Gegenstand im Inventar angezeigt.

Besonderheiten der aktuellen Battle-Pass-Lösung

Logik für die Anzeige des Battle Pass

Die Anwendung zeigt nur einen Battle Pass entsprechend folgender Logik an:

  • Sind ein oder mehrere nicht abgelaufene Battle Passes vorhanden, zeigt die Anwendung den Battle Pass mit dem nächstliegenden Ablaufdatum an.
  • Wenn alle Battle Passes abgelaufen sind, zeigt die Anwendung den letzten abgelaufenen Battle Pass an.

BEISPIEL 1

Aktuelles Datum: 04.03.2021.

Das jeweilige Ablaufdatum der Battle Passes: 01.03.2021, 01.04.2021, 01.05.2021.

Die Anwendung zeigt den Battle Pass mit dem Ablaufdatum 01.04.2021 an.

BEISPIEL 2

Aktuelles Datum: 04.03.2021.

Das jeweilige Ablaufdatum der Battle Passes: 01.02.2021, 01.03.2021.

Die Anwendung zeigt den Battle Pass mit dem Ablaufdatum 01.03.2021 an.

Logik für die Informationsspeicherung

Momentan werden im Rahmen der Lösung alle Informationen über den Battle-Pass-Fortschritt eines Spielers (Stufe, Erfahrungspunkte, erhaltene Belohnungen usw.) in den vom Benutzer editierbaren Attributen gespeichert. Im Rahmen der Demo lassen sich diese Attribute auf der Character-Seite anzeigen und bearbeiten.

Wenn das System das erforderliche Attribut nicht findet, wird automatisch ein neues angelegt. Wenn das System Attribute von abgelaufenen Battle Passes findet, werden diese Attribute automatisch gelöscht.

Achtung
Von Benutzern editierbare Attribute lassen sich clientseitig ändern. Beim Implementieren Ihrer eigenen Logik wird empfohlen, schreibgeschützte Attribute zu verwenden, um die Battle-Pass-Fortschrittsdaten des Spielers zu schützen.

Um den Premium-Status eines Spielers zu ermitteln, wird geprüft, ob der Battle-Pass-Gegenstand im Inventar des Spielers vorhanden ist.

War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Diese Seite bewerten
Diese Seite bewerten
Gibt es etwas, das wir verbessern können?

Jetzt nicht

Vielen Dank für Ihr Feedback!
Letztmalig aktualisiert: 8. August 2022

Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.

Problem melden
Wir überprüfen unsere Inhalte ständig. Ihr Feedback hilft uns, sie zu verbessern.
Geben Sie eine E-Mail-Adresse an, damit wir Sie erreichen können
Vielen Dank für Ihr Feedback!