productFlavors로 서버 환경을 나눠놨을 때

fcm이 제대로 동작하지 않는 이슈가 있었다.

해결해보자.

 

 

build.gradle이 아래와 같이 설정되어 있다고 했을 때

android {
	...
    
    flavorDimensions "version"
    productFlavors {
        // 로컬 서버
        local {
            dimension "version"

            applicationIdSuffix ".local"
            versionCode 1
            versionName "1.0.0"
        }

        // 테스트 서버
        qa {
            dimension "version"

            applicationIdSuffix ".qa"
            versionCode 1
            versionName "1.0.0"
        }

        // 운영 서버
        prod {
            dimension "version"

            versionCode 1
            versionName "1.0.0"
        }
    }
}

 

 

1. app/src 아래에 폴더 만들기

  • app/src/local
  • app/src/qa
  • app/src/prod

 

2. 각 폴더에 goole-services.json 넣어주기

 

3. (선택사항) applicationIdSuffix를 설정했다면, google-services.json 파일을 각각 수정해준다.

위 gradle 설정 같은 경우에는

  • app/src/local/google-services.json
  • app/src/qa/google-services.json

파일 안의 package name에 똑같이 suffix를 붙여주어야 한다.

 

4. app 디렉토리에 있는 google-services.json 지우기

 

5. build > clean project 한 번 해주고

 

6. 앱 빌드

 

+ Recent posts