상세 컨텐츠

본문 제목

java 모바일 푸시

관리X 과거글

by 까먹기전에 2020. 1. 15. 17:17

본문

반응형

https://console.firebase.google.com/

 

로그인 - Google 계정

하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인

accounts.google.com

에서 프로젝트 추가 , 및 비밀키 내려받기

 

발송을 위한 휴대폰 토큰아이디 추출은 밑에 링크 참조

 

https://firebase.google.com/docs/auth/admin/verify-id-tokens?hl=ko

 

ID 토큰 확인  |  Firebase

Firebase 클라이언트 앱이 커스텀 백엔드 서버와 통신하는 경우 서버에 현재 로그인한 사용자를 식별해야 할 수 있습니다. 사용자를 안전하게 식별하려면 로그인이 정상적으로 이루어진 후에 HTTPS를 사용하여 사용자의 ID 토큰을 서버로 전송합니다. 그런 다음 서버에서 ID 토큰의 무결성과 진위를 검증하고 ID 토큰에서 uid를 가져옵니다. 이 방법으로 전송된 uid를 사용하면 현재 서버에 로그인한 사용자를 안전하게 식별할 수 있습니다. 참고: 서버에서

firebase.google.com

 

private static File firebaseKey = new File(내려받은 비밀키 경로);

public static String send_FCM(String tokenId, String title, String content , String url) throws IOException, FirebaseMessagingException , FileNotFoundException {
FileInputStream refreshToken = new FileInputStream(firebaseKey);

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(refreshToken))
.setDatabaseUrl(파이어베이스 디비 url).build();
if(FirebaseApp.getApps().isEmpty()) {
FirebaseApp.initializeApp(options);
}

String registrationToken = tokenId;

Message msg = Message.builder()
.setAndroidConfig(AndroidConfig.builder()
.setNotification(AndroidNotification.builder()
.setTitle(title)
.setBody(content)
.build())
.putData("toUrl", 푸시알람 누르면 링크)
.build())
.setToken(registrationToken)
.build();
String response = FirebaseMessaging.getInstance().send(msg);
logger.debug("send_FCM response : "+response);
return response;
}

public static String send_APNS(String tokenId, String title, String content , String url) throws IOException, InterruptedException, ExecutionException, FirebaseMessagingException , FileNotFoundException {


FileInputStream refreshToken = new FileInputStream(firebaseKey);

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(refreshToken))
.setDatabaseUrl(파이어베이스 디비 url).build();
if(FirebaseApp.getApps().isEmpty()) {
FirebaseApp.initializeApp(options);
}

String registrationToken = tokenId;

Message sendMsg = Message.builder()
.setToken(registrationToken)
.setNotification(new Notification(title, content))
.setApnsConfig(ApnsConfig.builder()
.putCustomData("toUrl", 푸시알람 누르면 링크)
.setAps(Aps.builder().build())
.build())
.build();

String response = FirebaseMessaging.getInstance().sendAsync(sendMsg).get();
logger.debug("send_APNS response : "+response);
return response;
}

 

안드로이드랑 ios랑 통합으로 하고싶은데 좋은 방법있으면 참조댓글 부탁드립니다..

관련글 더보기