스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
푸시 알림 콘솔 알아보기
푸시 알림 콘솔은 앱에서 사용자 알림을 빠르게 테스트하는 가장 좋은 방법입니다. 콘솔에서 직접 알림을 보내 새로운 아이디어를 빠르게 반복 실행하는 방법을 알아보고, 전송 로그를 분석해서 푸시를 자세히 학습합니다. 또한 APNs를 통해 성공적으로 인증할 수 있도록 토큰을 생성하고 검증하는 방법도 다룹니다. 이번 세션에서 최대한 많은 내용을 배워가고 싶다면 APNs와 사용자 알림의 기본 개념을 미리 숙지하시는 게 좋습니다.
챕터
- 0:00 - Intro
- 2:26 - Send notifications
- 5:00 - Examine delivery logs
- 7:53 - Debug with tools
- 11:01 - Wrap-up
리소스
- Establishing a certificate-based connection to APNs
- Establishing a token-based connection to APNs
- Sending notification requests to APNs
관련 비디오
WWDC20
-
다운로드
♪ ♪
안녕하세요, 아르템입니다 Apple 푸시 알림 팀에서 엔지니어로 일하죠 푸시 알림 콘솔을 소개하게 돼 영광입니다 앱에 푸시 알림을 통합하도록 돕는 기능 몇몇을 결합한 새로운 도구죠 종단 간 테스트에 도움이 되는 알림을 콘솔에서 보내며 시작해 보도록 하죠 이어서 전송 로그 기능을 사용해 일반적인 문제를 분석해 보고 마지막으로 인증 및 기기 토큰에 활용 가능한 추가 도구를 소개하겠습니다 우선 푸시 알림 기본 사항을 설명해 볼게요 푸시 알림은 앱이나 웹 사이트에서 사용자 기기에 보내는 짧은 메시지입니다 앱의 기능을 확장하는 데 아주 강력한 도구죠 매초 푸시 알림 수백만 개가 Apple 기기에 전송되어 사용자 경험을 풍부하게 합니다 이런 알림은 실시간으로 전송되며 시기적절하게 관련 정보를 사용자에게 제공하고자 고안됐죠 이를 통해 앱을 업데이트할 때 더욱 동적인 경험을 할 수 있죠 푸시 알림은 사용자 참여도를 높이고 사용자가 앱을 항상 최신 상태로 유지하도록 합니다 작동 방식을 간단히 살펴봅시다 푸시 알림 전송을 가능하게 하는 백엔드는 Apple Push Notification Service 또는 줄여서 APNs라고 부릅니다 앱에서 알림을 허용하라고 사용자에게 메시지를 보내면 알림 스토리가 시작됩니다 사용자가 동의하면 APNs에서 기기 토큰을 생성하고 해당 토큰이 기기로 전송되죠 이 토큰은 해당 기기의 앱을 고유하게 식별합니다 이후 토큰은 보통 앱 서버에 전달되어 나중에 사용할 수 있도록 저장됩니다 서버에서 푸시 알림을 보낼 때는 저장된 기기 토큰을 사용하여 APNs를 통해 알림을 처리하죠
이후 APNs는 해당 토큰을 사용해 장치의 앱에 알림을 전송합니다 기기 토큰은 바뀔 수 있으므로 전송을 정확하고 확실하게 하려면 서버 사이드에서 최신 상태로 유지해야 해요 푸시 알림 콘솔은 새로운 도구로 APNs와 상호작용 하도록 다양한 수단을 제공합니다 앱을 개발하고 푸시 알림을 추가하는 경우 종단 간 테스트를 빠르게 실행하고 싶을 겁니다 이때 두 번째 기능을 활용할 수 있습니다 Backyard Birds 앱을 개발 중이라고 합시다 봄이 됐으니 월동지로 갔던 철새가 돌아올 시기라는 사실을 사용자에게 알리려고 합니다 새로운 알림을 생성하고 이름을 붙인 뒤 휴대폰 앱의 기기 토큰을 제공합니다 이어서 페이로드 속성을 입력하죠 제목은 앱 이름으로 할게요
부제목은 '중요한 업데이트'
본문은 '지빠귀가 돌아왔다'로 하죠
이제 준비는 끝났습니다 전송 버튼을 클릭할게요
기기에서 푸시를 수신하면 알림이 뜹니다
이 페이지에서 전송된 알림 기록은 편의를 위해 왼편의 사이드바에 보관됩니다 지난번 알림을 다시 사용하되 메시지를 살짝 바꿔 볼게요 방금 보낸 메시지를 복사하고 새로운 알림을 생성합니다
이름을 붙이겠습니다
그런 다음 이 스위치를 전환해서 원시 JSON 포맷으로 페이로드를 입력합니다 방금 복사해 둔 페이로드를 삽입하고 메시지만 바꿔 볼게요
동일한 기기 토큰을 제공한 뒤 전송해 보면
업데이트된 알림을 기기에서 수신합니다
콘솔을 사용해 다양한 유형의 알림과 속성을 테스트해 볼 수 있어요 환경을 지정하고
푸시 유형을 바꿀 수도 있죠
만료일 설정과
우선순위 선택도 가능해요
모든 유형의 페이로드를 전송할 수 있고요
이제 전송 로그 기능을 살펴봅시다 가끔 알림을 보냈는데 수신이 되지 않아서 어떤 상황인지 파악하기 어려울 때가 있는데요 이때 이 도구를 사용하면 상황 분석에 도움이 될 거예요 APNs 스택을 통해 알림이 이동하므로 전송 프로세스를 반영하는 이벤트가 기록됩니다 이제 알림이 전송될 때 APNs가 반환하는 새로운 헤더를 사용해서 해당 정보를 회수할 수 있어요 작동 방식은 이렇습니다 기기는 저전력 모드를 구동해서 알림이 수신되지 않는 상황을 에뮬레이트할 수 있습니다
전송 탭으로 가서 알림 하나를 다시 전송해 볼게요
이름을 붙이고 페이로드를 붙여 넣은 뒤 기기 토큰을 제공하고 미래 어느 시점으로 만료일을 설정하겠습니다
하지만 이번에는 전송 버튼을 클릭해도 기기에 알림이 뜨지 않네요
무슨 일인지 알아봐야겠죠 APNs가 HTTP 응답으로 반환하는 새로운 유형의 ID인 APNs 고유 ID를 복사할게요
전송 로그 탭에 들어가 보니 검색 필드가 나옵니다 방금 복사한 ID를 여기 붙여 넣을게요 검색을 실행하면 알림 기록이 나옵니다 알림은 APNs 스택을 통해 이동했으니까요 장치 전원을 고려해 저장된 게 마지막 이벤트로군요 그래서 메시지가 전송되지 않았나 봅니다 여기서는 휴대폰이 저전력 모드라서 배터리를 절약하려고 알림 수신을 미뤘던 거죠
저전력 모드를 해제하면 알림이 수신되고 기기 화면에 뜹니다
알림이 전송된 후 해당 업데이트는 또한 전송 로그에서도 확인할 수 있어요
이 도구를 사용해서 다양한 상황을 분석할 수 있습니다 기록 이벤트마다 무슨 일이 발생했는지 더불어 원인이 뭔지 해당 툴팁에서 확인할 수 있습니다 기기가 오프라인 상태이면 APNs 스토리지로 알림이 이동할 수 있고 기기에서 앱이 제거됐다면 알림이 삭제될지도 모릅니다 도구를 사용해 보면 더 많은 사례를 찾아볼 수 있겠죠 일반 APNs API를 통해 알림을 전송해도 이런 기능을 사용할 수 있어요 이런 정보를 쿼리하려면 APNs 응답에서 APNs 고유 ID를 기록해야겠죠 콘솔에서 보낸 알림이라면 전송 로그 탭으로 이동할 필요는 없습니다 전송 페이지 자체에서 동일한 정보를 볼 수 있거든요
앱과 APNs를 통합하면 인증 및 알림 전송에 사용되는 다양한 유형의 토큰으로 작업할 수 있으며 콘솔은 편리한 도구를 여럿 제공하기도 합니다
우선 인증을 살펴봅시다 APNs 인증에는 두 가지 유형이 있습니다 인증서 기반 유형과 토큰 기반 유형입니다
인증서 기반 인증은 SSL 인증서를 사용해 서버와 APNs 사이에 신뢰할 만한 연결을 설정합니다 앱 및 환경별 인증서를 Apple Developer 포털 내에서 생성하고 관리해야 해요 인증서는 만료되므로 주기적으로 갱신해야 합니다
토큰 기반 인증은 공급자 서버와 APNs 사이에 안전하고 효율적인 인증을 위해 JSON Web Token을 사용합니다 Apple Developer 계정과 연결된 프라이빗 키로 서명된 토큰을 생성해야 합니다 인증서와 달리 프라이빗 키는 만료되지 않아요 푸시 알림 콘솔에는 인증 토큰을 생성해 주는 도구가 있습니다 Apple Developer 포털에서 얻은 프라이빗 키와
연결된 키 ID만 제공하면 됩니다 그러고 나면 새로운 토큰이 생성되고 APNs에 대한 요청을 인증하는 데 사용할 수 있죠 이런 토큰의 유효 기간은 1시간을 넘지 않으므로 주기적으로 교체해야 합니다 토큰을 생성할 때는 키가 업로드되지 않습니다 브라우저에서만 사용되므로 개인정보가 보존되죠 이미 토큰이 있지만 제대로 작동하지 않을 것 같다면 인증 토큰 검증자를 활용할 수 있습니다 방금 생성한 토큰을 복사해서 검증 도구에 붙여 넣을게요
검증 결과가 나오면 이 경우처럼 토큰이 유효한지 그렇지 않다면 이유가 뭔지 확인할 수 있어요 예를 들어 한참 전에 썼던 토큰을 제공하면 발행 시점이 너무 오래됐다는 검증 결과가 나옵니다 토큰이 사실상 만료됐다는 의미죠 마지막은 기기 토큰 검증자입니다 익히 아시다시피 이런 토큰은 알림을 받을 수신자를 지정할 때 사용됩니다 구체적인 환경 및 푸시 유형에 연결돼 있습니다 토큰을 입력하면 응답을 받게 되는데 어떤 환경과 푸시 타입에 토큰이 유효한지 알려 주죠 예를 들어 이전 시연에 썼던 토큰을 제공하면 해당 토큰이 경고 및 백그라운드 푸시 유형과 개발 환경에 유효하다는 걸 확인할 수 있군요 이런 기능을 즐겨 사용하고 푸시 알림을 앱에 더 쉽게 통합하여 새롭고 흥미로운 기능을 제공해 보시기 바랍니다 지금 바로 시작하세요 푸시 알림을 전송해서 종단 간 통합을 테스트하고 전송 로그를 검토해서 전송 프로세스를 더 깊이 이해해 보시길 바랍니다 토큰을 검증하고 콘솔에서 전부 새로 생성해 보세요 클라이언트에서 푸시 알림을 구현하는 방법을 더 자세히 알고 싶다면 WWDC20에서 '푸시 알림 프라이머'를 확인해 보시길 바랍니다 시청해 주셔서 감사합니다 ♪ ♪
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.