# 适用于 UWP 的 C# 脚本中的 WinRT API

> Use WinRT API directly in Unity scripts for UWP.

启用 Windows 运行时支持后，可直接在 Unity 脚本中使用 WinRT API。有关如何使用 WinRT API 和启用 Windows 运行时支持的信息，请参阅 [Windows 运行时支持](/engine/6000.0/manual/scripting/compilation-and-code-reload/backends/il2cpp/il2cpp-windows-runtime-support.md)。

您需要满足以下要求才能在 Unity 脚本中使用 WinRT API：

* 脚本必须用 C# 编写。
* API 兼容性级别必须在[播放器设置](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings.md)中设为 .NET 4.6 或 .NET Standard 2.0。
* 所有使用 WinRT API 的代码都必须位于 `ENABLE_WINMD_SUPPORT` 指令下。这是必要的，因为编辑器使用 Mono，它不支持 WinRT API。

以下代码示例演示了如何使用 WinRT API 直接投放广告：

```C#
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
    }
}
```

## 其他资源##additional-resources

* [Windows 运行时支持](/engine/6000.0/manual/scripting/compilation-and-code-reload/backends/il2cpp/il2cpp-windows-runtime-support.md)
* [关于利用 Unity for HoloLens 使用 WinRT API 的 Microsoft 文档](https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unity/using-the-windows-namespace-with-unity-apps-for-hololens)
