ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • curl 로 firebase 메시지 보내기
    카테고리 없음 2018. 3. 8. 14:33
    728x90

     

    공홈에도 잘 나와 있긴한데 편하게 가져다 쓰기 위해 정리해둔다.


    테스트 Push 메시지용 배치파일 만들기

    이 Section은 Push 테스트를 하기 위해 푸시 메시지를 계속 단말기에 보낼때 테스트 환경에서 사용하길 권장한다.

    또한 이러한 테스트는 라이브 서비스중인 환경에서는 사용자들에게 푸시가 전송 될 수 있기 때문에 각별한 주의가 필요하다.

     

    fcm_test.bat 

    curl -X POST -H "Content-Type:application/json" -H "Authorization:key= 여기에 FCM 서버키를 넣음" -k "https://fcm.googleapis.com/fcm/send" --data "@fcm_test.json"

    위와 같이하려면 따로 fcm_test.json 이라는 파일이 추가로 필요하다.

    이렇게 하는 이유는 console 에서 직접 보낼때 한글이 깨지기 때문!

     

    fcm_test.json

    {
      "to" : "여기에 fcm 키나(단일대상) /topics/구독주제 를 넣는다",
      "priority" : "high",
      "notification" : {
        "body" : "내용",
        "title" : "제목",
    
    "여기에 추가적인 키를 넣을 수도 있음":"값"
      },
    
    }

    구글 공식홈에 나와있는 예제에 따옴표가 빠져있다. 잘 못보면 삽질주의!

    언제 고쳐질지 모르지만 현재(2018.3.8)에는 "to" 보낼때 뒤에 " 가 앞에 하나 빠져있다. -_-;

     

     

    위와 같이 보내면

     

    iOS

    - background 일경우 푸시 메시지를 받음

    - foreground 일 경우 -(void)application:didReceiveRemoteNotification 이 호출된다

    - 위 fcm_test.json 예제에서 추가키를 넣으면(void)application:didReceiveRemoteNotification 함수인자로 userInfo 라는 인NSDictionary 가 하나오는데 여기에 키로 "gcm.notification.추가키" 라는 것으로 검색하면 해당 키의 값을 얻을 수 있다.

    const char* value = [[userInfo objectForKey:@"gcm.notification.키이름"] UTF8String]

     

    Android 는 data 푸시 기능이 있으므로 무적

     


    Push의 종류

    • notification 푸시 : Firebase Console 이나, 위 예제처럼 "notification" 키를 기반으로 보내는것. 기본적인 기능을 하는 푸시가 구현됨, iOS, Android 기본 지원
    • data 푸시 : "data" 키를 기반으로 보냄. Android 에서 지원 iOS 는 아니 10 부터 지원되는 듯

     

     

     

     

     

    728x90

    댓글

Designed by Tistory.