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.
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#
- Téléchargez le
.unitypackagedepuis la page de votre projet ou la page téléchargements. - Dans Unity : Assets ▸ Import Package ▸ Custom Package…, sélectionnez le fichier et importez tout.
- 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.
| Champ | Valeur |
|---|---|
| Base URL | L'adresse de cette installation. https://majacloud.majanite.com |
| Project ID | Tableau de bord ▸ Clés API. |
| Client Key | La 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.
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 :
// 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.
// 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 pageshttps://. 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_HTTPsur le serveur et les téléchargements HTTP autorisés dans Player Settings).
Menu de l'éditeur#
| Élément de menu | Rôle |
|---|---|
Tools ▸ Majacloud ▸ Setup | Clés, test de connexion et paramètres de comportement. |
Tools ▸ Majacloud ▸ Open Starter Sample | Ouvre la scène Starter. |
Tools ▸ Majacloud ▸ Rebuild Starter Sample | Régénère la scène Starter et les prefabs. |
Tools ▸ Majacloud ▸ Export .unitypackage | Exporte le SDK sous forme de .unitypackage. |