푸시 알림 활용 가이드
푸시 알림 기능 하나를 앱에 구현하려면 Hive 콘솔 설정, Hive Axyl SDK 호출, OS별 플러그인 호출, 레시피 코드 호출, 앱의 알림 수신 처리를 모두 조합해야 합니다. 구현할 기능을 먼저 선택한 뒤 해당 절차를 순서대로 따라 하세요.
구현 범위
Hive Axyl 푸시 활용 가이드는 리모트 푸시 알림의 디바이스 토큰 등록과 수신 처리를 중심으로 설명합니다. 모바일 로컬 알림은 Hive Axyl 제공 푸시 서비스 범위가 아니며, 새 Notifications 예시에서 Unity Mobile Notifications 기반 구현 흐름을 별도로 안내합니다.
각 단계의 작업은 아래 구분 중 하나에 해당합니다.
| 구분 | 담당 | 내용 |
|---|---|---|
| 외부 콘솔 | 앱 운영자 | Firebase 콘솔, Apple Developer에서 수행하는 설정입니다. |
| Hive 콘솔 | 앱 운영자 | Hive 콘솔에서 FCM 또는 APNs 발송 정보를 등록하는 설정입니다. |
| Hive Axyl SDK | 앱 개발자 | 앱에서 호출하는 Hive Axyl SDK 메서드입니다. |
| OS 플러그인 | 앱 개발자 | FCM, APNs, Unity Mobile Notifications 등 OS 알림 연동 코드입니다. |
| 레시피 코드 | 앱 개발자 | 앱에서 호출하는 레시피 메서드입니다. |
| 앱 코드 | 앱 개발자 | Hive Axyl을 거치지 않고 앱이 직접 구현하는 권한, 수신, 라우팅, 예약 정책입니다. |
| Hive Axyl 서버 API | 앱 서버 개발자 | 앱 서버에서 호출하는 리모트 푸시 발송 API입니다. |
한 단계에 둘 이상이 관여하는 경우도 있습니다.
파라미터의 의미와 응답 필드는 각 단계에서 연결한 상세 절차를 참조하세요.
레시피
Hive Axyl SDK는 리모트 푸시 등록 기능을 세분화된 메서드로 제공합니다. OS 알림 권한을 요청하는 호출, FCM 또는 APNs 토큰을 발급받는 호출, 발급받은 토큰을 Hive Axyl 서버에 등록하는 호출이 각각 따로 있습니다. APNs는 토큰을 등록할 때 빌드의 APNs 환경도 함께 확인해야 합니다.
레시피는 그 조합을 미리 완성해 둔 소스 코드입니다. 패키지가 아니라 프로젝트에 복사해서 사용합니다.
| 구분 | 위치 | 성격 |
|---|---|---|
| Hive Axyl SDK | Unity 패키지 com.hive.axyl.* | 설치해서 사용합니다. 푸시 기능을 세분화된 메서드로 제공합니다. |
| 레시피 | Assets/Recipes/ | 복사해서 사용합니다. SDK 호출을 목적 단위로 묶은 순수 C# 코드입니다. |
| 푸시 레시피 | Assets/Recipes/Push/ | PushRecipe, PushPreparation, 결과 타입입니다. |
| FCM 토큰 소스 | Assets/Recipes/Push.Fcm/ | Android FCM 권한 요청과 토큰 발급 코드입니다. |
| APNs 토큰 소스 | Assets/Recipes/Push.Apns/ | Apple APNs 권한 요청, 환경 확인, 토큰 발급 코드입니다. |
| Notifications 예시 | Assets/Recipes/Notifications/ | 리모트 푸시 준비 호출 예시와 Unity Mobile Notifications 로컬 알림 예시입니다. |
레시피는 복사해서 사용하는 코드입니다
레시피는 앱에 복사되어 앱의 코드가 됩니다. 그대로 사용해도 되고 앱 정책에 맞게 수정해서 사용해도 됩니다.
구현할 기능 선택
레시피가 준비된 기능은 리모트 푸시 알림의 디바이스 토큰 등록입니다. Notifications 예시는 Unity Mobile Notifications를 이용한 모바일 로컬 알림 권한 요청, 예약, 취소 호출 흐름을 제공합니다.
리모트 푸시 알림
Hive Axyl 서버가 메시지를 만들고 FCM 또는 APNs를 통해 사용자 기기로 전달하는 푸시 알림입니다. 앱은 디바이스 토큰을 Hive Axyl 서버에 등록하고, 도착한 메시지나 알림 탭 이벤트를 처리합니다.
| 구현 절차 | 플랫폼 | 메시지를 전달하는 곳 |
|---|---|---|
| Google Firebase Cloud Messaging 구현 | Android | FCM |
| Apple Push Notification Service 구현 | iOS | APNs |
모바일 로컬 알림
앱이 기기 안에서 직접 예약해 표시하는 알림입니다. Hive Axyl 서버, FCM, APNs 발송 서버를 거치지 않으므로 네트워크 연결이나 디바이스 토큰 등록과 관계없이 동작합니다. 이 기능은 Hive Axyl 제공 푸시 서비스가 아니라 Unity Mobile Notifications 기반 앱 코드로 구현합니다.
| 구현 절차 | 플랫폼 | 구현 기준 |
|---|---|---|
| Notifications 예시 활용 | Android/iOS | Unity Mobile Notifications |
레시피가 없는 기능
아래 기능은 레시피 없이 Hive Axyl SDK, OS별 플러그인, Hive Axyl 서버 API를 직접 호출해 구현합니다.
- 리모트 푸시 메시지 발송
- 리모트 푸시 수신 이벤트 처리
- 콜드 스타트 페이로드 조회
- 등록한 디바이스 토큰의 언어와 수신 동의 변경
- 디바이스 토큰의 사용자 식별자 연결 해제
- 앱 정책에 맞춘 리모트 푸시 페이로드 라우팅
공통 사전 준비
어느 푸시 알림을 선택하든 아래 항목을 먼저 준비해야 합니다.
| 준비 항목 | 필수 여부 | 구분 | 확인할 곳 |
|---|---|---|---|
| 프로젝트와 App ID 생성 | 필수 | Hive 콘솔 | 앱 정보 생성 |
| SDK 초기화 | 필수 | Hive Axyl SDK | SDK 초기화 |
| 로그인 세션 활성화 | 리모트 푸시 필수 | Hive Axyl SDK | 로그인 |
| 푸시 모듈과 애드온 설치 | 필수 | Hive Axyl SDK, OS 플러그인 | 푸시 모듈 설치 및 초기화 |
리모트 푸시의 디바이스 토큰 등록은 로그인된 세션을 사용합니다. 로그인 세션이 없으면 토큰 등록 호출이 인증 오류로 거절됩니다.
모바일 로컬 알림은 기기 안에서 예약되므로 Hive Axyl 푸시 서버와 로그인 세션을 사용하지 않습니다. 다만 앱의 광고성 알림 정책은 앱 코드가 직접 확인하고 적용해야 합니다.
다음 단계
Android 리모트 푸시 알림부터 구현하려면 Google Firebase Cloud Messaging 구현을 참조하세요. iOS 리모트 푸시 알림부터 구현하려면 Apple Push Notification Service 구현을 참조하세요. 모바일 로컬 알림 예시는 Notifications 예시 활용을 참조하세요.