Как я могу подключить свое приложение Unity android к базе данных 000webhost? - PullRequest
0 голосов
/ 16 апреля 2020

Я создаю приложение 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 как требуется.

Извините за стену текста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...