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

WinRT API в C# скриптах для UWP

Unity поддерживает Windows Runtime (WinRT) при сборке для Universal Windows Platform со скриптовым бэкендом IL2CPP. Поддержка Windows Runtime позволяет вызывать как нативные системные API Windows Runtime, так и пользовательские файлы .winmd непосредственно из управляемых скриптов и плагинов C#.

Unity автоматически ссылается на Windows Runtime APIs, например, Windows.winmd на универсальной Windows платформе. Чтобы использовать пользовательские файлы .winmd, импортируйте их в папку проекта Unity вместе с любыми сопровождающими файлами DLLs и настройте их. Дополнительную информацию см. в Импорт и настройка плагинов.

Чтобы использовать WinRT API в своих Unity скриптах:

  • Ваши скрипты должны быть написаны в C#.
  • Весь код, который использует WinRT API должен быть под ENABLE_WINMD_SUPPORT директива. Это необходимо потому, что Редактор использует Mono, который не поддерживает WinRT APIs.

Следующий пример кода получает рекламу ID, используя WinRT API непосредственно:

using UnityEngine;
public class WinRTAPI : MonoBehaviour
{
    void Update()
    {
        auto adId = GetAdvertisingId();
        // ...
    }

    string GetAdvertisingId()
    {
        #if ENABLE_WINMD_SUPPORT
            return Windows.System.UserProfile.AdvertisingManager.AdvertisingId;
        #else
            return "";
        #endif
    }
}

Дополнительные ресурсы