기타 Unity API

중요

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아보세요.

로그 수준 조정

콘솔의 App Center에서 표시되는 로그 메시지 수를 제어할 수 있습니다. -API를 LogLevel사용하여 디버깅하는 동안 추가 로깅을 사용하도록 설정합니다. 기본적으로 App Store 환경에 대해 로 설정되고 WARN 그렇지 않으면 로 설정 ASSERT 됩니다.

가능한 한 많은 로그 메시지를 포함하려면 App Center 설정 또는 코드 내에서 를 사용하도록 설정합니다 LogLevel.Verbose .

AppCenter.LogLevel = LogLevel.Verbose;

설치 식별

App Center SDK는 앱이 설치되면 각 디바이스에 대한 UUID를 만듭니다. 이 식별자는 앱이 업데이트되는 경우 디바이스에 대해 동일하게 유지됩니다. 새 식별자는 앱이 다시 설치될 때만 생성됩니다. 다음 API는 디버깅 목적으로 유용합니다.

System.Guid? installId = await AppCenter.GetInstallIdAsync();

사용자 식별

App Center SDK는 크래시 보고서를 보강하는 데 사용되는 사용자 ID 설정을 지원합니다. 이 기능을 사용하려면 다음을 수행합니다.

  1. App Center SDK 시작 가이드에 설명된 대로 App Center SDK를 구성합니다.
  2. userID 다음 코드를 사용하여 SDK에서 를 설정합니다.
AppCenter.SetUserId("your-user-id");

사용자 ID를 설정한 후 App Center의 검색 기능을 사용하여 ID에 대한 특정 크래시 보고서를 검색할 수 있습니다. App Center의 검색 설명서에서 자세히 알아보세요.

참고

사용자 ID의 값은 256자로 제한됩니다. 충돌 보고서와 함께 표시되지만 영향을 받는 사용자의 집계 또는 수에는 사용되지 않습니다. 사용자 ID를 여러 번 설정하는 경우 마지막 사용자 ID만 사용됩니다. 이 값은 시작 사이에 SDK에 의해 저장되지 않으므로 각 애플리케이션을 시작하기 전에 사용자 ID를 직접 설정해야 합니다.

런타임에 모든 서비스 사용 안 함

모든 App Center 서비스를 한 번에 사용하지 않도록 설정하려면 속성을 사용합니다 Enabled . 사용하지 않도록 설정하면 SDK는 App Center에 정보를 전달하지 않습니다.

AppCenter.SetEnabledAsync(false);

모든 서비스를 한 번에 사용하도록 설정하려면 동일한 API를 사용하지만 매개 변수로 전달 true 합니다.

AppCenter.SetEnabledAsync(true);

다른 API 호출(예: IsEnabledAsync)을 일관되게 만들기 위해 이 호출을 기다릴 필요가 없습니다.

상태는 애플리케이션이 시작되는 동안 디바이스의 스토리지에 유지됩니다.

런타임에서 서비스 상태 변경

다음 코드를 사용하여 런타임에 서비스를 사용하거나 사용하지 않도록 설정할 수 있습니다.

Analytics.SetEnabledAsync(true);

네트워크 요청 허용 불허

App Center SDK에서 네트워크 요청은 기본적으로 허용됩니다. App Center SDK가 사용자 우려로 수집하는 데이터를 보내려면 자동 전송 데이터를 허용하지 않습니다.

AppCenter.IsNetworkRequestsAllowed = false;

이 경우 App Center SDK는 계속해서 데이터를 수집하지만 네트워크 요청이 허용되는 경우에만 전송됩니다.

AppCenter.IsNetworkRequestsAllowed = true;

참고

이 값은 시작 사이에 유지됩니다.

언제든지 App Center SDK에서 데이터를 보낼 수 있는지 여부를 검사 수 있습니다.

AppCenter.IsNetworkRequestsAllowed;

참고

이전에 SharedPreferences 저장한 값은 Android 플랫폼에서 시작될 때까지 AppCenter 무시됩니다. AppCenter가 시작되기 전에 값이 변경되지 않은 경우 또는 true 를 사용하여 AppCenter.IsNetworkRequestsAllowed = allowed 설정된 마지막 값을 반환합니다.

App Center가 사용하도록 설정되어 있는지 확인

App Center를 사용할지 여부를 검사 수도 있습니다.

bool enabled = await AppCenter.IsEnabledAsync();

런타임 시 App Center SDK 버전 확인

현재 사용 중인 App Center SDK 버전을 가져올 수 있습니다.

AppCenter.SdkVersion;

App Center 시작 지연

AppCenterBehavior가 시작될 때까지 App Center 시작을 지연하려는 경우가 있을 수 있습니다. 예를 들어 App Center 서비스를 시작하기 전에 사용자 동의를 요청하려는 경우입니다.
이렇게 하려면 AppCenterBehaviorAdvanced를 게임 개체에 추가하고 iOS/Android 앱에서 네이티브 SDK 시작 확인란을 검사. 그러면 AppCenterBehavior의 메서드에서 Start SDK가 시작되고 사용자 지정 대화 상자 또는 기타 논리를 추가할 수 있습니다.

빌드 시 설정을 생성하는 경우 다른 방법은 플레이어 설정기타 설정>>스크립팅 기호 정의로 이동하여 를 붙여넣APPCENTER_DONT_USE_NATIVE_STARTER는 것입니다.

Unity SDK의 비동기 API

비동기 API는 결과를 직접 반환하는 대신 개체를 반환 AppCenterTask 하고 작업이 완료되는 것을 기다리는 대신 즉시 반환합니다.

이러한 메서드와 상호 작용하는 방법에는 세 가지가 있습니다.

방법 1: ContinueWith

의 작업이 완료된 후 AppCenterTask작업을 수행하려면 메서드를 사용하여 콜백을 추가합니다 ContinueWith .

예제:

AppCenter.IsEnabledAsync().ContinueWith(task =>
{
    // Do something with task.Result
});

메서드에 실제 반환 값이 있는 경우 위의 예제와 같이 반환됩니다 AppCenterTask<{Return Type}> . 이러한 경우 콜백의 작업 매개 변수에는 액세스할 수 있는 Result 속성이 있습니다.

방법 2: 기본 제공 언어 기능

.NET 4.6 이상 AppCenterTask 에 대한 액세스 권한이 있는 코드를 작성하는 경우 비동기 컨텍스트에서 ed를 사용할 await수 있습니다.

예제:

bool isEnabled = await AppCenter.IsEnabledAsync();

방법 3: 코루틴

AppCenterTasks는 코루틴에도 사용하기에 적합합니다.

예제:

void SomeMethod()
{
    StartCoroutine(IsEnabledCoroutine());
}

IEnumerator IsEnabledCoroutine()
{
    var isEnabled = AppCenter.IsEnabledAsync();
    yield return isEnabled;

    // do something with the isEnabled
}