초기화 옵션 문제 해결

유효한 Firebase 옵션 세트 없이 앱을 초기화하면 애플리케이션의 신규 사용자에게 심각한 문제가 발생합니다.

Firebase 옵션은 Firebase 서버 API와 성공적으로 통신하고 클라이언트 데이터를 Firebase 프로젝트 및 Firebase 애플리케이션과 연결하기 위해 서비스에 필요한 매개변수 세트입니다. Firebase 서비스는 Firebase 초기화 중에 생성된 Firebase 핵심/공통 라이브러리에서 사용할 수 있는 유효한 Firebase 옵션에 의존합니다.

Firebase 서비스마다 제대로 작동하려면 Firebase 옵션이 달라야 하지만 모든 Firebase 서비스에는 다음 Firebase 옵션이 필요합니다.

  • API 키 - 참고: 이것은 FCM 서버 키가 아닙니다 . FCM 서버 키를 참조하십시오.
    값 예: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • 프로젝트 ID - 예시 값: myapp-project-123 .
  • 애플리케이션 ID("AppID") - 플랫폼에 따라 형식이 달라지는 앱의 고유 식별자:
    • Android의 경우: mobilesdk_app_id —참고: 이것은 Android 패키지 이름이 아닙니다 .
      예시 값: 1:1234567890:android:321abc456def7890
    • iOS+의 경우: GOOGLE_APP_ID —참고: 이것은 Apple 번들 ID가 아닙니다 .
      예시 값: 1:1234567890:ios:321abc456def7890

Android 앱 문제 해결

보안을 강화하기 위해 Firebase SDK 는 2월 27일에 업데이트되었으며 이후 Firebase 인스턴스 ID 서비스를 Firebase Installations API 에 대한 종속 항목으로 대체했습니다.

Firebase 설치는 클라이언트 데이터를 Firebase 프로젝트와 연결하기 위해 필수 Firebase 옵션 API 키, 프로젝트 ID 및 애플리케이션 ID의 존재와 유효성을 적용합니다. 자세한 내용은 FirebaseOptions 를 참조하세요.

Firebase 인스턴스 ID(IID)가 있는 Firebase 클라우드 메시징(FCM)

앱의 신규 사용자에게 FCM 문제가 발생하는 경우 필수 Firebase 옵션 세트 없이 Firebase를 초기화할 수 있습니다.

애플리케이션이 불완전하거나 잘못된 google-services.json 구성 파일을 사용 중일 수 있습니다. 또는 앱이 전체 필수 Firebase 옵션 없이 프로그래밍 방식으로 Firebase를 초기화 하고 있습니다.

결과적으로 Firebase 클라우드 메시징과 같은 Firebase 서비스는 업데이트된 Firebase SDK와 함께 출시된 후 앱을 설치한 최종 사용자에 대해 오작동합니다. 또한 Firebase에 대한 반복적인 실패 요청으로 인해 앱의 최종 사용자 환경이 느려질 수 있습니다.

내가 무엇을해야 하나?

애플리케이션에 대해 오작동하는 Firebase 서비스를 수정하려면 다음 단계를 따르세요.

  1. 프로젝트의 유효한 API 키, 유효한 프로젝트 ID, 유효한 애플리케이션 ID( mobilesdk_app_id 또는 "App Id")로 Firebase를 초기화하여 애플리케이션을 업데이트하십시오.
  2. Play 스토어에 앱의 새 버전을 출시합니다.

Apple 앱 문제 해결

보안을 개선하기 위해 Firebase SDK 는 1월 14일에 업데이트되었으며 이후 Firebase 인스턴스 ID 서비스를 Firebase Installations API 에 대한 종속 항목으로 대체했습니다.

Firebase 설치는 클라이언트 데이터를 Firebase 프로젝트와 연결하기 위해 필수 Firebase 옵션 API 키, 프로젝트 ID 및 애플리케이션 ID의 존재와 유효성을 적용합니다. 자세한 내용은 FIROptions 를 참조하십시오.

Firebase 인스턴스 ID(IID)가 있는 Firebase 클라우드 메시징(FCM)

앱의 신규 사용자에게 FCM 문제가 발생하는 경우 필수 Firebase 옵션 세트 없이 Firebase를 초기화할 수 있습니다.

애플리케이션이 불완전하거나 잘못된 GoogleService-Info.plist 구성 파일을 사용 중일 수 있습니다. 또는 앱이 전체 필수 Firebase 옵션 없이 프로그래밍 방식으로 Firebase를 초기화 하고 있습니다.

결과적으로 Firebase 클라우드 메시징과 같은 Firebase 서비스는 업데이트된 Firebase SDK와 함께 출시된 후 앱을 설치한 최종 사용자에 대해 오작동합니다. 또한 Firebase에 대한 반복적인 실패 요청으로 인해 앱의 최종 사용자 경험이 느려질 수 있습니다.

내가 무엇을해야 하나?

애플리케이션에 대해 오작동하는 Firebase 서비스를 수정하려면 다음 단계를 따르세요.

  1. 프로젝트의 유효한 API 키, 유효한 프로젝트 ID, 유효한 애플리케이션 ID( GOOGLE_APP_ID 또는 '앱 ID')로 Firebase를 초기화하여 애플리케이션을 업데이트하세요.
    1. Firebase 구성 파일을 사용한 기본 초기화 프로세스 : Firebase 콘솔에서 GoogleService-Info.plist 구성 파일을 다운로드 한 다음 앱의 기존 파일을 교체합니다.
    2. FIROptions 객체를 사용한 프로그래밍 방식 초기화 : Firebase 콘솔에서 GoogleService-Info.plist 구성 파일을 다운로드 하여 API 키, 프로젝트 ID 및 애플리케이션 ID를 찾은 다음 앱의 FIROptions 객체에서 이러한 값을 업데이트합니다.
  2. 앱의 새 버전을 App Store에 출시합니다.

FCM 서버 키

앱이 Cloud API 키가 아닌 FCM 서버 키 를 사용하는 경우 동일한 FCM 서버 키를 사용하여 FCM을 통해 푸시 알림을 보내는 경우 보안 취약점이 발생할 수 있습니다. 이 경우 서버 가 FCM으로 보내는 요청을 인증 하는 방법을 수정하는 것이 좋습니다.

FCM 서버 키(Firebase/Cloud API 키와 동일하지 않음)는 프로젝트 이름으로 푸시 알림을 보내는 데 남용될 수 있으므로 애플리케이션에 포함해서는 안 됩니다.