Gravar informação do Unity para um servidor


   Este tutorial exemplifica como se pode registar informação online gerada por aplicações desenvolvidas pelo Unity3d.




   O exemplo aqui apresentado é básico apenas serve de ponto de partida de um projeto mais elaborado.

   Necessário:
   Um servidor http Apache com suporte Php.

   Para testes Usei o Xampp para Windows e arranquei com o serviço de Apache já com o suporte Php



   Com base no código disponível no forum da Unity foi feito o seguinte:

   - Criar um GameObject vazio no senário do Unity3D
   - Pelo Inspector desse objeto Adicionar um componente do tipo script C# com o nome SaveOnline.cs
   - Adicionar o seguinte conteúdo:


using UnityEngine;
using System.Collections;

public class SaveOnline : MonoBehaviour {

public string postDataURL = "http://IP_DO_SERVIDOR_ONLINE/save_player_data.php?"; //add a ? to your url

public string Playername;
public string Playerdata;

void Start()
{
Playername = "PlayerName";
Playerdata = "SomeData";
StartCoroutine(PostData(Playername,Playerdata));
StartCoroutine(PostData("111","aaa"));
StartCoroutine(PostData("222","bbb"));
}

IEnumerator PostData(string name, string data)
{
//This connects to a server side php script that will write the data
string post_url = postDataURL + "name=" + WWW.EscapeURL(name) + "&data=" + data ;

// Post the URL to the site and create a download object to get the result.
WWW data_post = new WWW(post_url);
yield return data_post; // Wait until the download is done

if (data_post.error != null)
{
print("There was an error saving data: " + data_post.error);
}
}
}


- Do lado do servidor Xampp em C:\xampp\htdocs criar o ficheiro save_player_data.php

- Adicionar o conteúdo:

 <?php
         $name_to_save = $_GET["name"];
         $data_to_save = $_GET["data"];
        
         $myFile = $name_to_save . ".txt";
         $fh = fopen($myFile, 'w') or die("can't open file");
         fwrite($fh,$name_to_save . "," . $data_to_save . ",");
         fclose($fh);
 ?>

   - E basta correr o programa para serem escritos 3 ficheiros com conteúdo no servidor
   - Tem de se ter em conta a alteração do Url do servidor.



Referências:
https://www.apachefriends.org/pt_br/index.html
http://answers.unity3d.com/questions/984290/upload-txt-file-to-server-using-php.html





Sem comentários:

Enviar um comentário