NodeJS에서 Firebase의 RemoteConfig 사용하기

Explanation

오늘은 오랜만에 Firebase에 관련된 글을 적어보려고 합니다. 예전에 Firebase의 Hosting, Firestore, Functions를 사용해서 메모장 만들기를 간단하게 했었는데요.

https://falsy.me/firebase의-hosting-functions-firestore로-메모장-만들기/

오늘은 그것보다 더 간단한.. NodeJS에서 Firebase의 Remote Config 값을 불러오고, 수정하는 것에 대해 적어보려 합니다.

예전 글에서는 firebase cli를 썼었는데, 이번엔 사용하지 않을 거에요.

1. 프로젝트 만들기

우선 https://console.firebase.google.com/ 로 이동해서 ‘+ 프로젝트 추가’ 영역을 선택한 후 프로젝트를 만들어 줍니다. 저는 remote-config-test 라는 이름으로 만들어 주었습니다.

2. 사용자 키 발급받기

왼쪽에 톱니 바퀴를 눌러서 ‘사용자 및 권한’을 선택한 후 ‘서비스 계정’ 탭으로 이동해 줍니다.

그리고 아래쪽에 보시면 ‘새 비공개 키 생성’ 버튼을 선택해서 json 파일을 다운 받습니다.

3. Remote Config 만들기

왼쪽 메뉴에 ‘성장’ 메뉴 안에 있는 ‘Remote Config’를 선택한 후 ‘매개변수 추가’ 버튼을 눌러서 새로운 변수를 추가해 보도록 하겠습니다. 저는 ‘test’ 라는 이름에 값은 ‘test_value’로 설정했습니다.

이제 본격적으로 코드를 작성하기 앞 서,

4. 이런저런 기본 과정

remote-config-test 라는 디렉토리를 만들고

그 다음으로 ‘npm init’을 해줄게요.

그 다음으로 init 설정을 해주세요.

너무.. 자잘하게 적은 느낌이 문득..

firebase-admin 패키지를 설치해줍니다.

그리고 아까 다운 받았던 json 파일을 살짝 이름을 바꿔서 쓰기 편하게 ‘config.json’으로 이름을 바꿔서 ‘remote-config-test’ 디렉토리 안에 넣고 index.js 라는 파일을 만들어서 코드를 작성하겠습니다.

5. 드디어 코드 작성!

여기에서 initializeApp을 호출할때 다운 받았던 json 파일을 사용했는데요. json 파일을 사용하지 않고 직접 값을 입력해줄 수 도 있답니다.

위와 같이 작성할 수도 있답니다. 위에 작성된 내용은 json 파일을 열어보시면 안에 있답니다.

이렇게 스크립트를 실행하고 Remote Config에서 확인해 보시면,

짜잔! 이렇게 바뀐 것을 확인할 수 있습니다.

6. 쓸데없을 수도 있는 이야기..

만약에, AWS에서 SSM의 파라미터 스토어에 privateKey를 등록하여 사용한다고 하신다면, 값 안에 있는 \n의 값이 문자열로 저장되기 때문에 가져와서 사용하실 때 한번 리플레이스를 해주셔야 인증 오류가 뜨지 않는 답니다.