Programming2016.06.17 12:06

Google I/O 에서 Firebase 에 대한 발표 후 Firebase에 대한 언급이 많아지고 있네요.


테스트를 해보니 채팅을 구현하기 정말 쉬울 것 같아서 한번 만들어 보겠습니다.


채팅 구현에 여러가지 기능을 넣을 수 있겠지만 텍스트 대화와 푸시없이 구현하도록 하겠습니다.


사용하는 Firebase의 기능은 Realtime database, Authentication 입니다.



Firebase 프로젝트 설정


https://console.firebase.google.com 접속

`새로만들기` 클릭


프로젝트 `이름`과 `국가/지역` 선택



iOS 앱에 Firebase 추가



`iOS 번들 ID` 입력 (실제 iOS  bundle id 와 같아야 합니다.)



`앱 추가` 버튼을 클릭하면 `GoogleService-info.plist` 파일을 다운로드 받게 됩니다. 나중에 xcode(appcode) project 생성 후에 추가해야 하니 보관해두세요.


이후 나오는 `계속`, `완료` 버튼을 눌러 `iOS 앱에 Firebase 추가` 과정을 끝냅니다.


앱이 추가되었습니다.




회원 인증 설정


어떤 채팅이든 유저를 구분할 수 있는 로그인이 필요하죠.


Firebase에서는 Auth를 이용해 쉽게 회원기능(회원가입/ 로그인)을 구현할 수 있습니다.


Authentication (https://firebase.google.com/docs/auth/)


Authentication 에서는 이메일 인증부터 구글, 페이스북등 다양한 소셜 로그인 기능과 익명 기능이 제공됩니다.

우리 프로젝트는 익명 채팅으로 구현할거에요. 


Anonymous Authentication (https://firebase.google.com/docs/auth/ios/anonymous-auth)


콘솔 메뉴에서 Auth 를 선택합니다.




로그인 방법 설정을 클릭합니다.



  1. Anonymous 선택
  2. 사용 설정 켜기
  3. 저장



사용 설정 완료~!!!




Firebase에서 프로젝트 설정은 끝났습니다. 



iOS 프로젝트 설정


Xcode의 프로젝트 생성은 많이 해보셨을테니 저는 Appcode로 하겠습니다. ㅋ


(사용하는 Appcode의 버전은 2016.2 EAP 입니다.)


앱코드(Appcode) 실행

New project




iOS > Application > Single View Application 선택 후 Next

`Product Name`, `Organization Name`, `Organization Identifier` 입력

언어는 Objective-C, Swift 둘중 편한걸 선택하세요. 저는  Swift입니다

설정이 끝났다면 Finish




Appcode는 cocoapods이 통합되어 있어서 IDE안에서 cocoapods을 사용 가능합니다.

cocoapods podfile 생성



podfile 작성 후 pod install (cocoapods 에서 확인하세요)

platform :ios, '9.0'
use_frameworks!

target 'Shouting' do
  pod 'Firebase/Auth'
  pod 'Firebase/Database'
end


AppDelegate.swift


import UIKit
import Firebase

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        FIRApp.configure()
        return true
    }
}

Firebase console 에서 받은 GoogleService-Info.plist 를 Shouting 프로젝트에 추가합니다.



빌드하고 실행하면 오류 없이 정상 실행됩니다.


다음은 iOS 앱에서 채팅을 구현해 볼까요?

신고
Posted by 초프(초보 프로그래머)

새로운 기능을 추가했습니다.

  • 로그인 기능 추가
  • 게시판 기능 추가
  • 오류 수정

 

 



신고
Posted by 초프(초보 프로그래머)

"먹고살려고 광고쓰는거이해하는데 전면광고뜨고나면 껏다켜야되고 엑스자 잘못누르기라도하면 플레이스토어도 꺼야되고 다시켰다꺼야되고 이러다 사용자 팍줄면 그때가서 후회하시렵니까"

"도서관자리볼수있어서정말진짜좋긴좋은데계속광거떠서진짜너무싫어요광고안뜨게좀해주세요"

"광고좀!!!!!!! 없애주세여!!!!!!! 왜 자꾸 떠!!!!!"

"어플실행할때마다 그걸 꼭 일일이 눌러야하는지.. X를 잘못눌러서 광고물을 누르면 다른곳에 들어가지고 짜증이나네요.. 아예 안뜨게해주시면 안되나요? 저뿐만아니라 다른 많은분들도 광고때문에 불편함을 겪고계실텐데요.."


신고
Posted by 초프(초보 프로그래머)

벌써 3월 11일이네요..

새학기가 시작되는 달이라 다운로드 수가 어떻게 변경했는지 확인해 봤습니다.

예상대로 개강하자마자 다운로드가 많이 늘어 났는데 그것도 하루뿐이네요.


'도서관 좌석 정보' Android


'도서관 좌석 정보' iOS


실제 수치 차이는 크지만 Android, iOS모두 3/1에 큰 수치로 늘었습니다.

이번주 수치는 정확히 나오지 않아서 모르겠지만 아마 주말에 많이 올라갔을 것으로 보입니다.


신고
Posted by 초프(초보 프로그래머)

'도서관 좌석 정보' 아이폰앱이 1.1로 업데이트되었습니다.

- Facebook, KakaoTalk 로그인 연동
- 도서관별 게시판 추가
- 지도에서 도서관 위치 확인


https://itunes.apple.com/us/app/doseogwan-jwaseog-jeongbo/id498836252?mt=8

신고
Posted by 초프(초보 프로그래머)

10만 올라가는데 일년 정도 걸린것 같네요.

드디어 800,000 다운로드 돌파



신고
Posted by 초프(초보 프로그래머)

드디어... 드디어 업데이트입니다.


2.0.0 새버전입니다. 많이 달라진 것은 없습니다. 


몇 가지 기능이 추가되었습니다.


* 열람실 잔여 좌석 현황 공유 기능

* 나의 도서관 순서 변경

* 게시판 추가 방법 변경





신고
Posted by 초프(초보 프로그래머)

아이폰 사용자들이 많이 기다리던 대기자 정보를 추가하였습니다.

오늘 업로드하였으니 8일 정도의 리뷰기간을 거쳐 업데이트될 예정입니다.




신고
Posted by 초프(초보 프로그래머)
많은 분들이 기다리던 휴관일, 이용시간 정보가 제공되기 시작하였습니다.
아직 완벽하지 않은 기능입니다. 보완해야할 부분이 많습니다.
완벽하게 하려고 하면 너무 늦어지게 될것 같아 빨리 올려봅니다.



휴관일 정보가 없을 경우
휴관일 정보가 있을 경우
이용시간 정보가 있을 경우

등의 이미지 입니다.

휴관일 정보가 없는 경우는 365일 개방이거나 정보를 입력하지 않은 것입니다.

다음에는 더 보완된 정보와 기능들로 업데이트하도록 하겠습니다. 
신고
Posted by 초프(초보 프로그래머)
전 버전에서 사라졌던 새로고침 버튼을 새로 넣었습니다.
기존과 다른 도서관명 옆에 위치시켰습니다.
안드로이드 기본 버튼이 아닌 이미지를 넣어 봤어요~ 역시 뭔가 이미지가 잇어야.... ㅋ
 
신고
Posted by 초프(초보 프로그래머)