Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

Unity 프로젝트에 Firebase 추가

Firebase Unity SDK를 활용하여 Unity 게임을 업그레이드해 보세요.

Firebase를 Unity 프로젝트에 연결하는 것이 얼마나 간편한지 보여드리기 위해 Google은 MechaHamster라는 샘플 게임을 제작했으며 GitHub, App Store, Google Play 스토어에서 다운로드할 수 있습니다.

MechaHamster(GitHub)

MechaHamster(App Store)

MechaHamster(Play 스토어)


Firebase 게임 페이지에서 Firebase로 게임을 업그레이드하는 방법을 자세히 알아보세요.

Unity 프로젝트에 Firebase를 이미 추가하셨나요? Firebase Unity SDK의 최신 버전을 사용 중인지 확인합니다.

기본 요건

  • Unity 5.3 이상을 설치합니다.

  • (iOS만 해당) 다음을 설치합니다.

    • Xcode 9.4.1 이상
    • CocoaPods 1.4.0 이상
  • Unity 프로젝트가 다음 요구 사항을 충족하는지 확인합니다.

    • iOS의 경우 — iOS 8 이상 타겟팅
    • Android의 경우 — API 수준 16(Jelly Bean) 이상 타겟팅
  • 실제 기기를 설정하거나 에뮬레이터를 사용하여 앱을 실행합니다.

    • iOS의 경우 — 실제 iOS 기기를 설정하거나 iOS 시뮬레이터를 사용합니다.

    • Android의 경우에뮬레이터에서 Google Play가 포함된 에뮬레이터 이미지를 사용해야 합니다.

Unity 프로젝트가 준비되지 않았지만 Firebase 제품을 사용해 보고자 하는 경우 빠른 시작 샘플 중 하나를 다운로드하세요.

1단계: Firebase 프로젝트 만들기

Unity 프로젝트에 Firebase를 추가하려면 우선 Unity 프로젝트에 연결할 Firebase 프로젝트를 만들어야 합니다. Firebase 프로젝트에 대한 자세한 내용은 Firebase 프로젝트 이해를 참조하세요.

2단계: Firebase에 앱 등록

Firebase 프로젝트에 연결할 앱 또는 게임을 1개 이상 등록할 수 있습니다.

  1. Firebase Console로 이동합니다.

  2. 프로젝트 개요 페이지 중앙에 있는 Unity 아이콘()을 클릭하여 설정 워크플로를 시작합니다.

    Firebase 프로젝트에 앱을 이미 추가한 경우 앱 추가를 클릭하여 플랫폼 옵션을 표시합니다.

  3. 등록하려는 Unity 프로젝트의 빌드 타겟을 선택하거나 이제 동시에 두 타겟을 등록하도록 선택할 수도 있습니다.

  4. Unity 프로젝트의 플랫폼별 ID를 입력합니다.

    • iOS의 경우iOS 번들 ID 필드에 Unity 프로젝트의 iOS ID를 입력합니다.

    • Android의 경우Android 패키지 이름 필드에 Unity 프로젝트의 Android ID를 입력합니다.
      패키지 이름애플리케이션 ID는 같은 개념입니다.

  5. (선택사항) Unity 프로젝트의 플랫폼별 닉네임을 입력합니다.
    이러한 닉네임은 편의상 지정하는 내부용 식별자로 Firebase Console에서 본인만 볼 수 있습니다.

  6. 앱 등록을 클릭합니다.

3단계: Firebase 구성 파일 추가

  1. Firebase Console 설정 워크플로에서 플랫폼별 Firebase 구성 파일을 가져옵니다.

    • iOS의 경우GoogleService-Info.plist 다운로드를 클릭합니다.

    • Android의 경우google-services.json 다운로드를 클릭합니다.

  2. Unity 프로젝트의 프로젝트 창을 연 다음 구성 파일을 Assets 폴더로 이동합니다.

  3. Firebase Console로 돌아가서 설정 워크플로에서 다음을 클릭합니다.

4단계: Firebase Unity SDK 추가

Unity Package Manager를 사용하여 Unity 프로젝트에 지원되는 Firebase 제품을 추가하거나 수동으로 SDK를 설치할 수 있습니다.

Unity Package Manager

Unity 2018.4 이상 및 .NET 4.x 또는 .NET Standard 2.0을 사용 중인 경우 Unity Package Manager를 사용하여 Firebase SDK 구성요소를 설치할 수 있습니다.

  1. Google의 게임 패키지 레지스트리를 Unity 프로젝트에 추가합니다.

    • 이전에 Firebase SDK와 EDM4U(이전 명칭: Play Services Resolver)를 가져온 적이 없는 경우 다음 블록을 Packages/manifest.json에 수동으로 추가할 수 있습니다.

      "scopedRegistries": [
        {
          "name": "Game Package Registry by Google",
          "url": "https://unityregistry-pa.googleapis.com",
          "scopes": [
            "com.google"
          ]
        }
      ]
      

      Facebook SDK와 같은 일부 SDK의 .unitypackage에는 EDM4U가 포함되어 있을 수도 있습니다. Assets/ExternalDependencyManager 또는 Assets/PlayServicesResolver 폴더가 있는지 확인합니다. 해당 폴더가 있으면 Unity Package Manager를 통해 Firebase SDK를 설치하기 전에 삭제하세요.

    • 기존 SDK를 마이그레이션하거나 대화형 방법을 선호하는 경우 최신 External Dependency Manager for Unity(EDM4U)를 가져옵니다.

      Unity Package Manager Resolver에서 프로젝트에 Google의 게임 패키지 레지스트리를 추가하라는 메시지를 표시합니다. 레지스트리를 선택하고 선택한 레지스트리 추가 버튼을 클릭합니다.

      • EDM4U가 현재 Unity 프로젝트 폴더 아래의 Packages/manifest.json에 레지스트리를 추가합니다.

      • 나중에 Assets(애셋) > External Dependency Manager(외부 종속 항목 관리자) > Unity Package Manager Resolver(Unity 패키지 관리자 리졸버) > Add Registries(레지스트리 추가) 또는 Window(창) > Google > Game Package Registry(게임 패키지 레지스트리) > Add To Project(프로젝트에 추가) 메뉴 옵션을 사용하여 이 레지스트리를 수동으로 추가할 수도 있습니다.

  2. .unitypackage를 통해 가져온 기존 Firebase 및 EDM4U 패키지를 Unity Package Manager로 마이그레이션합니다. 이 작업은 다음 방법 중 하나로 수행할 수 있습니다.

    • EDM4U에서 레지스트리를 추가하면 '패키지 마이그레이션'이라는 팝업 대화상자가 열립니다. 이 대화상자에는 Unity Package Manager를 통해 설치할 수 있는 모든 패키지가 나열됩니다. 모두 선택하고 적용 버튼을 클릭하는 것이 좋습니다.

    • 나중에 Assets(애셋) > External Dependency Manager(외부 종속 항목 관리자) > Unity Package Manager Resolver(Unity 패키지 관리자 리졸버) > Migrate Packages(패키지 마이그레이션) 메뉴 옵션을 사용하여 이 대화상자를 수동으로 표시할 수도 있습니다.

    • 다음 단계를 따라 .unitypackage를 통해 가져온 모든 패키지를 수동으로 마이그레이션할 수도 있습니다.

      1. Assets 폴더에서 Firebase Unity SDK와 EDM4U를 모두 삭제합니다. EDM4U는 관리형 패키지 제거 도구를 제공하며, 이 도구는 Assets(애셋) > External Dependency Manager(외부 종속 항목 관리자) > Version Handler(버전 핸들러) > Uninstall Managed Packages(관리형 패키지 제거) 메뉴 옵션을 사용하여 액세스할 수 있습니다. All Firebase SDKs(모든 Firebase SDK)External Dependency Manager(외부 종속 항목 관리자)를 선택하고 Uninstall Selected Packages(선택한 패키지 제거)를 클릭합니다.

        • 또는 Assets(애셋) 폴더에서 SDK를 수동으로 삭제할 수도 있습니다.
      2. Window(창) > Package Manager(패키지 관리자)를 선택하고 Firebase를 검색하여 Unity Package Manager를 통해 Firebase Unity SDK 구성요소를 설치합니다. Firebase Unity SDK 구성요소는 이 인터페이스를 통해 설치, 업그레이드 및 삭제할 수 있습니다.

  3. 이제 Window(창) > Package Manager(패키지 관리자)를 선택하여 Unity Package Manager를 통해 Firebase Unity SDK 구성요소 또는 Google 패키지를 탐색하고 설치할 수 있습니다. 이러한 모든 구성요소는 이 인터페이스를 통해 설치, 업그레이드 및 삭제할 수 있습니다.

수동 설치

  1. Firebase Console에서 Firebase Unity SDK 다운로드를 클릭한 후 원하는 위치에 SDK의 압축을 풉니다.

    • 언제든 Firebase Unity SDK를 다시 다운로드할 수 있습니다.

    • Firebase Unity SDK는 플랫폼별로 제공되지 않습니다.

  2. Unity 프로젝트를 열고 Assets(애셋) > Import Package(패키지 가져오기) > Custom Package(커스텀 패키지)로 이동합니다.

  3. 압축을 푼 SDK에서 앱에 사용할 지원되는 Firebase 제품을 선택합니다.

    애널리틱스를 사용 설정한 경우

    • Google 애널리틱스용 Firebase 패키지인 FirebaseAnalytics.unitypackage를 추가합니다.
    • 앱에서 사용할 다른 Firebase 제품의 패키지를 추가합니다. 예를 들어 Firebase 인증 및 Firebase 실시간 데이터베이스를 사용하려면 다음을 추가하세요.
      FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

    애널리틱스를 사용 설정하지 않은 경우

    앱에서 사용할 다른 Firebase 제품의 패키지를 추가합니다. 예를 들어 Firebase 인증 및 Firebase 실시간 데이터베이스를 사용하려면 다음을 추가하세요.
    FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

  4. Import Unity Package(Unity 패키지 가져오기) 창에서 Import(가져오기)를 클릭합니다.

  5. Firebase Console로 돌아가서 설정 워크플로에서 다음을 클릭합니다.

5단계: Google Play 서비스 버전 요구사항 확인

Google Play 서비스가 최신 상태여야 Android용 Firebase Unity SDK를 사용할 수 있습니다.

애플리케이션 시작 시 다음 코드를 추가하세요. Firebase Unity SDK에서 다른 메소드를 호출하기 전에 Google Play 서비스를 확인하고 필요한 경우 SDK에 필요한 버전으로 업데이트해야 합니다.

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

이제 준비가 끝났습니다. Firebase를 사용하기 위한 Unity 프로젝트 등록 및 구성 작업을 마쳤습니다.

알려진 문제

Unity 2017.x 이상 버전을 사용하는 경우 .NET 호환성

Firebase는 Unity 2017 이상 버전에서 실험용 빌드 옵션으로 .NET 4.x를 지원합니다. 이전 버전의 .NET에서는 Firebase 플러그인이 Parse SDK 구성요소를 사용해 일부 .NET 4.x 클래스를 제공합니다.

따라서 Firebase Unity SDK 5.4.0 이상 버전은 Firebase Unity SDK의 dotnet3dotnet4 디렉터리에서 .NET 3.x 또는 .NET 4.x와 호환되는 플러그인을 제공합니다.

프로젝트에서 사용 설정된 .NET 버전과 호환되지 않는 Firebase 플러그인을 가져오면 Parse SDK로 구현된 .NET 프레임워크에서 컴파일 오류가 발생할 수 있습니다.

.NET 3.x를 사용하는 경우 다음과 같은 방법으로 컴파일 오류를 해결하세요.

  1. 모든 플랫폼에서 다음 DLL을 삭제하거나 사용 중지합니다.
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll
  2. 모든 플랫폼에서 다음 DLL을 사용 설정합니다.
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll

.NET 4.x를 사용하는 경우 다음과 같은 방법으로 컴파일 오류를 해결하세요.

  1. 모든 플랫폼에서 다음 DLL을 삭제하거나 사용 중지합니다.
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll
  2. 모든 플랫폼에서 다음 DLL을 사용 설정합니다.
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll

다른 Firebase 플러그인을 가져오는 경우

  • Unity 프로젝트에서 Assets(애셋) > Play Services Resolver(Play 서비스 리졸버) > Version Handler(버전 핸들러) > Update(업데이트)로 이동하여 프로젝트에 해당하는 정확한 DLL을 사용 설정합니다.

.NET 4.x 프로젝트에서 Unity 2017.1 IL2CPP 컴파일

Firebase는 Unity 2017 이상 버전에서 실험용 빌드 옵션으로 .NET 4.x를 지원합니다. 이전 버전의 .NET에서는 Firebase 플러그인이 Parse SDK 구성요소를 사용해 일부 .NET 4.x 클래스를 제공합니다.

따라서 Firebase Unity SDK 5.4.0 이상 버전은 Parse 유형(예: System.Threading.Tasks.Task의 Parse 구현)을 .NET 프레임워크에 전달하는 유형 전달 DLL을 제공합니다. 하지만 Unity 2017.1.x에 제공된 IL2CPP(C#을 C++로 변환하는 변환기)는 유형 전달 DLL을 올바르게 처리하지 않기 때문에 다음과 비슷한 빌드 오류가 발생합니다.

Fatal error in Unity CIL Linker Mono.Cecil.ResolutionException: Failed to
resolve System.Threading.Tasks.TaskCompletionSource`1<T>

현재 Unity 2017.1에서 발생하는 .NET 4.x IL2CPP 빌드 오류 해결 방법은 없으므로 IL2CPP로 컴파일한 프로젝트에서 .NET 4.x를 사용하려면 Unity 2017.2 이상으로 업그레이드해야 합니다.

Unity 2017.2 네트워킹

Firebase 실시간 데이터베이스는 .NET 네트워킹 스택을 사용해 TLS 네트워크 연결을 만듭니다. Unity 2017.2에서는 .NET 4.6 사용 시 TLS 기능에 문제가 생겨 편집기 및 데스크톱의 실시간 데이터베이스 플러그인에 오류가 발생합니다.

이 문제는 해결 방법이 없으며 2017.1 또는 2017.3 등 다른 버전의 Unity를 사용해야 합니다.

Unity 2020에서 Firebase Android 구성 파일이 누락됨

Gradle 빌드를 맞춤설정할 수 없는 Unity 버전을 지원하기 위해 Firebase 편집기 도구는 Android 빌드로 패키징할 Android 리소스로 Assets/Plugins/Android/Firebase/res/values/google-services.xml을 생성합니다. Firebase SDK는 이 리소스를 사용하여 기본 FirebaseApp 인스턴스를 초기화할 수 있습니다.

Unity 2020에서 모든 Android 리소스는 .androidlib 서픽스가 있는 디렉터리에 있어야 합니다. 프로젝트가 Assets/Plugins/Android/Firebase 디렉터리를 생성하는 Firebase SDK를 사용하는 경우 이름을 Assets/Plugins/Android/Firebase.androidlib로 변경합니다. AndroidManifest.xml, project.properties, res/values/google-services.xml이 포함되어 있는지 확인합니다.

Unity Package Manager를 사용하는 경우 설치 충돌

패키지는 다양한 소스에서 설치할 수 있습니다. 예를 들어 External Dependency Manager for Unity(EDM4U, 이전 명칭은 Play Services Resolver 또는 Unity Jar Resolver)를 다음과 같은 방법으로 설치할 수 있습니다.

  • External Dependency Manager .unitypackage 가져오기
  • .unitypackageEDM4U가 포함된 Firebase SDK 또는 다른 SDK 가져오기
  • Unity Package Manager를 통해 External Dependency Manager 설치
  • Unity Package Manager를 통해 EDM4U를 종속 항목으로 설정하는 Firebase SDK 또는 기타 SDK 설치

EDM4U.unitypackageUnity Package Manager를 통해 동시에 설치되면 설치 충돌이 발생하며 Unity에 GUID 충돌 또는 기호 충돌에 대한 오류가 표시될 수 있습니다. EDM4U는 현재 이러한 상황에 대한 해결 방법을 제공하지 않습니다. 이 경우 해결 방법은 다음과 같습니다.

  • 이전에 Firebase 및 EDM4UUnity Package Manager로 마이그레이션한 적이 있으며 .unitypackageEDM4U가 포함된 다른 SDK(예: Google Ads 또는 Facebook SDK)를 가져온 경우 Assets/ExternalDependencyManager 또는 Assets/PlayServicesResolver 폴더를 제거하기만 하면 됩니다.
  • Assets 폴더에서 삭제하기 전에 Unity Package Manager를 통해 실수로 EDM4U를 설치한 경우 다음 단계에 따라 충돌을 해결합니다.
    1. Assets/ExternalDependencyManager 또는 Assets/PlayServicesResolver 폴더를 삭제합니다.
    2. Unity Package Manager에서 Firebase 및 EDM4U 패키지를 모두 제거합니다.
    3. UPM에서 필요한 Firebase 및 EDM4U 패키지를 모두 다시 설치합니다.

Unity 2018에서 Unity Package Manager를 통해 설치된 Firebase 관련 문제

Unity 2018에서 Unity Package Manager를 통해 Firebase를 설치하면 EDM4U에서 Firebase의 Android 및 iOS 기반 종속 항목 중 일부를 검색하지 못할 수 있습니다. 그 이유는 종속 항목으로 설치된 패키지의 파일이 Unity의 AssetDatabase에 등록되어 있지 않기 때문입니다. 가장 일반적인 문제는 DllNotFoundException으로 인해 Android에서 FirebaseApp을 만들 수 없는 것입니다.

예를 들어 Unity Package Manager를 통해 Realtime Database를 설치하면 AuthFirebase App (Core)은 모두 종속 항목으로 자동 설치됩니다. 하지만 EDM4U는 Android 및 iOS 기반 종속 항목이 포함된 AuthDependencies.xmlAppDependencies.xml을 검색할 수 없는데, 이 두 파일은 Unity 2018의 AssetDatabase에 등록되어 있지 않기 때문입니다. 따라서 일부 네이티브 라이브러리는 Android 또는 iOS 빌드에서 누락될 수도 있습니다.

이 문제를 해결하려면 모든 Firebase 패키지를 Unity Package Manager를 통해 명시적으로 설치해야 합니다. 예를 들어 Realtime Database를 설치하려면 Unity Package Manager를 통해서도 AuthFirebase App (Core)install을 클릭해야 합니다.

Android 앱 빌드 도중 단일 dex 관련 문제

Android 앱을 빌드하는 동안 단일 dex 파일 보유와 관련된 빌드 실패가 발생할 수 있습니다. 프로젝트가 Gradle 빌드 시스템을 사용하도록 구성된 경우 오류 메시지는 다음과 유사합니다.

Cannot fit requested classes in a single dex file.

Dalvik 실행 파일(.dex)은 Android 애플리케이션(.apk)의 클래스 정의 및 관련 부속 데이터를 저장하는 데 사용됩니다. 단일 dex 파일은 65,536개의 메서드를 참조하도록 제한됩니다. 프로젝트의 모든 Android 라이브러리에 있는 총 메서드 개수가 이 한도를 초과하면 빌드가 실패합니다.

Unity는 2017.2 버전에 압축 기능을 도입했습니다. 이 기능은 Proguard(또는 Unity 일부 버전의 다른 도구)를 사용하여 사용하지 않는 코드를 제거함으로써 단일 dex 파일에 참조된 메서드의 총 개수를 줄일 수 있습니다. 이 옵션은 Player Settings(플레이어 설정) > Android > Publishing Settings(게시 설정) > Minify(압축)에서 찾을 수 있습니다. 옵션은 Unity 버전마다 다를 수 있으므로 공식 Unity 문서를 참조하세요.

참조된 메서드의 개수가 여전히 한도를 초과하는 경우 또 다른 옵션은 multidex를 사용 설정하는 것입니다. Unity에서 이를 수행하는 방법에는 여러 가지가 있습니다.

  • Player Settings 아래의 Custom Gradle Template이 사용 설정되어 있으면 mainTemplate.gradle을 수정합니다.
  • Android 스튜디오를 사용하여 내보낸 프로젝트를 빌드하는 경우 모듈 수준 build.gradle 파일을 수정합니다.

자세한 내용은 멀티덱스 사용자 가이드를 참조하세요.

데스크톱 워크플로(베타) 설정

게임을 만들 때 Unity 편집기와 데스크톱 플랫폼에서 먼저 게임을 테스트한 다음, 개발 과정의 이후 단계에서 휴대기기에 배포하고 테스트하는 것이 한결 간편한 경우가 많습니다. Google은 이러한 워크플로를 지원하기 위해 Windows, macOS, Linux 및 Unity 편집기 내에서 실행할 수 있는 Firebase Unity SDK의 하위 집합을 제공합니다.

  1. 모바일 플랫폼과 동일한 안내에 따라 데스크톱 플랫폼 Unity 프로젝트를 설정합니다(위의 Firebase에 앱 등록하기 단계부터 시작).

  2. Unity IDE에서 Unity 프로젝트를 실행하거나 데스크톱용 Unity 프로젝트 빌드를 선택합니다.

  3. (선택사항) Unity 프로젝트를 수정 모드로 실행합니다.

    Unity의 수정 모드에서도 Firebase Unity SDK를 실행할 수 있으므로 편집기 플러그인에서 사용할 수 있습니다.

    1. 편집기에서 사용하는 FirebaseApp을 만들 때 기본 인스턴스를 사용하지 마세요.

    2. 대신 FirebaseApp.Create() 호출에 고유한 이름을 제공합니다.

      이렇게 해야 Unity IDE에서 사용하는 인스턴스와 Unity 프로젝트에서 사용하는 인스턴스 간에 옵션 충돌을 방지할 수 있습니다.

지원되는 Firebase 제품

Unity Firebase 라이브러리에 대한 자세한 내용은 참조 문서를 참조하세요.

Firebase Unity SDK가 iOSAndroid에서 지원하는 Firebase 제품은 다음과 같습니다.

Firebase 제품 Unity 패키지
AdMob AdMob Unity 플러그인으로 별도 배포
애널리틱스 FirebaseAnalytics.unitypackage
인증 FirebaseAuth.unitypackage
Cloud Firestore(알파) FirebaseFirestore.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
클라우드 메시징 FirebaseMessaging.unitypackage
(권장) FirebaseAnalytics.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(권장) FirebaseAnalytics.unitypackage
동적 링크 FirebaseDynamicLinks.unitypackage
(권장) FirebaseAnalytics.unitypackage
실시간 데이터베이스 FirebaseDatabase.unitypackage
원격 구성 FirebaseRemoteConfig.unitypackage
(권장) FirebaseAnalytics.unitypackage

지원되는 Firebase 제품(데스크톱)

Firebase Unity SDK에는 Unity 편집기 및 Windows, macOS, Linux의 독립형 데스크톱 빌드에서 Firebase의 특정 부분을 사용할 수 있도록 일부 제품에 대한 데스크톱 워크플로 지원이 포함되어 있습니다.

Firebase 제품(데스크톱) Unity 패키지
인증 FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Firestore(알파) FirebaseFirestore.unitypackage
Cloud Storage FirebaseStorage.unitypackage
실시간 데이터베이스 FirebaseDatabase.unitypackage
원격 구성 FirebaseRemoteConfig.unitypackage

Firebase는 Windows, macOS, Linux용으로 빌드할 때 편의상 비기능적 스터브 구현으로 나머지 데스크톱 라이브러리를 제공합니다. 따라서 데스크톱을 타겟팅하기 위해 코드를 조건부로 컴파일할 필요가 없습니다.

다음 단계