feat: 웹 안내페이지(앱전용)·회원가입 제한/봇차단·카드 인식 보정
- 웹(브라우저)은 안내 페이지만, 실제 이용은 앱(Capacitor). 개발모드는 예외 - 회원가입: 약관동의, 관리자 제한 토글, 진입부터 차단, 허니팟 - 카드 알림: pending 건 계좌종류 '카드' 기본선택(현금 X), 확인실패 시 HTTP 상태 표시 - 네이티브 알림필터: '카드' 키워드 제거+광고성 표현 차단 - docs/release-2026-06-06.md 정리 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -49,11 +49,18 @@ public class CardNotifListenerService extends NotificationListenerService {
|
||||
}
|
||||
}
|
||||
|
||||
/** 결제 알림 후보 판별: 금액(####원) + 승인/결제/카드 키워드 */
|
||||
/**
|
||||
* 결제 알림 후보 판별: 금액(####원) + 결제/승인/출금 키워드.
|
||||
* '카드'는 광고에도 흔해 제외. 강한 승인신호(승인/출금/취소/환불) 없이 광고성 표현이 있으면 제외.
|
||||
* (1차 필터 — 최종 판별은 백엔드 파서)
|
||||
*/
|
||||
private boolean looksLikePayment(String s) {
|
||||
boolean money = s.matches("(?s).*\\d[\\d,]{2,}\\s*원.*");
|
||||
boolean kw = s.contains("승인") || s.contains("결제") || s.contains("카드");
|
||||
return money && kw;
|
||||
boolean kw = s.contains("승인") || s.contains("결제") || s.contains("출금");
|
||||
if (!money || !kw) return false;
|
||||
boolean strong = s.contains("승인") || s.contains("출금") || s.contains("취소") || s.contains("환불");
|
||||
boolean adLike = s.matches("(?s).*(이벤트|광고|혜택|쿠폰|할인|적립|포인트|캐시백|마일리지|리워드|당첨|응모|추첨|프로모션|배너|무료|증정|모집).*");
|
||||
return strong || !adLike;
|
||||
}
|
||||
|
||||
private void post(String pkg, String title, String text, String token) {
|
||||
|
||||
Reference in New Issue
Block a user