콘텐츠로 이동

채팅 스타일 알림

채팅 스타일 알림을 사용하면 푸시 알림이 메신저 대화처럼 표시됩니다. 앱 아이콘 대신 발신자의 프로필 사진이 크게 보이고, 발신자 이름이 제목 위치에 표시되어 일반 알림보다 훨씬 눈에 띕니다.

1:1 상담, 친구 활동 알림, 담당 매니저 메시지처럼 “사람이 보낸 메시지” 성격의 알림에 특히 효과적입니다.

프로필 사진과 발신자 이름이 표시되는 채팅 스타일 알림 예시 이미지 출처: Android Developers 공식 문서
항목요구 사항
FlareLane SDKAndroid · iOS · React Native · Flutter 1.11.0 이상
OSiOS 15 이상 / Android 7.0 이상

각 플랫폼의 공식 문서도 함께 참고하세요: Apple - Implementing communication notifications · Android - Conversation notifications

채팅 스타일 알림은 Apple 정책상 앱에서 직접 허용 설정이 필요합니다. 설정하지 않아도 오류 없이 일반 알림으로 표시되지만, 프로필 사진이 나오지 않습니다.

  1. Communication Notifications capability 추가

    Xcode에서 앱 타겟 → Signing & Capabilities → + Capability → Communication Notifications 를 추가합니다.

  2. 앱 Info.plist에 항목 추가 (Notification Service Extension이 아닌 앱의 Info.plist)

    <key>NSUserActivityTypes</key>
    <array>
    <string>INSendMessageIntent</string>
    </array>

기존 FlareLane iOS 연동(Notification Service Extension 포함)이 완료된 상태를 전제로 합니다. 아직이라면 iOS SDK 연동 가이드를 먼저 진행해주세요.

추가 설정이 필요 없습니다. SDK 1.11.0 이상이면 payload만으로 동작합니다.

네이티브 SDK가 처리하므로 추가 코드가 필요 없습니다. iOS는 위 iOS 앱 설정을 동일하게 적용해주세요.

Open API 알림 발송 시 communication 객체를 추가합니다.

Terminal window
curl -X POST "https://api.flarelane.com/v1/projects/{PROJECT_ID}/notifications" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"targetType": "all",
"body": "고객님, 문의주신 상품 재입고됐어요! 지금 보러 오실래요? 😊",
"communication": {
"senderName": "하나 매니저",
"senderImageUrl": "https://cdn.example.com/profiles/manager-hana.png"
}
}'
필드필수설명
senderName발신자 표시 이름. 알림 제목 위치에 표시됩니다. Liquid 변수 사용 가능
senderImageUrl발신자 프로필 이미지 URL. 정사각형, 1MB 이하 이미지를 권장합니다

같은 발신자의 대화를 하나로 묶으려면 알림 그룹(threadId)을 함께 사용하는 것을 권장합니다. 같은 threadId의 메시지들이 플랫폼별 대화 묶음 방식에 따라 한 대화로 이어져 표시됩니다.

태그와 Liquid 변수를 조합하면 사용자마다 다른 발신자로 보낼 수 있습니다.

{
"targetType": "all",
"body": "나 오늘 레벨 30 달성했어! 우리 같이 플레이하자 🎮",
"threadId": "friend_{{ tags.friend_id }}",
"communication": {
"senderName": "{{ tags.friend_name }}",
"senderImageUrl": "https://cdn.example.com/profiles/{{ tags.friend_id }}.png"
}
}

프로필 사진이 표시되지 않는다면 아래 순서로 확인해보세요.

  1. iOS 15 미만 / SDK 1.11.0 미만 기기나 버전인지 확인
  2. Communication Notifications capability가 앱 타겟에 추가되어 있는지 확인
  3. 앱 Info.plist의 NSUserActivityTypesINSendMessageIntent가 있는지 확인 (Extension이 아닌 앱의 Info.plist입니다. 가장 흔한 누락 지점입니다)
  4. senderImageUrl이 브라우저에서 정상적으로 열리는지, 이미지 용량이 과도하지 않은지(1MB 이하 권장) 확인
  5. 재빌드 후 앱을 삭제하고 재설치 (entitlement 변경은 재설치가 필요할 수 있습니다)