-
[푸쉬알림] iOS앱에서 푸쉬알림 등록하기 (AppDelegate 사이클정도만)앱등이에게 살충제를 뿌린다./iOS 2017. 3. 10. 13:39
iOS10 / Swift3를 기반으로 작성하였습니다.
대부분의 앱이 알림기능을 사용하는데요.
이 기능을 구현하려면 굉장히 많은 작업이 필요합니다.
APP ID에 푸쉬서비스 등록, 푸쉬 인증서 발급, 앱에 알림권한 획득을 위한 코드추가, Provider서버 구축 등등.
정말로 많아요.
이 중에서 "앱에 알림권한 획득을 위한 코드추가" 이 부분만 간단하게 스토리텔링하듯 적어보겠습니다.
1. 단말에서 알림을 받으려면 디바이스 토큰이 필요합니다.
애플의 푸쉬알림은 APNs(Apple Push Notification Service)에서 발송하는데요. 이 때 애플서버에서는 디바이스토큰을 통해 푸쉬알림을 보냅니다.
이 디바이스 토큰을 만들어 애플서버에 알려주는 과정만 살펴볼 예정입니다.
2. 푸쉬알림을 사용하는 앱이라면 앱이 실행될 때, 사용자에게 푸쉬알림을 사용할 것이라고 알려주어야 합니다.
앱이 사용자에게 푸쉬알림 사용을 물어볼 때, 사용자는 푸쉬알림을 허용하거나 거부할 수가 있습니다.
사용자에게 푸쉬알림 사용을 묻는 코드는 아래와 같습니다.
보통은 AppDelegate의
메소드 내부에서 아래 코드를 호출합니다.
3. 이 때, 사용자가 푸쉬알림을 승인한다면 APNs에 디바이스토큰이 등록됩니다. 그 뒤 아래메소드가 호출됩니다.
4. 이 때 발급한 토큰을 통해 푸쉬테스트도 가능합니다.
APN Tester - 푸쉬 테스트 애플리케이션
Knuff - 푸쉬 테스트 애플리케이션
푸쉬알림을 테스트해볼 수 있는 방법은 위 두개 앱 외에도 굉장히 많더라구요.
해당 앱을 실행시킨 뒤, 푸쉬인증서와 디바이스토큰을 입력하면 푸쉬테스트도 가능합니다!
저는 Arek이라는 오픈소스로 푸쉬권한을 비롯한 모든 사용자 권한을 관리하고 있는데요. 굉장히 편하게 사용하고 있습니다.
'앱등이에게 살충제를 뿌린다. > iOS' 카테고리의 다른 글
[iOS] Photos Framework를 알아보자. (간단히) (3) 2017.03.11 [XCode] Xcode 템플릿(Template)을 만들어보자. (0) 2017.03.10 [Cocoapods] PermissionScope 사용 후기 (0) 2017.01.17 [Cocoapods] podfile에서 버전을 관리하는 키워드 (0) 2017.01.16 [Raywenderlich] UIStackView 튜토리얼. (UIStackView Tutorial: Introducing Stack Views) (0) 2017.01.05