Unity 6.3
0 онлайн 62 гостей 3 в системе
Вход

Application.OpenURL

Declaration

public static void OpenURL(string url);

Параметры

Параметр Описание
URL адрес Открыть URL.

Описание

Открывает указанный файл URL в соответствии с разрешениями и ограничениями текущей платформы и среды приложения.

Способ обработки URL и действующие ограничения безопасности зависят от типа URL и платформы выполнения.

Примечание: метод OpenURL позволяет открывать не только веб-страницы, поэтому перед его использованием необходимо учитывать связанные с ним риски безопасности. Этот метод используется для открытия URL с протоколами HTTP и HTTPS (веб-страниц). Если передать методу адрес веб-страницы, она откроется в браузере по умолчанию, окно которого будет выведено на передний план.

Помимо протокола HTTP, используемого веб-браузерами, в URL можно применять и другие протоколы: передачу файлов (FTP), электронную почту (mailto), доступ к базам данных (JDBC), а также другие протоколы, зависящие от платформы. На некоторых платформах с помощью OpenURL можно выполнять в Unity разные типы задач.

Команда OpenURL обладает широкими возможностями: на некоторых платформах она может открывать локальные файлы, запускать команды и устанавливать соединения по любому протоколу, который поддерживают платформа и её изолированная среда безопасности.

Метод OpenURL выполняется с теми же разрешениями, что и само приложение. Например, если приложение работает как проигрыватель WebGL в браузере на настольном компьютере, оно не может обращаться к локальным файлам, поскольку платформа WebGL выполняется в изолированной среде безопасности. На таких платформах, как исполняемое приложение для настольной системы, этот метод обладает более широкими возможностями, поскольку выполняется без изолированной среды и с меньшим числом ограничений безопасности.

На настольных платформах риски безопасности при использовании этого метода следует считать сопоставимыми с рисками функции типа ЭВАЛ, присутствующей в большинстве языков программирования.

Если приложение использует OpenURL для открытия строк URL, полученных от третьей стороны или сформированных из данных пользователя, такие данные следует считать недоверенными: они могут привести к выполнению произвольного кода с разрешениями приложения. Недоверенные данные необходимо очистить и проверить, чтобы они формировали именно те входные данные, которые ожидает приложение.

Важно: не передавайте функции OpenURL строку из недоверенного внешнего источника, чтобы предотвратить вредоносные действия стороннего программного обеспечения.

WebGL: начиная с версий 2019.4.25f1, 2020.3.5f1, 2021.1.2f1 и 2021.2.0a11 метод Application.OpenURL открывает URL в новой вкладке браузера. В предыдущих версиях Application.OpenURL открывает URL в той же вкладке, завершая работу активного приложения Unity. Чтобы настроить это поведение в любой версии, реализуйте собственную функцию открытия URL с пользовательским файлом .jslib и методом C# вместо использования Application.OpenURL. Дополнительные сведения и примеры см. в разделе Взаимодействие со скриптами браузера.

Android: из-за изменений безопасности в Android 7.0 (дополнительные сведения) Application.OpenURL больше нельзя использовать для открытия локальных файлов приложения. Чтобы предоставить файлы другим приложениям, необходимо использовать FileProvider.

iOS: Application.OpenURL нельзя использовать для открытия локальных файлов.

Пример:

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Application.OpenURL("http://unity3d.com/"); } }