Firebase Storage에서 다운로드 링크를 얻는 방법은 2가지 정도 있다.

1. 코드에서 얻기 - Firebase SDK 를 사용하여 Storage로 코드로 접근하여 찾기.

2. Firebase Console 에서 얻기 - Storage에서 다운로드 링크를 직접 얻기.

 

이 2가지 방법 정도 있는데 둘 다 완벽하게 편한 방법은 아니다. 물론 Firebase SDK 를 사용하면 이름만으로 접근하여 다운로드할 수 있지만 SDK를 적용해야 한다는 번거로움이 있다.

Storage에서 다운로드 링크를 직접 얻는 방법도 아래와 같이 다운로드 링크에 보안상 토큰 번호가 들어간 상태로 링크가 깔끔하지 못하게 제공된다.

파이어베이스주소.com/v0/b/프로젝트ID.appspot.com/o/uk%2Ftest.unity3d?alt=media&token=짱긴토큰 번호

 

그렇다면 Firebase Storage는 CDN 서비스들에서 제공되는 링크들처럼 깔끔한 다운로드 링크를 제공할 수 없는것인가?

 

아니다. 몇가지 세팅만 해준다면 Firebase Storage에서도 깔끔한 다운로드 링크를 제공할 수 있다. 물론 Firebase Storage만으로는 힘들다. Google Cloud Platform의 힘을 빌려야하며 아래와 같은 깔끔한 링크를 제공할 수 있다.

storage.googleapis.com/프로젝트ID.appspot.com/uk/test.unity3d

 

Firebase Storage는 내부적으로 Google Cloud Platform의 Storage로 작동한다. 즉 google cloud 기능을 사용할 수 있다는 말이다.

 

순서대로 따라하면 깨끗한 링크를 얻을수있다!

 

1. 먼저 자신의 구글 계정으로 Firebase 프로젝트를 하나 만든다.

기존에 사용하던 프로젝트가 있다면 넘어간다.

참고 : https://seonbicode.tistory.com/28

2. Firebase 프로젝트에서 Storage 를 활성화 한다.

기존에 사용하던 Storage 버킷이 있다면 넘어간다.

참고 : https://seonbicode.tistory.com/43#Storage

 

3. google 검색창에서 "google cloud console" 를 검색한다.

단, Storage 기능이 활성화된 Firebase 프로젝트가 있는 계정으로 구글 로그인을 한 후 진행해야한다.

구글 로그인을 한다.

 

4. 아래 빨간 상자와 같은 링크를 클릭해준다.

만약, 다른 버튼을 눌러 무료로 사용해 보기 화면이 뜨면 등록하지말고 Cloud Storage 화면을 찾자.

굳이 활성화를 안 시켜도 기능을 사용할 수 있다.

 

이 화면이 나오는 링크를 클릭 시 뒤로가기 버튼을 눌러준다.

 

위와 같은 화면이 보여야한다.

 

5. 왼쪽 위에 있는 탐색 메뉴를 연다.

탐색 메뉴에서 아래로 드래그하여 저장소 항목의 Storage 를 찾아 클릭한다.

 

6. 자신이 만든 버킷이 보인다. (Firebase 무료 등급 (Spark)를 사용시 버킷을 하나만 만들 수 있다.)

수정하고자 하는 프로젝트의 오른쪽에 있는 점 3개 아이콘을 클릭한다.

이유가 없다면 staging 이름이 안 붙어있는 프로젝트를 수정한다.

 

7. 버킷 권한 수정 클릭

 

8. 구성원 추가 버튼 클릭

 

9. 새 구성원에 allUsers 추가. all 까지만 쳐도 자동완성으로 allUsers 가 뜬다.

 

10. allUsers 를 추가해줬다면 역할 선택에서 Cloud Storage - 저장소 개체 뷰어 권한을 준 후 저장 버튼을 눌러 저장한다.

 

11. 공개 액세스 허용 클릭

 

12. 역할/구성원 에 저장소 개체 뷰어가 새롭게 추가되고 안에 allUsers가 있는 것을 확인 할 수 있다.

공개 액세스도 인터넷에 공개 로 변경되어 있는 것을 확인할 수 있다.

 

13. allUsers 를 추가한 Firebase Storage 버킷에 파일을 올려 제대로 링크가 제공되는지 확인해야한다.

allUsers 를 추가한 storage의 이름을 클릭하여 들어간다.

 

14. Firebase Storage와 다르게 Google Cloud Platform 에서 제공되는 Storage에서는 파일 드래그로 업로드하는 기능을 지원한다.

많은 파일도 편하게 업로드가 가능하므로 Firebase Storage 에서 파일 업로드하는 것보다 여기에서 업로드하는게 편하다.

단, 여기서 이미지 파일을 업로드하면 Firebase Storage 상에서 자동으로 엑세스 토큰이 추가가 안되니 수동으로 추가해줘야한다.

 

15. 테스트 파일을 업로드해보면 공개 액세스 부분 아래에 링크가 하나 제공되는 것을 확인할 수 있다.

클립 아이콘을 클릭하게 되면...

 

16. 아래와 같이 깔끔한 링크로 다운로드 링크가 제공되는 것을 확인 할 수 있다.

Google Cloud Storage 에서 업로드 하면 Firebase Storage 에서도 마찬가지로 자동으로 목록에 추가된다.

 

추가로 Google Cloud Storage 쪽에서 업로드시 아래와 같이 다운로드 링크 + 미리보기가 활성화가 안되는 것을 확인할 수 있는데

 

파일 위치를 눌러준 후 새 액세스 토큰 만들기 로 액세스 토큰을 제작하면 미리보기와 다운로드 링크가 추가된다. 물론 이렇게 추가된 다운로드 링크는 Google Cloud Storage 에서 제공해주는 링크와는 다르다.

 

폴더 다운로드를 지원은 안 하기 때문에 특정 폴더 경로를 코드상에서 가공하여 다운로드 받으면 될것이다.

 

 

 

 

 

 

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기