-
flutter FCM 메시지 ios 수신시 알림음 및 진동 울리지 않는 현상firebase 2023. 6. 14. 17:21반응형
fcm을 평소 사용하면서 개발을 해왔다
하지만 언제부터인가 아이폰에서만 PUSH 가 와도 진동이나 알림음이 들리지 않는것같아
골머리를 앓았다. 포그라운드에서는 정상적이지만 백그라운드에서 되질 않아 이곳 저곳 다 수정해보고 apn도 새로 받아 수정도 해보았지만 똑같았다,
알고보니 메시지를 fcm 서버로 보낼때 json 값으로 값으 보내줘야 했던것
android는 디폴트가 알림음을 울려주는것이라면 IOS에서는 그렇지 않았다
해결방법
{ "message": { "token": "토큰", "notification": { "title": "Test", "body": "Test message" }, "android": { "notification": { "sound": "default" } }, "apns": { "payload": { "aps": { "sound": "true" } } } } }
위와 같이 JSON 형태로 서버로 값을 보내줘야 정상적으로 알림음이 들어오는것을 알수 있다
body에 이런식으로 보냄
코드 만드는 샘플
public test() { String title = "받장 휴대폰인증 테스트 메시지"; String body = "인증번호는" + "[" + numStr + "]" + "입니다."; GoogleCredentials googleCredentials = GoogleCredentials String message = makeMessage(targetToken, title, body); OkHttpClient client = new OkHttpClient(); RequestBody requestBody = RequestBody.create(message, MediaType.get("application/json; charset=utf-8")); Request request = new Request.Builder() .url(API_URL) .post(requestBody) .addHeader(HttpHeaders.AUTHORIZATION, "Bearer " + getAccessToken()) //header에 accesstoken을 추가 .addHeader(HttpHeaders.CONTENT_TYPE, "application/json; UTF-8") .build(); Response response = client.newCall(request).execute(); System.out.println(response.body().string()); } private String makeMessage(String targetToken, String title, String body) throws JsonParseException, JsonProcessingException { FcmMessage fcmMessage = FcmMessage.builder() .message(FcmMessage.Message.builder() .token(targetToken) .notification(FcmMessage.Notification.builder() .title(title) .body(body) .image(null) .build() ).build()).validateOnly(false).build(); return objectMapper.writeValueAsString(fcmMessage); //FcmMessage 생성후 objectmapper를 통해 string으로 변환하여 반환 }
[UMC-3rd & Springboot] rest API 서버 구현 - FCM 문자 인증 #3
👌FCM > Firebase Cloud Messaging 메시지를 안정적으로 무료 전송할 수 있는 크로스 플랫폼 메시징 솔루션이다. FCM 구현에는 두가지 구성요소가 필요힌데, 첫번째는 Firebase용 Cloud Functions 또는 앱 서버
velog.io
이분 꺼 참고 함
기타 참고용은 아래 링크에서 확인하면 좋을것같다
https://firebase.google.com/docs/cloud-messaging/http-server-ref?hl=ko
Firebase 클라우드 메시징 HTTP 프로토콜
firebase.google.com
반응형'firebase' 카테고리의 다른 글
Analytics 와 BigQuery 연결 (0) 2024.05.21 DynamicLinks 암호화 / 복호화 (0) 2023.07.11 Firebase 개인 정리 (0) 2023.04.11 Firebase firebase_dynamic_links 오류 (0) 2023.03.03 Firebase Dynamic Links 연결 (0) 2023.02.23