다음을 통해 공유


앱 알림 콘텐츠

이 문서에서는 앱 알림에서 사용할 수 있는 UI 요소에 대해 설명하고 알림 콘텐츠를 생성하기 위한 코드 예제를 제공합니다. 앱 알림에 대한 자세한 내용은 앱 알림 개요를 참조하세요. 앱 알림을 구현하는 연습은 Quickstart: Windows 앱 SDK 앱 알림을 참조하세요.

시작하기

앱 알림은 앱 알림 스키마에 의해 정의된 XML 페이로드로 정의됩니다. 현재 앱 알림에 대한 XML 페이로드를 생성하는 방법에는 두 가지가 있습니다. 이 문서의 코드 예제에서는 다음 두 가지 방법을 모두 보여 줍니다.

  • Microsoft.Windows. AppNotifications.Builder API - Windows 앱 SDK 1.2에 도입된 이 네임스페이스는 XML 형식의 세부 사항에 대해 걱정할 필요 없이 프로그래밍 방식으로 알림에 대한 XML 페이로드를 쉽게 빌드할 수 있는 API를 제공합니다. 이러한 API를 사용하는 코드 예제는 "Windows 앱 SDK"라는 레이블이 지정된 탭에 있습니다.
  • 원시 XML - 원하는 경우 필요한 형식으로 XML 문자열을 생성하는 사용자 지정 코드를 만들 수 있습니다. 원시 XML 예제는 "XML"이라는 레이블이 지정된 탭에 있습니다.

알림 시각화 도우미를 설치합니다. 이 무료 Windows 앱은 Visual Studio의 XAML 편집기/디자인 보기처럼 편집할 때에 toast 알림의 즉각적인 시각적 미리 보기를 제공하여 대화형 앱 알림을 디자인하는 데 도움을 줍니다. 자세한 내용은 알림 시각화 도우미를 참조하거나, 스토어에서 알림 시각화 도우미를 다운로드하세요.

이 문서에서는 앱 알림 콘텐츠 만들기만 다룹니다. 알림을 보내는 방법에 대한 자세한 내용은 앱 알림 개요를 참조하세요.

앱 알림 구조

앱 알림 XML 페이로드의 중요한 상위 수준 구성 요소는 다음과 같습니다.

  • 알림: 이 요소의 시작 특성은 사용자가 알림을 클릭할 때 앱에 다시 전달될 인수를 정의하여 알림이 표시한 올바른 콘텐츠에 딥 링크할 수 있도록 합니다. 자세한 내용은 앱 알림 개요를 참조하세요.
  • 시각적: 이 요소는 텍스트와 이미지가 포함된 일반 바인딩을 포함하여 토스트의 시각적 부분을 나타냅니다.
  • 작업: 이 요소는 입력 및 작업을 포함하여 알림의 대화형 부분을 나타냅니다.
  • 오디오: 이 요소는 사용자에게 표시되는 간단한 알림(토스트) 시 재생되는 오디오를 지정합니다.
var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", "9813")

    .AddText("Some text")

    .AddButton(new AppNotificationButton("Archive")
        .AddArgument("action", "archive"))

    .SetAudioUri(new Uri("ms-appx:///Sound.mp3"));

다음은 앱 알림의 콘텐츠를 시각적으로 표현한 것입니다.

앱 아이콘 및 앱 이름 알림 시각화 도우미를 보여 주는 맨 위에 특성 영역에 대한 레이블이 있는 앱 알림의 스크린샷. 알림의 중간 부분에는 세 줄의 텍스트가 포함된 시각적 영역으로 레이블이 지정됩니다. 알림의 아래쪽 섹션은 작업 영역으로 레이블이 지정되고 수락 및 거절이라는 두 개의 단추가 포함됩니다.

속성 영역

특성 영역은 앱 알림의 맨 위에 있습니다. Windows 11 시작하여 앱의 이름과 아이콘이 이 영역에 표시됩니다. 또한 특성 영역에는 사용자가 알림을 빠르게 해제할 수 있는 닫기 단추와 사용자가 앱에 대한 알림을 신속하게 사용하지 않도록 설정하거나 앱 알림에 대한 Windows 설정 페이지로 이동하도록 허용하는 줄임표 메뉴가 포함되어 있습니다. 특성 영역은 셸에 의해 구성되며, 앱이 특성 영역 상황에 맞는 메뉴에 항목을 추가할 수 있지만 알림 XML 페이로드에서는 재정의할 수 없습니다. 자세한 내용은 컨텍스트 메뉴 액션을 참조하세요.

시각적 요소

각 앱 알림에서는 텍스트와 이미지를 포함할 수 있는 시각적 요소를 지정하고, 일반 토스트 바인딩을 제공해야 합니다. 이러한 요소는 데스크톱, 휴대폰, 태블릿 및 Xbox 비롯한 다양한 Windows 디바이스에서 렌더링됩니다.

시각적 섹션 및 해당 자식 요소에서 지원되는 모든 특성에 대해서는 앱 알림 스키마를 참조하세요.

텍스트 요소

각 앱 알림에는 하나 이상의 텍스트 요소가 있어야 하며 두 개의 추가 텍스트 요소(모두 AdaptiveText 형식)를 포함할 수 있습니다. 텍스트 요소는 알림이 표시된 후 텍스트 콘텐츠를 업데이트할 수 있는 데이터 바인딩을 지원합니다. 자세한 내용은 앱 알림 진행률 표시줄 및 데이터 바인딩을 참조하세요.

세 줄의 텍스트가 있는 앱 알림의 스크린샷. 텍스트의 위쪽 줄은 굵게 표시됩니다.

AppNotificationTextProperties.SetMaxLines 메서드를 사용하여 표시되는 텍스트 줄 수를 제어할 수 있습니다. 기본값(및 최대값)은 제목에 대해 최대 2줄의 텍스트이고, 두 개의 추가 설명 요소(두 번째 및 세 번째 AdaptiveText)에 대해 최대 4줄(결합)입니다.

var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", 9813)
    .AddText("Adaptive Tiles Meeting", new AppNotificationTextProperties().SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

인라인 이미지

기본적으로 이미지는 텍스트 요소 뒤의 인라인으로 표시되어 시각적 영역의 전체 너비를 채웁니다. AppNotificationBuilder.SetInlineImage를 사용하여 인라인 이미지를 추가합니다.

시각적 영역의 전체 너비를 채우는 기본 이미지 배치를 인라인으로 보여주는 앱 알림의 스크린샷.

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetInlineImage(new Uri("ms-appx:///Images/InlineImage.png"));

AppNotificationManager.Default.Show(builder.BuildNotification());

앱 로고 재정의

위치 값을 "appLogoOverride"로 지정하면, 비주얼 영역의 왼쪽에 있는 사각형에 이미지가 표시됩니다. AppNotificationBuilder.SetAppLogoOverride를 사용하여 이 이미지를 설정합니다. 이 속성의 이름은 이미지가 기본 앱 로고 이미지를 대체하는 이전 버전의 Windows 동작을 반영합니다. Windows 11 앱 로고는 특성 영역에 표시되므로 appLogoOverride 이미지 배치로 재정의되지 않습니다.

이미지 크기는 100% 크기 조정에서 48x48 픽셀입니다. 각 배율 인수에 맞춰 각 아이콘 자산의 버전을 다음과 같이 제공하는 것이 일반적으로 권장됩니다: 100%%, 125%%, 150%%, 200%%, 400%%.

앱 알림 시각적 영역 왼쪽의 사각형에 앱 로고 대체 이미지가 배치된 것을 보여주는 스크린샷입니다.

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/AppLogo.png"));

힌트 자르기

Microsoft 스타일 지침에서는 원형 이미지로 프로필 사진을 표시하여 앱과 셸에서 사람들의 일관된 표현을 제공하는 것이 좋습니다. AppNotificationImageCrop.CircleSetAppLogoOverride에 전달하여 이미지를 원형 자르기로 렌더링합니다.

앱 알림 스크린샷으로, 토스트의 시각적 영역 왼쪽에 원형으로 잘린 앱 로고 오버라이드 이미지 배치가 나타나 있습니다.

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/Profile.png"), AppNotificationImageCrop.Circle);

영웅 이미지

앱 알림은 알림 배너 내에서, 그리고 알림 센터 안에서 눈에 띄게 표시되는 주요 영웅 이미지인 ToastGenericHeroImage를 표시할 수 있습니다. AppNotificationBuilder.SetHeroImage를 사용하여 Hero 이미지를 추가합니다. 이미지 크기는% 스케일링에서 100으로 조정된 364x180 픽셀입니다.

특성 영역 위의 Hero 이미지 배치를 보여 주는 앱 알림의 스크린샷

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

이미지 크기 제한

앱 알림에서 사용하는 이미지는 다음에서 원본으로 사용할 수 있습니다.

  • http://
  • ms-appx:///
  • ms-appdata:///

http 및 https 원격 웹 이미지의 경우 각 개별 이미지의 파일 크기에 제한이 있습니다. 제한은 일반 연결에서 3MB, 요금제 연결의 경우 1MB입니다.

일반 연결 계량형 연결
3MB 1MB

이미지가 파일 크기를 초과하거나 다운로드에 실패하거나 시간이 초과되면 이미지가 삭제되고 나머지 알림이 표시됩니다.

출처 텍스트

콘텐츠 원본을 참조해야 하는 경우 특성 텍스트를 사용할 수 있습니다. AppNotificationBuilder.SetAttributionText를 사용하여 특성 텍스트를 설정합니다. 이 텍스트는 항상 모든 텍스트 요소 아래에 표시되지만 인라인 이미지 위에 표시됩니다. 텍스트는 표준 텍스트 요소보다 약간 작은 크기를 사용하여 일반 텍스트 요소와 구별할 수 있습니다.

특성 텍스트를 지원하지 않는 이전 버전의 Windows 텍스트는 단순히 다른 텍스트 요소로 표시됩니다(최대 3개의 텍스트 요소가 아직 없다고 가정).

알림의 시각적 영역에 있는 다른 텍스트 줄 아래에

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetAttributionText("via SMS");
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

사용자 지정 타임스탬프

메시지/정보/콘텐츠가 생성된 시기를 정확하게 나타내는 사용자 고유의 타임스탬프로 시스템 제공 타임스탬프를 재정의할 수 있습니다. 이 타임스탬프는 알림 센터 내에 표시됩니다.

알림 센터의 알림 스크린샷, 사용자 지정 타임스탬프 포함

사용자 지정 타임스탬프 사용에 대한 자세한 내용은 앱 알림에서 사용자 지정 타임스탬프를 참조하세요.

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetTimeStamp(new DateTime(2017, 04, 15, 19, 45, 00, DateTimeKind.Utc));

진행률 표시줄

앱 알림에 진행률 표시줄을 제공하여 다운로드와 같은 작업의 진행 상황을 사용자에게 알릴 수 있습니다. 진행률 표시줄은 알림이 표시된 후 진행률 값을 동적으로 업데이트할 수 있는 데이터 바인딩을 지원합니다.

진행률 표시줄을 보여 주는 앱 알림의 스크린샷

진행률 표시줄 사용에 대한 자세한 내용은 앱 알림 진행률 표시줄 및 데이터 바인딩을 참조하세요.

헤더

알림 센터 내의 헤더 아래에 알림을 그룹화할 수 있습니다. 예를 들어 그룹 채팅의 메시지를 머리글 아래에 그룹화하거나 머리글 아래에 공통 테마의 알림을 그룹화할 수 있습니다.

헤더 사용에 대한 자세한 내용은 앱 알림 헤더를 참조하세요.

적응형 콘텐츠

위에 지정된 콘텐츠 외에도, 토스트가 확장될 때 표시되는 추가적인 적응형 콘텐츠를 표시할 수 있습니다.

이 추가 콘텐츠는 적응형 타일 설명서를 참조하여 자세히 알아볼 수 있는 Adaptive를 사용하여 지정됩니다.

적응형 콘텐츠는 반드시 'AdaptiveGroup' 내에 포함되어야 합니다. 그렇지 않으면 적응형을 사용하여 렌더링되지 않습니다.

열 및 텍스트 요소

다음은 열과 일부 고급 적응형 텍스트 요소가 사용되는 예제입니다. 텍스트 요소는 AdaptiveGroup 내에 있으므로 풍부한 적응형 스타일 지정 속성을 모두 지원합니다.

알림의 시각적 영역 왼쪽과 오른쪽에 정렬된 텍스트 요소 그룹을 보여 주는 앱 알림의 스크린샷.

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support adaptive text elements.

단추

버튼은 알림 메시지를 대화형으로 만들어 사용자가 현재의 작업 흐름을 방해하지 않고 빠르게 앱 알림에서 조치를 취할 수 있게 합니다. 예를 들어, 사용자는 토스트 알림 내에서 직접 메시지에 회신하거나, 이메일 앱을 열지 않고도 이메일을 삭제할 수 있습니다. 단추는 알림의 확장된 부분에 표시됩니다. AppNotificationButton을 사용하여 단추 및 AppNotificationBuilder.AddButton을 정의하여 알림에 추가합니다.

엔드 투 엔드 단추를 구현하는 방법에 대한 자세한 내용은 앱 알림 개요를 참조하세요.

단추는 다음과 같은 방법으로 앱을 활성화할 수 있습니다.

  • 앱은 특정 페이지/컨텍스트로 이동하는 데 사용할 수 있는 인수를 사용하여 포그라운드에서 활성화됩니다.
  • 다른 앱은 프로토콜 시작을 통해 활성화됩니다.
  • 백그라운드 활성화는 UWP 앱에 대해 명시적으로 지원됩니다. Windows 앱 SDK 앱의 경우 앱은 항상 포그라운드에서 시작됩니다. 앱은 AppInstance.GetActivatedEventArgs 를 호출하여 알림에 의해 활성화가 시작되었는지 감지하고 전달된 인수에서 포그라운드 앱을 완전히 시작할지 아니면 알림을 처리하고 종료할지 결정할 수 있습니다.
  • 시스템 작업, 예를 들어, 다시 알림이나 알림 해제와 같은 작업은 UWP 앱과 Windows 앱 SDK에서 모두 지원됩니다. AppNotificationBuilder API는 이 시나리오를 지원하지 않지만 Windows 앱 SDK 앱은 Microsoft.Windows.AppNotifications.Builder API나 원시 XML을 사용하여 이 시나리오를 구현할 수 있습니다.

메모

단추를 최대 5개까지만 사용할 수 있습니다(나중에 설명하는 상황에 맞는 메뉴 항목 포함).

작업 요소로 정의된 두 개의 단추가 있는 행 뒤에 텍스트 줄을 보여 주는 앱 알림의 스크린샷

var builder = new AppNotificationBuilder()
    .AddText("New product in stock!")
    .AddButton(new AppNotificationButton("See more details")
        .AddArgument("action", "viewDetails"))
        .AddArgument("contentId", "351")
    .AddButton(new AppNotificationButton("Remind me later")
        .AddArgument("action", "remindLater"))
        .AddArgument("contentId", "351");

아이콘이 있는 단추

AppNotificationButton.SetIcon을 사용하여 단추에 아이콘을 추가할 수 있습니다. 이러한 아이콘은 100% 크기 조정에서 흰색 투명 16x16 픽셀 이미지이며 이미지 자체에 패딩이 포함되어 있지 않아야 합니다. 앱 알림에 아이콘을 제공하도록 선택한 경우 단추 스타일을 아이콘 단추로 변환하므로 알림의 모든 단추에 대한 아이콘을 제공해야 합니다.

메모

접근성을 위해 사용자가 고대비 흰색 모드를 켜면 아이콘이 표시되도록 아이콘의 대비 흰색 버전(흰색 배경의 검은색 아이콘)을 포함해야 합니다. 자세한 내용은 언어, 크기 조정, 고대비 및타일 및 토스트 알림 지원을 참조하세요.

아이콘이 있는 단추를 사용하는 앱 알림의 스크린샷

var builder = new AppNotificationBuilder()
    .AddText("Return books to the library.")
    .AddButton(new AppNotificationButton("Accept")
        .AddArgument("action", "accept")
        .SetIcon(new Uri("ms-appx:///Images/Accept.png")))
    .AddButton(new AppNotificationButton("Snooze")
        .AddArgument("action", "snooze")
        .SetIcon(new Uri("ms-appx:///Images/Snooze.png")))
    .AddButton(new AppNotificationButton("Dismiss")
        .AddArgument("action", "dismiss")
        .SetIcon(new Uri("ms-appx:///Images/Dismiss.png")));

Windows 11 업데이트에서 새로 만들기: XML에서 HintToolTip 속성을 사용하여 아이콘에 도구 설명을 추가할 수 있습니다. 아이콘은 있지만 텍스트가 없는 버튼에 사용하기 이상적입니다. 이를 통해 Windows 내레이터가 읽을 수 있는 텍스트를 전달할 수 있습니다. 그러나 콘텐츠가 있는 경우 내레이터는 도구 설명에 전달되는 내용에 관계없이 콘텐츠를 읽습니다.

var button = new AppNotificationButton("Reply")
    .AddArgument("action", "reply");

if (AppNotificationButton.IsToolTipSupported())
{
    button.ToolTip = "Click to reply.";
}

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .AddButton(button); 

색이 있는 단추

Windows 11 업데이트의 새로운 기능: AppNotificationButton.SetButtonStyleAppNotificationButtonStyle을 사용하여 단추에 빨간색 또는 녹색을 추가할 수 있습니다. XML에서 toast 요소에 useButtonStyle 특성을 추가하고 아래와 같이 hint-buttonStyle 특성을 작업 요소에 추가합니다.

세 개의 단추가 있는 알림의 스크린샷, 두 개의 왼쪽 단추는 화상 통화를 시작하거나 오디오 통화를 시작하기 위한 아이콘이 있는 녹색입니다. 세 번째 단추는 빨간색이며 호출을 거부하는 아이콘이 있습니다.

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .AddText("Incoming Call - Mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///Images/Profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Video Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Video.png"))
        .AddArgument("videoId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Phone Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Call.png"))
        .AddArgument("callId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Hang Up")
        .SetButtonStyle(AppNotificationButtonStyle.Critical)
        .SetIcon(new Uri("ms-appx:///Images/HangUp.png"))
        .AddArgument("hangUpId", "123"));

상황에 맞는 메뉴 작업

사용자가 앱 알림을 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴 아이콘을 선택할 때 나타나는 기존 상황에 맞는 메뉴에 상황에 맞는 메뉴 작업을 추가할 수 있습니다. AppNotificationButton.SetContextMenuPlacement를 사용하여 작업 표시줄 대신 상황에 맞는 메뉴에 단추를 배치합니다.

메모

이전 디바이스에서는 이러한 추가 상황에 맞는 메뉴 동작이 알림에 일반 단추로 표시됩니다.

추가한 추가 상황에 맞는 메뉴 작업(예: "1시간 동안 그룹 채팅 음소거")이 두 기본 시스템 항목 위에 표시됩니다.

상황에 맞는 메뉴를 가진 토스트

var builder = new AppNotificationBuilder()
    .AddText("Camping this weekend?")
    .SetAppLogoOverride(new Uri("ms-appx:///images/Reply.png"), AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Mute group chat for 1 hour")
        .AddArgument("action", "mute")
        .SetContextMenuPlacement());

메모

추가 상황에 맞는 메뉴 항목은 토스트 알림의 총 5개 단추 제한에 기여합니다.

추가 상황에 맞는 메뉴 항목의 활성화는 토스트 버튼과 동일하게 처리됩니다.

입력

입력은 앱 알림의 작업 영역 내에 지정됩니다. 즉, 알림이 확장될 때만 표시됩니다.

빠른 회신 텍스트 상자

빠른 회신 텍스트 상자(예: 메시징 앱)를 사용하도록 설정하려면 AppNotificationBuilder.AddTextBox 및 단추를 사용하여 텍스트 입력을 추가하고 입력 필드 옆에 단추가 표시되도록 텍스트 입력 필드의 ID를 참조합니다. 단추의 선택적 아이콘(제공된 경우)은 안쪽 여백이 없는 32x32 픽셀 이미지, 투명으로 설정된 흰색 픽셀 및 100개의% 배율이어야 합니다.

프로필 사진과 일부 텍스트 줄이 있는 앱 알림의 스크린샷. 알림에 직접 입력하기 위한 텍스트 상자와 회신을 보내는 단추가 포함되어 있습니다.

var builder = new AppNotificationBuilder()
    .AddTextBox("textBox", "Type a reply", "Reply")
    .AddButton(AppNotificationButton("Send")
        .AddArguments("action", "Send")
        .SetInputId("textBox"))
    .BuildNotification();

버튼 바가 있는 입력

입력 아래에 일반 단추가 표시되는 입력을 하나 또는 여러 개 가질 수도 있습니다.

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support quick reply text boxes.

선택 입력

텍스트 상자 외에도 AppNotificationBuilder.AddComboBox와 함께 선택 메뉴를 사용할 수 있습니다.

앱 알림의 스크린샷에는 텍스트 줄, 선택된 항목이

var builder = new AppNotificationBuilder()
    .AddText("4th coffee?")
    .AddText("When do you plan to come in tomorrow?")
    .AddComboBox(new AppNotificationComboBox("time")
        .SetTitle("Select an item:")
        .AddItem("breakfast", "Breakfast")
        .AddItem("lunch", "Lunch")
        .AddItem("dinner", "Dinner")
        .SetSelectedItem("lunch"))
    .AddButton(new AppNotificationButton("Reply")
        .AddArgument("action", "reply")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement())
    .AddButton(new AppNotificationButton("Call restaurant")
        .AddArgument("action", "videocall")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement());

Snooze/dismiss

선택 메뉴와 두 개의 버튼을 사용하여 시스템의 스누즈 및 해제 작업을 활용하는 알림 기능을 만들 수 있습니다. 알림이 미리 알림처럼 동작하도록 시나리오를 "미리 알림"으로 설정해야 합니다.

모임의 시간과 위치를 설명하는 여러 줄의 텍스트가 있는 앱 알림 스크린샷입니다. 선택 상자에는

알림 단추의 SelectionBoxId 속성을 사용하여 다시 알림 단추를 선택 메뉴 입력에 연결합니다.

Microsoft.Windows. AppNotifications.Builder 구문은 현재 시스템 활성화를 지원하지 않습니다. 그러나 이 시나리오는 Windows 앱 SDK 앱에서 지원되며 원시 XML을 사용하여 이 시나리오에 대한 알림을 빌드할 수 있습니다.

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support system activation. 
// But this scenario is supported for Windows App SDK apps, and you can build notifications for this 
// scenario using raw XML.

시스템 미루기 및 무시 작업을 사용하려면 다음을 수행합니다.

  • ToastButtonSnooze 또는 ToastButtonDismiss 지정하세요.
  • 필요에 따라 사용자 지정 콘텐츠 문자열을 지정합니다.
  • 문자열을 제공하지 않으면, "다시 알림" 및 "해제"에 대해 지역화된 문자열을 자동으로 사용하겠습니다.
  • 선택적으로 SelectionBoxId를 지정할 수 있습니다.
  • 시스템이 정의한 시간 간격(OS 전체에서 일관됨)에 대해 알림이 한 번만 다시 울리도록 하려면 사용자가 다시 알림 간격을 선택하지 않도록 설정하고, <입력>을 전혀 생성하지 마세요.
  • 다시 알림 간격 선택을 제공하려면: - 다시 알림 작업에서 SelectionBoxId를 지정합니다. - 입력 ID를 다시 알림 작업의 SelectionBoxId와 일치하도록 합니다. - ToastSelectionBoxItem의 값을 분 단위로 다시 알림 간격을 나타내는 음수가 아닌 정수(nonNegativeInteger)로 지정합니다.

오디오

AppNotificationBuilder.SetAudioUri를 사용하여 사용자 지정 오디오 파일을 지정하거나 AppNotificationBuilder.SetAudioEvent를 사용하여 시스템 소리를 선택합니다. 사용자 지정 오디오는 다음 경로를 통해 참조할 수 있습니다.

  • ms-appx:///
  • ms-appdata:///
var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioUri(new Uri("ms-appx:///Audio/NotificationSound.mp3"));

또는 두 플랫폼에서 항상 지원되어 온 ms-winsoundevents의 목록에서 선택할 수 있습니다.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioEvent(AppNotificationSoundEvent.Alarm, AppNotificationAudioLooping.Loop);

앱 알림의 오디오에 대한 자세한 내용은 오디오 스키마 페이지를 참조하세요. 사용자 지정 오디오를 사용하는 앱 알림을 보내는 방법을 알아보려면 앱 알림에서 사용자 지정 오디오를 참조하세요.

시나리오

중요한 알림, 경보, 미리 알림 및 수신 전화 알림을 만들려면 AppNotificationScenario 값과 함께 AppNotificationBuilder.SetScenario를 사용합니다. 이 시나리오는 일관되고 통합된 사용자 환경을 만들기 위해 몇 가지 동작을 조정합니다. 시나리오 값에는 네 가지 가능한 시나리오 값이 있습니다.

  • Reminder
  • Alarm
  • IncomingCall
  • 긴급한

미리 알림

미리 알림 시나리오에서 알림은 사용자가 알림을 해제하거나 조치를 취할 때까지 화면에 유지됩니다. Windows Mobile에서도 앱 알림이 미리 확장된 것으로 표시됩니다. 미리 알림 소리가 재생됩니다. 앱 알림에 하나 이상의 단추를 제공해야 합니다. 그렇지 않으면 알림이 일반 알림으로 처리됩니다.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Reminder);

경보

알람은 미리 알림과 동일하게 작동합니다. 단, 알람은 기본 알람 소리가 포함된 오디오를 반복 재생합니다. 앱 알림에 하나 이상의 단추를 제공해야 합니다. 그렇지 않으면 알림이 일반 알림으로 처리됩니다.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Alarm)
    .AddButton(new AppNotificationButton("Dismiss")
        .AddArgument("action", "dismiss"));

수신 전화

수신 통화 알림은 특수 통화 형식으로 미리 확장되어 표시되며 해제될 때까지 사용자의 화면에 유지됩니다. 벨소리 오디오는 기본적으로 반복됩니다. Windows 모바일 디바이스에는 전체 화면이 표시됩니다.

수신 전화 앱 알림

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
    .AddText("incoming call - mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///images/profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Text reply")
        .SetToolTip("Text reply")
        .SetIcon(new Uri("ms-appx:///images/reply.png"))
        .AddArgument("textId", "123"))
    .AddButton(new AppNotificationButton("Reminder")
        .SetToolTip("Reminder")
        .SetIcon(new Uri("ms-appx:///images/reminder.png"))
        .AddArgument("reminderId", "123"))
    .AddButton(new AppNotificationButton("Ignore")
        .SetToolTip("Ignore")
        .SetIcon(new Uri("ms-appx:///images/ignore.png"))
        .AddArgument("ignoreId", "123"))
    .AddButton(new AppNotificationButton("Answer")
        .SetToolTip("Answer")
        .SetIcon(new Uri("ms-appx:///images/answer.png"))
        .AddArgument("answerId", "123"));

중요 알림

중요합니다

Requires: 중요한 알림을 사용하려면 Windows Insider Preview 빌드 22546 이상을 실행해야 합니다.

중요한 알림을 통해 사용자는 포커스 지원(방해 금지)을 돌파할 수 있는 고우선순위 앱 알림(긴급/중요)을 보낼 수 있는 1차 및 3차 앱을 더 세밀하게 제어할 수 있습니다. 알림 설정에서 수정할 수 있습니다.

앱 이름 옆에 특성 영역에 느낌표가 있는 긴급 앱 알림의 스크린샷. 또한 이미지는 사용자가 앱에서 긴급 알림을 허용하거나 허용하지 않도록 하는 단추를 제공하는 시스템 시작 앱 알림을 보여 줍니다.

var builder = new AppNotificationBuilder()
    .AddText("Adaptive Tiles Meeting", 
        new AppNotificationTextProperties()
            .SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

if (AppNotificationBuilder.IsUrgentScenarioSupported())
{
    builder.SetScenario(AppNotificationScenario.Urgent);
}

지역화 및 접근성

타일 및 앱 알림은 표시 언어, 디스플레이 배율, 고대비 및 기타 런타임 컨텍스트에 맞게 조정된 문자열과 이미지를 로드할 수 있습니다. 자세한 내용은 타일 및 알림 메시지의 언어, 크기 조정 및 고대비 지원을 참조하세요.

활성화 처리

앱 활성화를 처리하는 방법(알림에서 알림 또는 단추를 클릭하는 사용자)을 알아보려면 앱 알림 개요를 참조하세요.  

  • 앱 알림 개요
  • 언어, 크기 조정 및 고대비에 대한 타일 및 알림 메시지 지원