-
[Flutter / 플러터 ] 삽질은 그만, Firebase Messaging iOS 셋업개발일지/flutter 2021. 4. 4. 20:00
안녕하세요 개발하는남자 개남입니다.
오늘은 지난 포스팅에 이어서 iOS Firebase messaging에 대한 설정에 대한 포스팅입니다.
지난 FCM 안드로이스 설정에 대한 포스팅은 다음과 같습니다.
또한 사용된 소스는 깃허브에서 확인 할 수 있습니다.
그리고 iOS 파이어베이스 초기 설정에 대한 부분은 다음 포스팅에서 확인 가능하기에 생략하도록 하겠습니다.
별도로 소스 작업은 특별히 할 것은 없습니다 이미 지난 포스팅에 다뤘던 부분이라
바로 iOS FCM 세팅을 할텐데요
iOS는 Android 비해 상대적으로 FCM 세팅이 복잡합니다;;;
(삽질을 할 수밖에 없다는 =ㅁ=;;; )
iOS가 세팅이 복잡한 이유는??
iOS는 푸시 서버(firebase)에서 메시지를 바로 device로 보내지 못하기 때문입니다.
보안상의 이유인지 뭔지는 잘 모르겠습니다만 apple 은 apns라는 별도의 서비스가. 메시지를 보내 주기 때문에
firebase > apps > device 이렇게 메시지가 전달되는 식이기 때문에
더더욱 보안(인증) 세팅이 많아질 수밖에 없습니다.
APNs 동작 방식을 좀 더 자세히 알고 싶으시다면?
아래 포스팅에서 (소들님 기술 블로그) 확인하실 수 있습니다.
자세히 잘 설명해 주심 ^^
자 우선 가장 먼저 세팅해줘야 하는 부분은 애플에서 Push 처리를 위해 APNs(Apple Push Notification Service)를 설정해줘야 합니다.
이제 애플 개발자 콘솔로 접속을 해줍니다.
Certificates, Identifiers & Profiles를 선택해 관리 페이지로 들어갑니다.
좌측 메뉴의 Identifiers 선택해서 + 추가 버튼을 선택해 줍니다.
App IDs 선택하여 Cuntinue로 다음으로 넘어갑니다.
App 선택 후 계속 넘어갑니다.
Description과 Bundle ID를 채워 줍니다.
설명 (Description)은 적당하게 채워주시고 Bundle ID는 Xcode 에서 찾아서 입력해줍니다.
설명과 번들 ID를 넣어줬다면 이제 하단의 Capabilities 중에 Push Notifications를 선택하고 저장합니다.
그럼 리스트에서 방금 추가했던 식별자가 추가되어있을 것입니다.
이제 Push Notification의 설정을 해주기 위해 다시 추가된 식별자를 선택해줍니다.
아까와 달리 Edit 버튼이 활성화되어있고 Certificates 가 ( 0 )으로 되어있을 것입니다.
총 2개를 등록할 수 있습니다 개발용 인증서와 배포용 인증서 이렇게 두 가지를 추가할 수 있습니다.
발급에는 방법이 동일합니다 :)
개발용은 이미 만들어 놨기 때문에 Production SSL Certificate를 발급해보겠습니다.
Create Certificate 버튼을 눌러 생성해보겠습니다.
Upload a Certificate Signing Request의 파일을 등록해 줘야 하는데 그 파일을 한번 만들어 보겠습니다.
그것은 맥북에 키체인에서 만들어줄 수 있습니다.
키체인에는 어떻게 접근하나요? (Launchpad에서 접근할 수 있습니다)
인증 기관에 인증서를 요청... 을 선택해줍니다.
여기서 사용자 이메일을 입력하는데 애플 개발자 센터에 등록된 이메일로 해줍니다( 사실 개인 다른 메일로도 되는지는 해보지 않아서 잘 모르겠습니다만,,, 아무래도 개발 센터의 이메일로 하면 좋을 것 같아서 그렇게 해줬습니다)
그리고 요청 항목에 디스크에 저장됨 만 선택해서 계속을 눌러줍니다.
발급한 파일을 저장해주면 되는데 웬만하면 하나의 폴더에서 인증서를 관리하면 좋을 것 같습니다 왜냐면 ,, 인증서, 키 등등 많은 파일들이 왔다 갔다 하거든요 ㅎㅎㅎ 그래서 한 곳에서 관리하겠습니다.
받은 파일을 애플 개발 센터에 열어놨던 곳에 업로드를 해줍니다.
이렇게 되면 이제 개발용/배포용 APNs 인증서가 만들어진 것이고 그 파일을 받아 줘야 합니다.
다운로드 버튼을 눌러 파일을 받아 줍니다.
받은 파일을 더블 클릭으로 키체인에 등록을 해줍니다
키체인으로 등록이 완료되었고 이제 해당 키를 파이어 베이스에 등록해줄 p12 파일의 인증서를 만들어 줘야 합니다.
위의 인증서의 마우스 우클릭하여 내보내기를 실행해 줍니다.
마찬가지로 동일한 폴더에 저장시켜 줍니다.
이 부분에서 비밀번호를 만들게 되는데 비번을 적당한 것으로 해주거나 비워 주셔도 됩니다.
(비번을 입력하는 것을 추천합니다.)
벌써 눈치채셨겠지만 벌써 인증서 키 등 3개가 만들어졌습니다.
자 이제 발급받은 p12파일을 파이어 베이스 메세지 설정 파트에 등록을 해줍니다.
이제 파이어베이스 콘솔로 접속해줍니다.
프로젝트 개요 > 톱니 아이콘 > 프로젝트 설정 선택해줍니다.
탭 메뉴 중 클라우드 메시징이라는 부분이 있으며 이 부분에서 키 및 인증서를 등록할 수 있습니다.
이곳에서 APN 인증서와 APN 인증 키를 등록해주면 되는데
아까 만들어 놨던 개발용 p12파일을 APN 인증서 개발 APN 인증서 부분에 업로드를 해줍니다.
인증서를 등록해주고 인증서를 추출할 때 만들었던 비번을 입력해서 업로드해줍니다.
이제 마지막인 APN 인증 키만 등록해주면 됩니다.
APN 인증키는 다시 애플 개발 센터에서 키를 만들어줘야 합니다.
키 관리 페이지에서 키를 생성해 줍니다
Apple Push Notification Service를 선택하고 계속하기를 눌러줍니다.
만들어진 파일을 다운로드를 받아주고 Key ID를 복사해줍니다.
해당 파일을 다시 파이어 베이스로 돌아갑시다.
업로드 버튼 클릭!
팀 ID는 애플 개발자 센터에서 확인할 수 있습니다
모두 등록해주고 업로드 버튼을 눌러주면 이제 모두 설정이 끝이 났습니다.
마지막으로 이제 푸시 이벤트를 발생시켜 보도록 하겠습니다.
좌측 메뉴 중 Cloud Messaging 메뉴를 선택합니다.
원하는 메시지를 입력해주고 다음을 선택합니다.
앱 연결을 iOS를 선택해서 다음으로 넘기고 검토를 해줍니다.
그럼 곧 iOS로 푸시 메시지를 받게 될 것입니다.
이상으로 iOS에서 파이어베이스 메시지 푸시를 설정하는 방법에 대해 알아보았습니다.
관련해서 영상으로 보시기 원하시는 분은 제 개남유튜브에서 확인하실 수 있습니다.
감사합니다.
'개발일지 > flutter' 카테고리의 다른 글
플러터 immutable VS mutable 기본이지만 헷갈릴 수 있는 개념 잡고 가실께요~! (5) 2021.04.24 [ Flutter : 플러터 ] Linting 설정으로, 흔하게 실수할 수 있는 것을 build 전 방지하기. (0) 2021.04.14 [Flutter / 플러터 ] 삽질은 그만, Firebase Messaging 안드로이드 셋업 (2) 2021.04.04 [Flutter 2.0 ] 플러터 2.0 Web 개발에 대한 개인적인 생각. (0) 2021.03.30 [ flutter web ] 플러터 프로젝트를 웹과 애뮬레이터로 돌려보자~! / vscode 세팅법 (1) 2021.03.19