개발자

유저 디바이스 알림 허용 여부를 추적하는 방법

2023년 09월 13일조회 223

안녕하세요! 앱 서비스 그로스 마케터(PM)으로 일하고 있는 비개발자입니다. 저희 앱은 React Native 프레임워크에 Node.js 언어를 사용 중인데요! iOS, Android 각 유저의 Push 알림 허용 여부를 추적하여, 알림을 허용하지 않은 유저가 특정 트리거를 만족시켰을 때 알림 허용 유도 팝업을 띄우고 싶습니다. 저희 개발자분이 알림 허용 여부 추적 방법을 잘 찾으실 수 있도록 도와드리고 싶은데, 혹시 간단한 가이드가 있을까요? 긴 글 읽어주셔서 감사합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

인기 답변

장성호님의 프로필 사진

RN을 사용하지 않아 직접적인 코드로 도움드리진 못 하나, Flutter 기준 다음과 같은 흐름으로 진행합니다. RN은 권한을 조금 다르게 관리할 수 있으니, 자세한 건 RN 권한 관련 라이브러리의 문서를 참고하시면 좋습니다. 1. 특정 권한 상태 체크 (권한 request가 아님) 2. 권한 허용일 때 => 특정 트리거 만족 시, 권한 허용 흐름 진행 3. 권한 허용이 아닐 때 => 특정 트리거 만족 시, 권한 request 4. 권한 request 반환값이 다음과 같을 때 4-1. 권한 허용일 때 => 권한 허용 흐름 진행 4-2. 거절일 때 => 아무 동작 X 4-3. 영구 거절일 때 => 허용 유도 팝업 노출 => 버튼 클릭 시 설정 페이지로 이동 => 되돌아왔을 때 권한 request 다시 하기 // 무한 루프 조심 4-4. limit 일 때 (iOS 전용) => 사내 정책에 따름 4-5. restricted 일 때 (iOS 전용) => 사내 정책에 따름 4-6. provisional 일 때 (iOS 전용) => 사내 정책에 따름 사용자가 필요할 때 받는 게 아니라, 앱 시작부터 바로 받아야하는 권한이 있다면 4번부터 시작하시면 됩니다. 일단 4번부터 진행하고, 그 다음 1~3을 대응하시는게 개발하기 편할 겁니다! 참고로 Android SDK 32 이하는 알람 권한이 기본적으로 허용입니다. Android SDK 33 이상이랑 iOS는 알람 권한을 request 해야만 합니다. Android 테스트 도중 권한 허용 창이 한 번도 나오지 않는다면, Android SDK 버전을 확인해보세요.

profile picture

익명

작성자

2023년 09월 14일

자세한 설명 감사드립니다. 큰 도움이 되었습니다!

강병진님의 프로필 사진

react-native-permissions 패키지를 사용해서 Notifications의 권한을 확인하시면 됩니다! https://github.com/zoontek/react-native-permissions

profile picture

익명

작성자

2023년 09월 14일

명쾌한 답변 감사드립니다!!!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 09월 13일

안녕하세요, React Native 앱에서 푸시 알림 권한을 확인하는 가장 간단한 방법은 `react-native-push-notification` 라이브러리를 사용하는 것입니다. 이 라이브러리는 iOS와 Android 모두에 사용할 수 있으며, 알림 권한 쿼리 및 요청 기능도 포함하고 있습니다. 다음은 해당 권한을 어떻게 확인하는지에 대한 간단한 예제입니다: ```javascript import PushNotificationIOS from "@react-native-community/push-notification-ios"; import PushNotification from "react-native-push-notification"; // ... PushNotification.checkPermissions((permissions) => { console.log('Permissions:', permissions); }); ``` 위의 코드를 실행하면, 아래와 같은 출력 결과를 보실 수 있습니다: ```json { alert: true, badge: true, sound: true } ``` 이는 현재 앱에 설정된 푸시 알림 권한 상태를 나타내는 JSON 객체입니다. 'alert', 'badge', 'sound' 각각의 필드가 true로 설정되어 있는 경우, 그에 해당하는 권한이 부여되었음을 의미합니다. 추가적으로, React Native에서 특정 시점에 팝업을 띄우려면 conditional rendering 등 다양한 방법을 사용하실 수 있습니다. 자세한 사항은 `react-native-push-notification` 공식 문서를 참고해주시기 바랍니다. https://github.com/zo0r/react-native-push-notification 이것이 도움이 될 것으로 생각합니다. 추가적인 질문이 있으시면 언제든지 말씀해주세요.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!