SDK Unity

Le SDK principal de MAJACLOUD : du C# pour Unity avec des API async/await et coroutines, une fenêtre de configuration et un exemple Starter.

Les commentaires du code et les noms d'API restent en anglais pour correspondre aux SDK.

Sur cette page

Prérequis#

  • Unity 2021.3 LTS ou plus récent, y compris Unity 6. Built-in, URP et HDRP fonctionnent tous : le SDK ne contient aucun code de rendu.
  • Uniquement les modules intégrés de Unity (UnityWebRequest, JSON, uGUI). TextMesh Pro est utilisé par l'exemple.
  • Éditeur, Windows, macOS, Linux, Android, iOS et WebGL. Aucun thread n'est utilisé, donc async/await fonctionne sans risque sur WebGL. Compatible IL2CPP.

Installation#

  1. Téléchargez le .unitypackage depuis la page de votre projet ou la page téléchargements.
  2. Dans Unity : Assets ▸ Import Package ▸ Custom Package…, sélectionnez le fichier et importez tout.
  3. Lorsque Unity propose d'importer TMP Essentials pour l'exemple, acceptez.

Tout se trouve dans Assets/Majacloud : Runtime (le SDK), Editor (outils de configuration), Samples/Starter et Tests.

Connecter votre projet#

Tools ▸ Majacloud ▸ Setup (également dans Project Settings ▸ Majacloud) écrit Assets/Resources/MajacloudSettings.asset. Le SDK s'initialise à partir de ce fichier avant le chargement de la première scène.

ChampValeur
Base URLL'adresse de cette installation. https://majacloud.majanite.com
Project IDTableau de bord ▸ Clés API.
Client KeyLa clé publique commençant par pk_live_. Peut être incluse sans risque dans les builds.

Test connection enregistre le nom du projet, l'offre et la clé publique de la configuration à distance, ce qui épingle la vérification de signature sur votre serveur.

Ne mettez jamais la clé secrète (sk_live_…) dans un build du jeu ou une page web. Tout ce qui est distribué aux joueurs peut être lu.

Configurer depuis le code#

Créez les paramètres à l'exécution, par exemple pour faire pointer les builds de développement vers un serveur de préproduction :

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 et coroutines#

Chaque méthode async (…Async) a une version coroutine équivalente qui accepte un callback, pour le code qui n'utilise pas 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");
}));

Exemple Starter#

La scène Samples/Starter/Scenes/MajacloudStarter.unity comporte cinq onglets : Leaderboard, Cloud save, Rewards, Config et Account. Elle s'appuie sur le contenu créé par Ajouter le contenu d'exemple Starter.

Des prefabs réutilisables se trouvent dans Samples/Starter/Prefabs : MajacloudLeaderboardView, MajacloudPlayerBadge et MajacloudDailyRewardButton. Déposez-les dans votre UI et définissez le slug ou la clé de récompense dans l'Inspector.

WebGL et mobile#

  • Servez les builds WebGL en HTTPS : les navigateurs bloquent les requêtes http:// depuis les pages https://. L'API envoie déjà les en-têtes CORS dont WebGL a besoin.
  • Les navigateurs n'ouvrent de nouveaux onglets qu'en réponse à un clic. Pour la liaison de compte sur WebGL, démarrez d'abord le flux, puis ouvrez-le dans le gestionnaire de clic d'un bouton (voir Joueurs).
  • Tester sur un téléphone avec un serveur hébergé sur votre ordinateur nécessite aussi HTTPS (ou, pour le développement uniquement, ALLOW_INSECURE_HTTP sur le serveur et les téléchargements HTTP autorisés dans Player Settings).
Élément de menuRôle
Tools ▸ Majacloud ▸ SetupClés, test de connexion et paramètres de comportement.
Tools ▸ Majacloud ▸ Open Starter SampleOuvre la scène Starter.
Tools ▸ Majacloud ▸ Rebuild Starter SampleRégénère la scène Starter et les prefabs.
Tools ▸ Majacloud ▸ Export .unitypackageExporte le SDK sous forme de .unitypackage.

Recherche dans les titres de page, les intertitres et le texte.

↑↓ pour naviguer ↵ pour ouvrir Esc pour fermer