Skip to content

Commit 3ed7129

Browse files
committed
Update badge documentation: clarify that badge counts only unread DIRECT letters received, not sent
1 parent 9c9247b commit 3ed7129

File tree

2 files changed

+48
-19
lines changed

2 files changed

+48
-19
lines changed

docs/API_SPECIFICATION.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -953,7 +953,10 @@ GET /letters/public?languages=ko&languages=en&page=0&size=20
953953
- 앱 뱃지 숫자 표시용으로 사용됩니다.
954954
- FCM 푸시 알림 발송 시에도 이 개수가 뱃지 숫자로 전송됩니다.
955955
- 편지 읽음 처리 시 즉시 반영됩니다.
956-
- DIRECT 편지와 PUBLIC 편지 모두 포함됩니다.
956+
- **뱃지 계산 기준**: 내가 받은 읽지 않은 DIRECT 편지만 카운트됩니다.
957+
- 내가 보낸 편지는 카운트되지 않습니다.
958+
- 공개편지(PUBLIC)는 카운트되지 않습니다.
959+
- 친구 추가 알림이나 답장 알림 등은 뱃지에 포함되지 않습니다.
957960

958961
### 6.6 FCM 푸시 알림 및 뱃지
959962

@@ -967,8 +970,13 @@ GET /letters/public?languages=ko&languages=en&page=0&size=20
967970
- 뱃지 동기화 시: 앱이 포그라운드로 올라오거나 알림 목록 화면 진입 시 현재 읽지 않은 편지 개수로 뱃지를 동기화합니다.
968971

969972
**뱃지 계산 기준**:
970-
- 뱃지 숫자는 읽지 않은 편지 개수를 기준으로 합니다.
971-
- DIRECT 편지: 수신자가 현재 사용자이고 읽지 않은 편지
973+
- 뱃지 숫자는 **내가 받은 읽지 않은 DIRECT 편지 개수**를 기준으로 합니다.
974+
- **카운트되는 편지**:
975+
- DIRECT 편지 중 수신자가 현재 사용자이고 읽지 않은 편지
976+
- **카운트되지 않는 항목**:
977+
- 내가 보낸 편지 (수신자가 나인 경우에도 내가 보낸 편지는 카운트되지 않음)
978+
- 공개편지(PUBLIC) - 공개편지는 뱃지에 포함되지 않습니다
979+
- 친구 추가 알림, 답장 알림 등 - 내가 한 액션에 대한 알림은 뱃지에 포함되지 않습니다
972980

973981
**FCM Data Payload 구조** (알림 생성 시):
974982
```json
@@ -1010,7 +1018,8 @@ GET /letters/public?languages=ko&languages=en&page=0&size=20
10101018
- 앱이 포그라운드로 올라오거나 알림 목록 화면 진입 시 호출하는 것을 권장합니다.
10111019
- 읽지 않은 편지 개수를 반환하며, 동시에 FCM 푸시 알림으로 뱃지 숫자를 업데이트합니다.
10121020
- iOS와 Android 모두 지원합니다.
1013-
- DIRECT 편지와 PUBLIC 편지 모두 포함됩니다.
1021+
- **뱃지 계산 기준**: 내가 받은 읽지 않은 DIRECT 편지만 카운트됩니다.
1022+
- 내가 보낸 편지나 내가 한 액션(친구 추가, 답장 등)은 뱃지에 포함되지 않습니다.
10141023

10151024
**Response** (200 OK):
10161025
```json
@@ -1083,8 +1092,10 @@ GET /letters/public?languages=ko&languages=en&page=0&size=20
10831092
- 친구가 아닌 사용자에게 답장을 보내면 자동으로 양방향 친구 관계가 생성됩니다
10841093

10851094
### 알림 뱃지 숫자
1086-
- 뱃지 숫자는 **읽지 않은 알림 개수**로 표시됩니다.
1095+
- 뱃지 숫자는 **내가 받은 읽지 않은 DIRECT 편지 개수**로 표시됩니다.
10871096
- iOS와 Android 모두 지원합니다.
1088-
- 알림 생성, 읽음 처리, 삭제 시 뱃지 숫자가 자동으로 업데이트됩니다.
1097+
- 편지 수신, 읽음 처리 시 뱃지 숫자가 자동으로 업데이트됩니다.
10891098
- FCM 푸시 알림을 통해 뱃지 숫자가 실시간으로 동기화됩니다.
1099+
- **중요**: 내가 보낸 편지나 내가 한 액션(친구 추가, 답장 등)은 뱃지에 포함되지 않습니다.
1100+
- 예: 내가 친구를 추가하거나 공개편지에 답장을 보낼 때, 상대방에게는 알림과 뱃지가 추가되지만 나 자신에게는 뱃지가 카운트되지 않습니다.
10901101

docs/APP_BADGE_GUIDE.md

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@
22

33
## 개요
44

5-
앱 뱃지는 읽지 않은 알림 개수를 표시하며, iOS와 Android 모두 지원합니다.
5+
앱 뱃지는 **내가 받은 읽지 않은 DIRECT 편지 개수**를 표시하며, iOS와 Android 모두 지원합니다.
6+
7+
**뱃지 계산 기준**:
8+
- ✅ 카운트되는 항목: 내가 받은 읽지 않은 DIRECT 편지
9+
- ❌ 카운트되지 않는 항목:
10+
- 내가 보낸 편지
11+
- 공개편지(PUBLIC)
12+
- 친구 추가 알림, 답장 알림 등 내가 한 액션에 대한 알림
613

714
## 백엔드 API
815

@@ -21,10 +28,10 @@
2128
}
2229
```
2330

24-
### 2. 읽지 않은 알림 개수 조회
31+
### 2. 읽지 않은 편지 개수 조회
2532
**GET** `/notifications/unread-count`
2633

27-
현재 읽지 않은 알림 개수를 조회합니다.
34+
현재 읽지 않은 편지 개수를 조회합니다. 내가 받은 읽지 않은 DIRECT 편지만 카운트됩니다.
2835

2936
## 앱에서 구현해야 할 사항
3037

@@ -295,17 +302,28 @@ fun createNotificationChannel(context: Context) {
295302

296303
- [ ] 앱 포그라운드 진입 시 뱃지가 올바르게 동기화되는가?
297304
- [ ] 알림 목록 화면 진입 시 뱃지가 올바르게 동기화되는가?
298-
- [ ] 새 알림 수신 시 뱃지가 증가하는가?
299-
- [ ] 알림 읽음 처리 시 뱃지가 감소하는가?
300-
- [ ] 모든 알림 읽음 처리 시 뱃지가 0이 되는가?
301-
- [ ] 알림 삭제 시 뱃지가 올바르게 업데이트되는가?
302-
- [ ] 백그라운드에서 알림 수신 시 뱃지가 업데이트되는가?
303-
- [ ] 포그라운드에서 알림 수신 시 뱃지가 업데이트되는가?
305+
- [ ] 새 편지 수신 시 뱃지가 증가하는가?
306+
- [ ] 편지 읽음 처리 시 뱃지가 감소하는가?
307+
- [ ] 모든 편지 읽음 처리 시 뱃지가 0이 되는가?
308+
- [ ] 내가 보낸 편지는 뱃지에 카운트되지 않는가?
309+
- [ ] 공개편지(PUBLIC)는 뱃지에 카운트되지 않는가?
310+
- [ ] 친구 추가 시 내 뱃지는 증가하지 않는가? (상대방만 증가)
311+
- [ ] 공개편지에 답장 시 내 뱃지는 증가하지 않는가? (상대방만 증가)
312+
- [ ] 백그라운드에서 편지 수신 시 뱃지가 업데이트되는가?
313+
- [ ] 포그라운드에서 편지 수신 시 뱃지가 업데이트되는가?
304314

305315
## 참고사항
306316

307-
1. **iOS**: 뱃지는 APNs를 통해 자동으로 설정되지만, 앱에서도 명시적으로 업데이트하는 것을 권장합니다.
308-
2. **Android**: 뱃지는 앱에서 직접 처리해야 하며, ShortcutBadger 라이브러리를 사용하는 것이 가장 호환성이 좋습니다.
309-
3. **네트워크 최적화**: 뱃지 동기화는 사용자 경험에 중요하지만, 너무 자주 호출하지 않도록 주의하세요.
310-
4. **오프라인 처리**: 네트워크가 없을 때는 로컬에 저장된 읽지 않은 알림 개수를 사용할 수 있습니다.
317+
1. **뱃지 계산 기준**: 뱃지는 "읽지 않은 알림 개수"가 아니라 **"내가 받은 읽지 않은 DIRECT 편지 개수"**입니다.
318+
- 내가 보낸 편지는 뱃지에 포함되지 않습니다.
319+
- 공개편지(PUBLIC)는 뱃지에 포함되지 않습니다.
320+
- 친구 추가 알림, 답장 알림 등 내가 한 액션에 대한 알림은 뱃지에 포함되지 않습니다.
321+
322+
2. **iOS**: 뱃지는 APNs를 통해 자동으로 설정되지만, 앱에서도 명시적으로 업데이트하는 것을 권장합니다.
323+
324+
3. **Android**: 뱃지는 앱에서 직접 처리해야 하며, ShortcutBadger 라이브러리를 사용하는 것이 가장 호환성이 좋습니다.
325+
326+
4. **네트워크 최적화**: 뱃지 동기화는 사용자 경험에 중요하지만, 너무 자주 호출하지 않도록 주의하세요.
327+
328+
5. **오프라인 처리**: 네트워크가 없을 때는 로컬에 저장된 읽지 않은 편지 개수를 사용할 수 있습니다.
311329

0 commit comments

Comments
 (0)