프로그래밍 언어/Android

google-services.json 구성을 여러 버전에 따라 다르게 만드는 방법

Rateye 2021. 10. 1. 12:03
728x90
반응형
질문 : 다른 productFlavors에 대한 google-services.json

업데이트 : GCM 이 지원 중단되었습니다. FCM을 사용하세요.

여기 Google 개발자 페이지의 가이드에 따라 새로운 Google 클라우드 메시징을 구현하고 있습니다.

성공적으로 실행하고 테스트했습니다. 하지만 이제 내 문제는 다른 applicationId / packageName과 다른 Google 클라우드 메시징 프로젝트 ID를 가진 다른 제품 버전이 있다는 것입니다. google-services.json 은 flavors 폴더가 아닌 /app/google-services.json

google-services.json 구성을 여러 버전에 따라 다르게 만드는 방법이 있습니까?

답변

Google은 플레이 서비스 플러그인 버전 2.0에 플레이버 지원을 포함했습니다. 이 버전의 gradle plugin com.google.gms:google-services:2.0.0-alpha3

넌 할 수있어

1 단계 : Gradle에 추가

// To auto-generate google map api key of google-services.json
implementation 'com.google.android.gms:play-services-maps:17.0.0'

2 단계 : 애플리케이션 태그에서 AndroidManifest.xml에 추가

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="@string/google_api_key" />

3 단계 : Firebase에서 각 버전 JSON 파일을 다운로드하고 추가합니다.

app/src/
    flavor1/google-services.json
    flavor2/google-services.json

플러그인 버전 3.0.0은 다음 위치에서 json 파일을 검색합니다 ( flavor flavor1 및 빌드 유형 debug 가 있다고 고려).

/app/src/debug/google-services.json
/app/src/debug/flavor1/google-services.json
/app/google-services.json

이것은 flavorDimensions를 사용하여도 저에게 효과적이었습니다. 나는 한 차원에서 무료 및 지불하고 다른 차원에서 모의 및 생산을했습니다. 또한 디버그, 릴리스 및 스테이징의 세 가지 buildType이 있습니다. 이것은 FreeProd 풍미에 대한 내 프로젝트의 모습입니다.

여기에 이미지 설명 입력

google-services.json 파일의 수는 프로젝트의 특성에 따라 다르지만 모든 Google 프로젝트에 대해 하나 이상의 json 파일이 필요합니다.

이 플러그인이 이러한 json 파일로 수행하는 작업에 대한 자세한 내용을 보려면 https://github.com/googlesamples/google-services/issues/54#issuecomment-165824720

공식 문서 링크 : https://developers.google.com/android/guides/google-services-plugin

업데이트 된 정보가 포함 된 블로그 게시물 : https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html

이 플러그인의 최신 버전을 확인하려면 여기로 이동하세요. https://bintray.com/android/android-tools/com.google.gms.google-services/view

출처 : https://stackoverflow.com/questions/30772201/google-services-json-for-different-productflavors
728x90
반응형