Проблема с кнопкой перекрестного продвижения 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);
}
}