Unity-SDK

Das Haupt-SDK von MAJACLOUD: C# für Unity mit async/await- und Coroutine-APIs, einem Setup-Fenster und einem Starter-Beispiel.

Codekommentare und API-Namen bleiben auf Englisch, damit sie zu den SDKs passen.

Auf dieser Seite

Voraussetzungen#

  • Unity 2021.3 LTS oder neuer, einschließlich Unity 6. Built-in, URP und HDRP funktionieren gleichermaßen: Das SDK enthält keinen Rendering-Code.
  • Nur die integrierten Module von Unity (UnityWebRequest, JSON, uGUI). Das Beispiel verwendet TextMesh Pro.
  • Editor, Windows, macOS, Linux, Android, iOS und WebGL. Es werden keine Threads verwendet, daher ist async/await auch unter WebGL sicher. IL2CPP-kompatibel.

Installation#

  1. Laden Sie das .unitypackage von Ihrer Projektseite oder der Seite Downloads herunter.
  2. In Unity: Assets ▸ Import Package ▸ Custom Package…, die Datei auswählen und alles importieren.
  3. Wenn Unity anbietet, TMP Essentials für das Beispiel zu importieren, stimmen Sie zu.

Alles liegt in Assets/Majacloud: Runtime (das SDK), Editor (Einrichtungswerkzeuge), Samples/Starter und Tests.

Projekt verbinden#

Tools ▸ Majacloud ▸ Setup (auch unter Project Settings ▸ Majacloud) schreibt Assets/Resources/MajacloudSettings.asset. Daraus initialisiert sich das SDK, bevor die erste Szene geladen wird.

FeldWert
Base URLDie Adresse dieser Installation. https://majacloud.majanite.com
Project IDDashboard ▸ API-Schlüssel.
Client KeyDer öffentliche Schlüssel, der mit pk_live_ beginnt. Darf in Builds enthalten sein.

Test connection speichert Projektname, Tarif und den öffentlichen Schlüssel der Remote-Konfiguration, wodurch die Signaturprüfung fest an Ihren Server gebunden wird.

Bauen Sie den geheimen Schlüssel (sk_live_…) niemals in einen Spiel-Build oder eine Webseite ein. Alles, was an Spieler ausgeliefert wird, kann ausgelesen werden.

Konfiguration im Code#

Erstellen Sie die Einstellungen zur Laufzeit, etwa um Entwicklungs-Builds auf einen Staging-Server zu richten:

C#
// Switch environments from code (e.g. a staging server in development builds)
var settings = ScriptableObject.CreateInstance<MajacloudSettings>();
settings.Configure("https://staging.yourstudio.com", "<project id>", "pk_live_…");
Majacloud.Initialize(settings);

Async und Coroutines#

Zu jeder async-Methode (…Async) gibt es ein Coroutine-Gegenstück mit Callback, für Code ohne async/await.

C#
// Every async method has a coroutine version with a callback
StartCoroutine(Majacloud.Leaderboards.GetTop("coins", 10, result =>
{
    if (result.Ok) Debug.Log(result.Value.Total + " players");
}));

Starter-Beispiel#

Samples/Starter/Scenes/MajacloudStarter.unity hat fünf Tabs: Leaderboard, Cloud save, Rewards, Config und Account. Die Szene erwartet die Inhalte, die Starter-Beispielinhalte hinzufügen anlegt.

Wiederverwendbare Prefabs in Samples/Starter/Prefabs: MajacloudLeaderboardView, MajacloudPlayerBadge und MajacloudDailyRewardButton. Ziehen Sie sie in Ihre UI und legen Sie im Inspector den Slug bzw. den Belohnungsschlüssel fest.

WebGL und Mobilgeräte#

  • Liefern Sie WebGL-Builds über HTTPS aus: Browser blockieren http://-Anfragen von https://-Seiten. Die API sendet bereits die CORS-Header, die WebGL benötigt.
  • Browser öffnen neue Tabs nur nach einem Klick. Starten Sie für die Kontoverknüpfung unter WebGL zuerst den Ablauf und öffnen Sie ihn dann in einem Button-Handler (siehe Spieler).
  • Auch zum Testen auf einem Smartphone gegen einen Server auf Ihrem Rechner ist HTTPS nötig (oder, nur für die Entwicklung, ALLOW_INSECURE_HTTP auf dem Server und in den Player Settings erlaubte HTTP-Downloads).
MenüeintragFunktion
Tools ▸ Majacloud ▸ SetupSchlüssel, Verbindungstest und Verhaltenseinstellungen.
Tools ▸ Majacloud ▸ Open Starter SampleÖffnet die Starter-Szene.
Tools ▸ Majacloud ▸ Rebuild Starter SampleErzeugt Starter-Szene und Prefabs neu.
Tools ▸ Majacloud ▸ Export .unitypackageExportiert das SDK als .unitypackage.

Durchsucht Seitentitel, Überschriften und Text.

↑↓ zum Navigieren ↵ zum Öffnen Esc zum Schließen