티스토리 뷰
Ionic과 Firebase를 이용하여 가장 기본적인 기능들이 들어간 간단한 하이브리드 앱을 만들어 보는 것을 목적으로 포스팅을 진행하기로 하였습니다.
Firebase는 모바일 앱 개발 백엔드 서비스를 제공하는 BaaS(Backend as a Service ) 플랫폼으로 사용자 관리, 푸쉬 알림, 데이터베이스 등의 백엔드 기능을 API 형태로 제공하여 비용과 시간을 최소화하여 개발 할 수 있도록 도움을 줍니다.
이번 포스팅에서는 Ionic 프로젝트에서 Firebase를 사용하는 방법과 Firebase 설정에 대한 부분을 다룰 것 입니다.
Ionic 프로젝트에 Firebase 설치
Ionic 프로젝트 경로에서 다음의 명령어를 통해 Firebase 및 Angular 공식 라이브러리인 AngularFire2를 설치 할 수 있습니다.
$ npm install angularfire2 firebase --save
$ npm install angularfire2 firebase --save
What is AngularFire2 ?
1. Observable based: rxjs, angular, firebase를 사용
2. Realtime bindings: Object 또는 List를 데이터베이스와 동기화
3. Authentication: 인증 상태를 실시간으로 모니터링
Firebase Console에서 프로젝트 생성 및 설정
Firebase Console에 접속하여 Ionic 프로젝트와 연동할 Firebase 프로젝트를 생성 할 수 있습니다.
Firebase Console Url: https://console.firebase.google.com/?hl=ko
[Step1] Firebase 프로젝트 생성
프로젝트 추가를선택 한 후 프로젝트 이름을 입력하고 국가를 선택하면 프로젝트를 생성 할 수 있습니다.
[Step2] Firebase Config 정보 확인하기
프로젝트 생성과 동시에 나오는 화면에서 '웹 앱에 Firebase 추가' 로 들어가면 해당 Firebase에 대한 고유한 Config 정보를 확인 할 수 있습니다. 이후 Ionic 프로젝트에 추가해 주어야할 정보 입니다.
[Step3] Database 보안규칙 변경
Realtime Database - 규칙 카테고리에서 접근 권한에대한 변경을 수행 할 수 있습니다. 아래와 같이 보안 규칙을 변경하고 게시 버튼을 클릭하면 우측 상단에 '규칙을 게시했습니다.' 라는 메세지가 뜨게 됩니다.
Ionic 프로젝트에 Firebase 세팅
src/app/app.firebase.config.ts
1 2 3 4 5 6 7 8 | export const FIREBASE_CONFIG = { apiKey: " ", authDomain: " ", databaseURL: " ", projectId: " ", storageBucket: " ", messagingSenderId: " " }; | cs |
생성한 Ionic 프로젝트에 Firebase 관련 Module과 Config 정보를 추가해줌으로 Firebase와 연동 시킬 수 있습니다. app.firebase.config.ts 파일을 생성하여 아래와 같이 Firebase 프로젝트에서 확인했던 Config 정보를 입력해줍니다.
src/app/app.module.ts
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import { BrowserModule } from '@angular/platform-browser'; import { ErrorHandler, NgModule } from '@angular/core'; import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'; //Firebase Module import { AngularFireAuthModule } from 'angularfire2/auth'; import { AngularFireDatabaseModule } from 'angularfire2/database'; import { AngularFireModule } from 'angularfire2'; //Firebase Config import { FIREBASE_CONFIG } from './app.firebase.config'; import { MyApp } from './app.component'; import { HomePage } from '../pages/home/home'; import { ListPage } from '../pages/list/list'; import { StatusBar } from '@ionic-native/status-bar'; import { SplashScreen } from '@ionic-native/splash-screen'; @NgModule({ declarations: [ MyApp, HomePage, ListPage ], imports: [ BrowserModule, IonicModule.forRoot(MyApp), AngularFireDatabaseModule, AngularFireAuthModule, AngularFireModule.initializeApp(FIREBASE_CONFIG) ], bootstrap: [IonicApp], entryComponents: [ MyApp, HomePage, ListPage ], providers: [ StatusBar, SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler} ] }) export class AppModule {} | cs |
Firebase Module과 FIREBASE_CONFIG를 Import하고 Module들을 NgModule의 imports에 등록시켜 줍니다. AngularFireModule, AngularFireAuthModule, AngularFireDatabaseModule은 Firebase 로그인, Database접근 등을 위한 필수 모듈입니다. 이제 Ionic & Firebase 앱 제작을 위한 가장 기본적인 세팅이 완료 되었습니다.
이번 포스팅에서 Ionic 프로젝트에 Firebase를 설치하고 Firebase의 Config와 Module을 추가하여 연동하는 방법을 소개하였습니다. 다음 포스팅에서는 로그인 기능을 구현해보도록 하겠습니다.
'ionic 3' 카테고리의 다른 글
Ionic Camera 기능 구현 (1) | 2017.08.07 |
---|---|
Ionic & Firebase 사용자 리스트 출력 (0) | 2017.08.06 |
Ionic & Firebase 로그인 기능 구현 (2) | 2017.08.06 |
VS code에 Ionic 디버깅 환경 구성 (2) | 2017.08.06 |
Ionic 3 프로젝트 생성 및 실행 (0) | 2017.08.01 |