Описание
Предоставляет доступ к вашим удаленным настройкам.
В начале нового сеанса вашего приложения Unity отправляет сетевой запрос последней конфигурации удаленных настроек из службы аналитики. Unity запрашивает конфигурацию выпуска при выполнении обычных сборок вашего приложения, не связанных с разработкой, и запрашивает конфигурацию разработки при запуске сборок разработки. Режим воспроизведения в редакторе Unity считается сборкой для разработки.
Примечание. Чтобы Unity запросила конфигурацию для разработки, вы должны собрать приложение с помощью Unity версии 5.6.0p4+, 5.6.1p1+, 2017.1+ или Unity 5.5.3p4+, а также отметить сборку для разработки. флажок в окне настроек сборки. Если вы создаете игру с помощью более старой версии Unity, Unity всегда запрашивает конфигурацию Release.
Объект RemoteSettings
отправляет событие BeforeFetchFromServer:: перед тем, как сделать сетевой запрос настроек.
Объект Remote Settings
затем отправляет событие Updated, если доступен файл конфигурации. Обратите внимание, что если сетевой запрос завершается неудачно, а удаленный файл конфигурации недоступен, объект RemoteSettings
проверяет наличие локального кэшированного файла конфигурации. Если это так, он использует эти кэшированные значения и по-прежнему отправляет Updated. Updated не отправляется только тогда, когда удаленный запрос терпит неудачу, и нет кэшированной версии.
Вне зависимости от успешности удаленного запроса объект RemoteSettings
отправляет событие Completed. Параметры, передаваемые событию Completed
, содержат код ответа HTTP и информацию о том, был ли получен удаленный файл конфигурации.
Когда объект RemoteSettings
получает удаленную конфигурацию, он кэширует файл для использования, когда текущий компьютер или устройство находится в автономном режиме. Однако, если ваш экземпляр игры еще не сохранил настройки (например, когда у игрока нет сетевого подключения при первом запуске игры), объект RemoteSettings не отправляет событие Updated и, следовательно, не обновляет ваши игровые переменные. . Запрос конфигурации удаленных настроек по сети — это асинхронный процесс, который может не завершиться до завершения загрузки исходной сцены или вообще не завершиться успешно, поэтому вам всегда следует инициализировать игровые переменные с разумными значениями по умолчанию.
Примечание. Веб-служба, из которой Unity загружает конфигурацию удаленных настроек, доступна только для чтения, но не защищена. Это означает, что конфигурация может быть прочитана третьими лицами. Вы не должны помещать конфиденциальную или секретную информацию в свои удаленные настройки. Точно так же сохраненный файл настроек может быть прочитан и изменен конечными пользователями (хотя любые изменения перезаписываются при следующем запуске сеанса при доступном подключении к Интернету).
Создавайте удаленные настройки в виде пар "ключ-значение" на панели управления Analytics.
В настройках удаленного доступа можно сохранять только базовые типы (int, float, string и boolean).
Смотрите так же: Remote Settings (Manual).
using UnityEngine;
public class HandleRemoteSettings : MonoBehaviour
{
private void Start()
{
// Add this class's updated settings handler to the RemoteSettings.Updated event.
RemoteSettings.Updated += RemoteSettingsUpdated;
}
private static void RemoteSettingsUpdated()
{
Debug.Log("***** GOT NEW REMOTE SETTINGS ******");
Debug.Log(RemoteSettings.GetInt("testInt"));
Debug.Log(RemoteSettings.GetString("testString"));
Debug.Log(RemoteSettings.GetFloat("testFloat"));
Debug.Log(RemoteSettings.GetBool("testBool"));
Debug.Log(RemoteSettings.GetBool("testFakeKey"));
Debug.Log(RemoteSettings.GetBool("testFakeKey", true));
Debug.Log(RemoteSettings.HasKey("qqq"));
Debug.Log(RemoteSettings.HasKey("testInt"));
Debug.Log(RemoteSettings.GetBool("unity.heatmaps"));
}
}
Статические Методы
ForceUpdate | Заставляет игру загружать самые новые настройки с сервера и обновлять их значения. |
GetBool | Получает значение, соответствующее удаленной настройке, определяемой ключом, если он существует. |
GetCount | Получает количество ключей в конфигурации удаленных настроек. |
GetDictionary | Получает словарь, соответствующий удаленному параметру, определяемому ключом, если он существует. |
GetFloat | Получает значение, соответствующее удаленной настройке, определяемой ключом, если он существует. |
GetInt | Получает значение, соответствующее удаленной настройке, определяемой ключом, если он существует. |
GetKeys | Получает массив, содержащий все ключи в конфигурации удаленных настроек. |
GetLong | Получает значение, соответствующее удаленной настройке, определяемой ключом, если он существует. |
GetObject | Получает объект, соответствующий удаленной настройке, определяемой ключом, если он существует. |
GetString | Получает значение, соответствующее удаленной настройке, определяемой ключом, если он существует. |
HasKey | Сообщает, существует ли указанный ключ в конфигурации удаленных настроек. |
WasLastUpdatedFromServer | Сообщает, были ли параметры, доступные из объекта RemoteSettings, получены от службы аналитики во время текущего сеанса. |
События
BeforeFetchFromServer | Отправляется до того, как объект RemoteSettings сделает сетевой запрос последних настроек. |
Completed | Отправляется, когда сетевой запрос объекта RemoteSettings на получение файла удаленной конфигурации завершен. |
Updated | Отправляется при получении и успешном анализе конфигурации удаленных параметров с сервера или из локального кэша. |
Делегаты
UpdatedEventHandler | Определяет подпись делегата для обработки событий RemoteSettings.Updated. |