다음을 통해 공유


원시 푸시 알림에 대해 백그라운드 작업을 작성하는 방법(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

이 항목에서는 Windows 런타임 앱의 잠금 화면에서 원시 푸시 알림을 사용하는 백그라운드 네트워크 알림을 받도록 백그라운드 작업을 작성하는 방법을 보여 줍니다. 이 항목에서는 Windows 런타임 앱용 Windows 8.1에서 원시 푸시 알림 기능에 대해 백그라운드 작업을 작성하는 방법을 안내합니다.

알아야 할 사항

기술

사전 요구 사항

  • 다음 정보는 원시 푸시 알림을 사용하는 네트워크 연결을 항상 연결된 상태로 유지해야 하는 모든 연결된 Windows 런타임 앱 또는 네트워크 인식 Windows 런타임 앱에 적용됩니다. 이 항목은 Windows 8.1, Windows Phone 8.1 및 Windows Server 2012에서 JavaScript로 작성된 앱에 적용됩니다.

    원시 푸시 알림을 사용하는 백그라운드 네트워크 연결은 JavaScript 앱 및 C++/XAML로 작성된 앱과 C#, VB.NET 또는 관리 C++로 작성된 .NET Framework 4.5를 사용하는 앱에서 지원됩니다. JavaScript 앱에 적용되는 백그라운드 네트워킹 작업에 대한 자세한 내용은 백그라운드 작업을 사용하여 앱 지원을 참조하세요.

지침

백그라운드 작업 작성

항상 연결할 수 있는 앱 만들기의 중요한 다음 단계는 원시 푸시 알림이 발생하면 실행되는 앱 코드를 제공하는 것입니다. 예를 들어 들어오는 원시 푸시 알림을 사용하여 새 메일이 서버에 도착했다는 신호를 보내는 메일 앱의 경우 앱은 코드를 실행하여 원시 푸시 알림의 데이터를 처리해야 합니다. 이 데이터에는 받은 새 메일 목록이 포함되어 있으며 사용자에게 알림을 표시할 수 있습니다. 또한 앱은 다음에 앱이 더 이상 일시 중단되지 않을 때 메일 서버에 연결하여 서버에서 새 메일을 다운로드하도록 예약할 수 있습니다. 이 프로세싱은 백그라운드 작업에서 수행됩니다.

모든 백그라운드 작업은 원시 푸시 알림에 대해 앱이 등록될 때 실행되는 함수에 의해 구현됩니다. 여기서는 앱 매니페스트에서 단일 함수를 포함하는 특정 JavaScript 원본 파일로 지정되었습니다.

다음 샘플은 백그라운드 작업이 원시 푸시 알림에 의해 트리거될 때 실행되는 함수를 보여 줍니다.

(function () {
    // Get the background task details
    var backgroundTask = Windows.UI.WebUI.WebUIBackgroundTaskInstance.current;
    var settings = Windows.Storage.ApplicationData.current.localSettings;
    var taskName = backgroundTask.task.name;

    console.log("Background task \"" + taskName + "\" starting...");

    // Store the content received from the notification so it can be retrieved
    // from the UI.
    var notificationDetails = backgroundTask.triggerDetails;
    settings.values[taskName] = notificationDetails.content;

    console.log("Background \"" + taskName + "\" completed!");

    // Close the instance running the task
    close();
})();

참고  백그라운드 작업에서는 앱 UI(사용자 인터페이스)의 요소를 참조할 수 없는데, 이는 앱의 UI 요소가 실행되고 있지 않기 때문입니다. 백그라운드 작업에서 코드가 실행되고 있으면 원시 푸시 알림 데이터를 받고, 데이터를 구문 분석 및 처리하고, 알림을 사용자에게 표시할 수 있습니다.

 

백그라운드 작업의 수명은 백그라운드 작업을 구현하는 함수에 의해 제어됩니다. 앱이 함수를 종료하면 앱이 일시 중단됩니다.

앱 백그라운드 작업이 트리거되면 운영 체제는 적절한 동기화를 통해 원시 푸시 알림 데이터가 앱에 배달되도록 하거나 오류(예: 연결 중단)를 반환합니다. 마찬가지로 백그라운드 작업이 끝나면 앱은 일시 중단되기 전에 알림이 표시되도록 해야 합니다.

백그라운드 작업은 주로 일시 중단 상태의 앱을 대상으로 하지만, 백그라운드 작업으로 구성된 앱은 포그라운드에 있을 때에도 이러한 백그라운드 작업을 트리거할 수 있습니다.

이전 단계

원시 푸시 알림을 사용하는 백그라운드 네트워크 알림을 받는 잠금 화면용 앱을 만드는 방법에 대한 자세한 내용은 백그라운드 원시 푸시 알림을 사용하는 잠금 화면용 앱을 만드는 방법을 참조하세요.

푸시 알림 채널을 등록하여 서버로 보내고 백그라운드 작업을 등록하여 원시 푸시 알림에서 활성화하며 원시 푸시 알림을 채널로 보내고 백그라운드 작업을 활성화하는 프로세스에 대한 자세한 내용은 WNS를 사용하여 잠금 화면용 앱에 원시 푸시 알림을 배달하는 방법을 참조하세요.

원시 푸시 알림 사용에 대한 지침 및 검사 목록에 대한 자세한 내용은

원시 알림에 대한 지침 및 검사 목록을 참조하세요.

관련 항목

다른 리소스

네트워킹 지원 추가

백그라운드 네트워킹

원시 알림에 대한 지침 및 검사 목록

WNS(Windows 푸시 알림 서비스)를 사용하여 인증하는 방법

WNS를 사용하여 잠금 화면용 앱에 원시 푸시 알림을 배달하는 방법

잠금 화면 개요

푸시 알림 개요

백그라운드 원시 푸시 알림을 사용하는 잠금 화면용 앱을 만드는 방법

백그라운드 작업을 사용하여 앱 지원

네트워크 연결 문제 해결 및 디버깅

참조

HttpClient

HttpClientHandler

IXMLHTTPRequest2

System.Net.Http

Windows.ApplicationModel.Background

Windows.Networking.BackgroundTransfer

Windows.Networking.PushNotifications

Windows.Networking.Sockets

샘플

백그라운드 작업 샘플

잠금 화면용 앱 샘플

푸시 및 정기 알림 클라이언트 쪽 샘플

원시 알림 샘플