Проблема с кнопкой перекрестного продвижения Unity, открывающей необработанный текстовый файл вместо перенаправления на ссылку Google Play.

В настоящее время я работаю над проектом Unity и реализовал кнопку перекрестного продвижения, которая должна открывать ссылку Google Play для моего приложения. Однако когда я нажимаю кнопку, вместо перенаправления на ссылку Google Play открывается необработанный текстовый файл, размещенный на GitHub. Я пробовал разместить ссылку Google Play в текстовом файле на разных платформах, таких как GitHub и Google Drive, но проблема не устранена. Я также пробовал использовать службы сокращения URL-адресов и методы перенаправления, но ни один из них, похоже, не работает. Вот упрощенная версия сценария, который я использую:

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

public class crospromo : MonoBehaviour
{
    public string imageURL;
    public string linkURL;
    private Image image;

    private void Start()
    {
        image = GetComponent<Image>();
        StartCoroutine(LoadImage());
    }

    private IEnumerator LoadImage()
    {
        using (UnityWebRequest www = UnityWebRequestTexture.GetTexture(imageURL))
        {
            yield return www.SendWebRequest();

            if (!www.isNetworkError && !www.isHttpError)
            {
                Texture2D texture = DownloadHandlerTexture.GetContent(www);
                if (texture != null)
                {
                    Sprite sprite = Sprite.Create(texture, new Rect(0f, 0f, texture.width, texture.height), new Vector2(0.5f, 0.5f));
                    image.sprite = sprite;
                }
            }
        }
    }

    public void OnClick()
    {
        Application.OpenURL(linkURL);
    }
}

скриншот инспектора единства

Скрин из браузера

1 ответ

Мне помогает генератор ИИ:

он обновляет мой скрипт следующим образом:

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

public class crospromo : MonoBehaviour
{
    public string imageURL;
    public string linkURLFileURL; // URL of the text file containing the Google Play link
    private Image image;
    private string linkURL; // Declare linkURL as a class-level variable

    private void Start()
    {
        image = GetComponent<Image>();
        StartCoroutine(LoadImage());
        StartCoroutine(LoadLinkURL());
    }

    private IEnumerator LoadImage()
    {
        using (UnityWebRequest www = UnityWebRequestTexture.GetTexture(imageURL))
        {
            yield return www.SendWebRequest();

            if (!www.isNetworkError && !www.isHttpError)
            {
                Texture2D texture = DownloadHandlerTexture.GetContent(www);
                if (texture != null)
                {
                    Sprite sprite = Sprite.Create(texture, new Rect(0f, 0f, texture.width, texture.height), new Vector2(0.5f, 0.5f));
                    image.sprite = sprite;
                }
            }
        }
    }

    private IEnumerator LoadLinkURL()
    {
        using (UnityWebRequest www = UnityWebRequest.Get(linkURLFileURL))
        {
            yield return www.SendWebRequest();

            if (!www.isNetworkError && !www.isHttpError)
            {
                linkURL = www.downloadHandler.text.Trim();
            }
        }
    }

    public void OnClick()
    {
        Application.OpenURL(linkURL);
    }
}
Другие вопросы по тегам