Я создаю приложение Unity Android, которое отображает информацию из базы данных.
Для этого я использовал 000WebHost для создания веб-сайта и сервера sql. Когда я тестирую приложение с Unity на моем компьютере, оно работает нормально, требуется немного времени загрузки, но работает отлично.
Но, когда я собираю apk и проверяю его на своем телефоне, он не работает. Он застревает на экране «загрузки текста», который я создал, и никогда не загружает текст из базы данных.
У меня есть ошибка журнала в Unity, которая активируется при сбое соединения, и я предполагаю, что то же самое происходит и здесь.
Есть ли способ ее решить или это потому, что я свободный пользователь?
Вот коды:
WebTextLoader.cs (Unity / Отображает текст из база данных)
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class WebTextLoader : MonoBehaviour
{
[Serializable]
public class PlaceInfo
{
public string Titulo = "";
public string Texto = "";
}
public string URL; //example: https://arguidetest.000webhostapp.com/pruebaMedieval.php
public Text TituloUI;
public Text TextoUI;
public PlaceInfo placeInfo;
public void Start()
{
if (Debug.isDebugBuild)
{
StartCoroutine(GetRequest(URL));
}
}
IEnumerator GetRequest(string uri)
{
using (UnityWebRequest webRequest = UnityWebRequest.Get(uri))
{
// Request and wait for the desired page.
yield return webRequest.SendWebRequest();
string jsonForm = uri;
if (webRequest.isNetworkError)
{
Debug.Log("Error loading");
}
else
{
try
{
placeInfo = JsonUtility.FromJson<PlaceInfo>(webRequest.downloadHandler.text);
TituloUI.text = placeInfo.Titulo;
TextoUI.text = placeInfo.Texto;
}
catch
{
Debug.Log("Error in connection");
}
}
}
}
}
pruebaMedieval. php (000webhost / превращает массив заголовков и текста в JSon)
<?php
$server = ***;
$usuario = ***;
$pass = ***;
$database= ***;
$mysqli = new mysqli($server, $usuario, $pass, $database);
$query = $mysqli -> query("SELECT * FROM INFORMACION_EVENTOS where id = 1");
while ($valores = mysqli_fetch_array($query)) {
$titulo = $valores["titulo"];
$info = $valores["informacion"];
$array = array(
"Titulo" => $titulo,
"Texto" => $info
);
}
$result = json_encode($array);
echo $result;
?>
Также в настройках плеера Unity у меня есть соединение inte rnet как требуется.
Извините за стену текста