다음을 통해 공유


앱 알림의 사용자 지정 오디오

앱 알림은 사용자 지정 오디오를 사용할 수 있으며, 이를 통해 앱은 브랜드의 고유한 음향 효과를 표현할 수 있습니다. 예를 들어 메시징 앱은 앱 알림에 고유한 메시징 소리를 사용할 수 있으므로 사용자는 일반 알림 소리를 듣는 대신 앱에서 알림을 받았다는 것을 즉시 알 수 있습니다.

UWP 커뮤니티 도구 키트 NuGet 패키지 설치

코드를 통해 알림을 만들려면 알림 XML 콘텐츠에 대한 개체 모델을 제공하는 UWP 커뮤니티 도구 키트 알림 라이브러리를 사용하는 것이 좋습니다. 알림 XML을 수동으로 생성할 수 있지만 오류가 발생하기 쉽고 지저분합니다. UWP 커뮤니티 도구 키트 내의 알림 라이브러리는 Microsoft에서 알림을 소유하는 팀에서 빌드 및 유지 관리합니다.

NuGet에서 Microsoft.Toolkit.Uwp.Notifications을 설치합니다.

네임스페이스 선언 추가

using Microsoft.Toolkit.Uwp.Notifications;

사용자 지정 오디오 추가

Windows Mobile은 항상 토스트 알림에서 사용자 지정 오디오를 지원합니다. 그러나 Desktop은 버전 1511(빌드 10586)에서만 사용자 지정 오디오에 대한 지원을 추가했습니다. 버전 1511 이전의 데스크톱 디바이스에 사용자 지정 오디오를 포함한 토스트를 보내면 해당 토스트는 소리가 나지 않습니다. 따라서 데스크톱 이전 버전 1511의 경우 알림 메시지에 사용자 지정 오디오를 포함하지 않아야 합니다. 따라서 알림은 적어도 기본 알림 소리를 사용합니다.

알려진 문제: 데스크톱 버전 1511을 사용하는 경우 앱이 스토어를 통해 설치된 경우에만 사용자 지정 알림 오디오가 작동합니다. 즉, 스토어에 제출하기 전에 데스크톱에서 사용자 지정 오디오를 로컬로 테스트할 수 없지만 스토어에서 설치하면 오디오가 제대로 작동합니다. 로컬로 배포된 앱의 사용자 지정 오디오가 제대로 작동할 수 있도록 1주년 업데이트에서 이 문제를 해결했습니다.

var contentBuilder = new ToastContentBuilder()
    .AddText("New message");

    
bool supportsCustomAudio = true;
 
// If we're running on Desktop before Version 1511, do NOT include custom audio
// since it was not supported until Version 1511, and would result in a silent toast.
if (AnalyticsInfo.VersionInfo.DeviceFamily.Equals("Windows.Desktop")
    && !ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 2))
{
    supportsCustomAudio = false;
}
 
if (supportsCustomAudio)
{
    contentBuilder.AddAudio(new Uri("ms-appx:///Assets/Audio/CustomToastAudio.m4a"));
}

// Send the toast
contentBuilder.Show();

지원되는 오디오 파일 형식은 다음과 같습니다.

  • .aac
  • .flac
  • .m4a
  • .mp3
  • .wav
  • .wma

지원되는 오디오 파일 원본:

  • ms-appx:///
  • ms-resource

지원되지 않는 오디오 파일 소스:

  • ms-appdata
  • http://, https://
  • C:/, F:/ 등

알림 보내기

오디오로 알림을 보내는 것은 일반 알림을 보내는 것과 같습니다(Show 메서드를 호출하기만 하면 됩니다). 자세한 내용은 로컬 토스트 알림 보내기를 참조하세요.