Firebase에서 PUSH 알림을 위한 메모(Android)

4337 단어 Android추식 통지

하고 싶은 일


Android에서 FCM(Firebase Cloud Messaging)을 사용하면 PUSH 알림을 받을 수 있습니다.
참여한 사건의 개발에서 처음으로 순수한 FCM을 설치했기 때문에 그 비망록.

한 일

  • Firebase 배포
  • FCM 가져오기(PUSH 알림 수신을 위한 논리)
  • Firebase 배포


    일반 Firebase 개요, 프로젝트 만들기
    주1: 항목을 만들 때의 설정 값

    주2: SHA1 획득 방법
    AndroidStudio를 사용할 때 명령을 내리지 않아도 Task가 준비되어 있습니다.
    캡처 중인 서명 보고서를 실행하면 SHA1 등을 얻을 수 있습니다.


    FCM 가져오기(PUSH 알림을 수신하는 논리)


    길잡이 AndroidManifest 설정 및 서비스 구현을 이해할 수 있습니다.
    알 수 없는 부분과 소스의 전체 상태를 확인하려면 샘플을 준비했습니다.
    https://github.com/firebase/quickstart-android/tree/master/messaging

    몰라, 쓸데없는 부분


    구글플레이 개발자 서비스 점검
    사용하지 않았지만 이해를 깊게 할 때 이 기사를 참고했다.
    GoogleMap 등을 사용하지 않았기 때문에 설치 검사를 하지 않았지만 하는 것이 좋습니다.
    Google Play 서비스 사용 여부를 Android 애플리케이션으로 확인
    자동 초기화 금지
    2020/3/11 추억
    자동으로 초기화되어 라이센스를 받은 후 Firebase를 사용하려는 경우 사용 금지
    보통 사용하지 않습니다.
    통지 안 하면 돼.
    아래, 참조 사이트
    - https://developers-jp.googleblog.com/2017/04/take-control-of-your-firebase-init-on.html
    - https://developers-jp.googleblog.com/2017/04/take-control-of-your-firebase-init-on.html

    가장 실천적인 부분을 알고 싶어요.

    /**
     * Called if InstanceID token is updated. This may occur if the security of
     * the previous token had been compromised. Note that this is called when the InstanceID token
     * is initially generated so this is where you would retrieve the token.
     */
    override fun onNewToken(token: String?) {
        Log.d(TAG, "Refreshed token: $token")
    
        // If you want to send messages to this application instance or
        // manage this apps subscriptions on the server side, send the
        // Instance ID token to your app server.
        sendRegistrationToServer(token)
    }
    
    예시 코드의sendRegistration ToServer에서 상응하는 사용자와 그룹에게만 메시지를 보내기 위해 Token을 응용 서버에 보내지만 이때 통신이 실패하면 어디에서 복구해야 합니까?이번에는 응용 프로그램이 시작될 때 복구 처리를 했습니다. (실례 ID 다시 보내기) 최선의 실천이 있으면 알려주십시오...

    PUSH 알림 수신


    https://firebase.google.com/docs/cloud-messaging/android/receive
    데이터의 처리 자체가 상술한 견본에도 코드가 있기 때문에 나는 그렇게 어렵지 않다고 생각한다.
    읽기메시지 처리의 표 모드
    나는 모든 모델의 행위를 이해하는 것이 매우 중요하다고 생각한다.

    이번에 못한 일.


    샘플 기반 개발이기 때문에 테마와 장치 그룹을 사용하지 않았습니다.
    실제로 분배의 목적과 테스트를 고려하여 설비팀도 사용해야 한다
    원래 Firebase 콘솔을 사용할 때마다 수동으로 보내지는 않아요.
    나는 서버 측의 응용 프로그램도 준비하는 것이 가장 좋다고 생각한다.

    총결산


    메모로 나중에 할 때 잊어버리고 어려워 보이는 부분을 중심으로 메모를 했어요.
    Firebase 자체의 내용도 커서 디테일을 잊어버렸다(설치 내용이라기보다는 왜 그랬는지)
    코드와 참고 URL을 꼼꼼히 정리하면 시간이 너무 길어서 꼼꼼히 정리하고 싶은데...

    좋은 웹페이지 즐겨찾기