Logo Makeyourgame
Accueil Les formations Créer un jeu Les ateliers Les tutoriels Blog
Logo Makeyourgame
Les formations Les financements Les exercices La certification Unity
Logo Makeyourgame
Mes objectifs Les jeux Les ressources Le glossaire
Logo Makeyourgame
Les tutos Les tutos Youtube

Utiliser UnityWebRequest.Post pour envoyer des données au serveur : Unity

pictureProfil_alto
Ecrit par alto
Catégorie Unity
Mis à jour le 09/09/2020
Utiliser UnityWebRequest.Post pour envoyer des données au serveur

Depuis le dernier tutoriel sur UnityWebRequest, nous savons comment récupérer des informations depuis un serveur web, mais pas l'inverse ... Nous verrons ici comment envoyer des informations vers un serveur web avec la méthode Post de UnityWebRequest.

3 min Intermédiaire

Avant toute chose il est important d'avoir les bases sur l'utilisation de UnityWebRequest. Aussi n'hésitez pas à faire un détour vers les tutoriels dédiés à la classe WWW, ou la réception de datas avec UniyWebRequest depuis un serveur web.

Méthode Post de la classe UnityWebRequest

Cette méthode nous permet, non seulement de contacter un URI, mais aussi d'ajouter au passage des données (datas), en utilisant un objet de type WWWForm.

D'après la documentation de UnityWebRequest.Post de Unity, cette méthode permet de créer une requête de type POST:

Creates a UnityWebRequest configured to send form data to a server via HTTP POST.

Les données envoyées doivent être placées dans un objet de type WWWFom, puis l'objet est passé en paramètre à la méthode Post.

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehavior : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(Upload());
    }

    IEnumerator Upload()
    {
        WWWForm form = new WWWForm();
        form.AddField("myField", "myData");//une donnée est ajoutée ici

        using (UnityWebRequest www = UnityWebRequest.Post("http://www.my-server.com/myform", form))
        {
            yield return www.SendWebRequest();// on attend le retour (réponse) du serveur web !

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("Form upload complete!");
            }
        }
    }
}

Ainsi les données sont envoyées, ici au serveur web et à l'URI: 

"http://www.my-server.com/myform"

Le reste du travail concerne après le serveur, ou plus exactement les scripts PHP du serveur. Cet aspect ne sera pas traité ici.

A ce sujet vous pouvez retrouver un tutoriel sur l'utilisation du JSON pour envoyer des réponses serveur.

Une fois que le serveur a renvoyé sa réponse, côté C#, on peut ainsi traiter le retour, et pourquoi pas débloquer des fonctionnalités dans notre jeu vidéo. C'est ce que nous allons voir dans notre exemple d'utilisation qui suit.

Exemple d'utilisation en vidéo

Retrouvez le package pour suivre le tutoriel.

Vues: 3727

Licence:



Validation du Tutoriel

Veuillez vous connecter ou créer un compte pour pouvoir valider ce tutoriel et ainsi gagner de l'expérience (XP) !

Vous aimerez aussi...

Blog et Tutoriels