มาทำความรู้จักกับ Firebase และวิธีการติดตั้งลงใน iOS กัน

Kittisak Phetrungnapha
iTopStory
Published in
3 min readJul 11, 2016

Firebase คืออะไร?

Firebase เป็นศูนย์รวม service ต่างๆ เกือบจะทั้งหมดของ Google ที่ช่วยให้นักพัฒนาด้านต่างๆ ทั้ง iOS Android หรือ Web สามารถเรียกใช้ services ของ Google ได้อย่างง่ายดาย เพียงแค่ปลายนิ้วสัมผัส เช่น Cloud Messaging, Authentication, AdMob เป็นต้น

ภาพด้านล่างเป็น services ทั้งหมดที่นักพัฒนาสามารถเรียกใช้งานได้ภายใน Firebase

Firebase Services

ซึ่ง service ส่วนใหญ่ที่มีให้ใช้ใน Firebase นั้น จะฟรี!!! แต่ก็มีบางอย่างที่ต้องจ่ายเงินเพิ่ม โดยสามารถดูรายละเอียดได้ที่

สิ่งที่ควรรู้ก่อนเริ่มต้นใช้งาน Firebase ใน iOS

  1. Xcode 7.0+
  2. สำหรับ Cloud Messaging จำเป็นต้องใช้ physical device ในการทดสอบ รวมถึงต้องมี APNs certificate และต้องเปิด Push Notifications enabled ด้วย ซึ่งถ้าใครยังไม่มี iOS Developer Account ก็ถึงเวลาต้องไปสมัครแล้วล่ะ กระเป๋าฉีกพอสมควร TT
  3. Bundle Identifier ของโปรเจค iOS ที่ต้องการใช้งาน Firebase
  4. CocoaPods 1.0.0+ จริงๆ ใช้ CocoaPods 0.39.0 ก็สามารถใช้งานได้เหมือนกัน แต่เพื่ออนาคตที่ดี แนะนำว่าถ้าใครยังไม่ได้อัพ อัพเถอะครับ ส่วนใครยังไม่เคยใช้ CocoaPods ดูวิธีการใช้งานได้ที่ https://cocoapods.org/
  5. ถ้ามีความจำเป็นไม่สามารถใช้ CocoaPods ได้จริงๆ ก็มีวิธีติดตั้งแบบ manual อยู่ อ่านรายละเอียดได้ที่ https://firebase.google.com/docs/ios/setup โดยเลื่อนลงมาล่างสุดครับ จะพบหัวข้อ Integrate without CocoaPods

สร้างโปรเจคด้วย Xcode สำหรับ Firebase

อันดับแรกให้เราสร้างโปรเจค iOS อันใหม่ขึ้นมาก่อน เพราะเราจำเป็นต้องใช้ Bundle ID เพื่อนำมาสร้างใน Firebase Console พร้อมแล้วก็เปิด Xcode ขึ้นมาเลย แล้วเลือก Create a new Xcode project แล้วก็เลือก Single View Application แล้วกด Next ซะ

จากนั้นก็กรอกรายละเอียดทั่วไปตามปกติ โดยขอเลือกเป็น Swift ละกัน ตาม trend ซะหน่อย จากนั้นกด Next แล้วก็เลือก directory ที่จะเก็บโปรเจคของเราให้เรียบร้อย แล้วก็กด Create เป็นอันเสร็จสิ้นสำหรับขั้นตอนการสร้างโปรเจค iOS

สร้างโปรเจคใน Firebase Console

หลังจากที่เราสร้างโปรเจค iOS เรียบร้อยแล้ว ต่อมาให้เราเข้าไปที่ https://console.firebase.google.com/ เพื่อทำการเพิ่มโปรเจคของเราใน Firebase Console โดยหลังจากเข้ามาแล้ว โดยเราสามารถเลือกได้ระหว่าง Create New Project หรือ Import Google Project เก่ามาใช้ก็ได้ โดยบทความนี้ขอเลือกสร้างใหม่ละกัน กด Create New Project แล้วกรอก Project name กับ Country ให้เรียบร้อย แล้วกด Create Project ได้เลย

หลังจากนั้นก็เลือก Platform ให้เลือกไปที่ iOS (อย่าผิดค่ายนะ หึหึ)

กรอก Bundle ID ของโปรเจคที่เราเพิ่งสร้างมาก่อนหน้าลงไป ส่วน App Store ID ไว้สำหรับให้ app ที่เคยขึ้น App Store แล้วต้องการจะใช้ Firebase ก็ให้กรอก iTunes Connect ID ลงไป จากนั้นกด Add App ได้เลย

หลังจากนั้น Browser ของเราจะทำการ download ไฟล์ GoogleService-Info.plist ให้อัตโนมัติ ซึ่งไฟล์นี้เป็นไฟล์ที่เก็บ Configuration ต่างๆ ที่เกี่ยวข้องกับ Firebase ที่ผูกกับโปรเจคของเรานั่นเอง โดยหลังจาก download มาแล้ว ให้เราทำการลากไปวางไว้ใน Xcode ได้เลย โดยวางไว้ที่ root ตามภาพด้านล่าง

ต่อไปเป็นขั้นตอนการติดตั้ง Firebase ลงใน iOS แล้วนะ โดยทาง Google แนะนำให้ใช้ CocoaPods หรือจะใช้วิธีติดตั้งแบบ manual ก็ได้ ตามที่ได้กล่าวไว้แล้ว และอีกครั้ง… สำหรับใครที่ยังไม่เคยใช้งาน CocoaPods ดูวิธีใช้งานได้ที่ https://cocoapods.org/

หลังจากติดตั้ง Firebase ผ่าน CocoaPods เรียบร้อยแล้ว ให้เราทำการเปิดโปรเจคของเราขึ้นมา และอย่าลืม!!! ต้องเป็น .xcworkspace นะ ไม่ใช่ .xcodeproj ไม่งั้นเราจะมองไม่เห็น Firebase ที่เพิ่มเข้ามาผ่านทาง CocoaPods

เมื่อเปิด .xcworkspace ขึ้นมาแล้ว ก็ให้ไปที่ไฟล์ AppDelegate.swift แล้วทำการเพิ่ม code ไปสองบรรทัด (ที่ Google เน้นตัวหนาๆ ให้) ดังภาพด้านล่าง (Objective C ก็มีให้นะเออ)

ลอง Build แล้ว Run โปรเจค ถ้าไม่มีอะไรผิดพลาด ควรจะผ่านฉลุยปกติครับ

และถ้ากลับมาดูที่ Firebase Console จะพบว่าโปรเจคของเราได้ถูกเพิ่มเข้ามาแล้ว โดยที่เมนูด้านซ้ายมือจะเป็น services ที่ Firebase มีให้เราใช้งาน

หน้าแรก Firebase Console ของโปรเจค

จบแล้วครับ สำหรับวิธีการติดตั้ง Firebase ใน iOS ของเรา เป็นไง ไม่ยากเลยใช่ไหม อย่างไรก็ตาม บทความนี้เป็นเพียงการเกริ่นนำเกี่ยวกับ Firebase บอกวิธีการสร้างโปรเจคใน Firebase Console และติดตั้ง Firebase ลงใน iOS ผ่าน CocoaPods เท่านั้น เดี๋ยวจะมีบทความที่ลงรายละเอียดให้ในแต่ละ service ของ Firebase สำหรับนักพัฒนาสาย iOS ตามมาในภายหลัง ฝากติดตามกันด้วยนะครับ สวัสดีครับ

ติดตามเรื่องราวต่างๆ ทั้งเทคโนโลยี มุมมองชีวิต การเรียนรู้ การใช้ชีวิต ได้ที่ https://www.facebook.com/itopstory/

--

--

Kittisak Phetrungnapha
iTopStory

I am a software engineer who fall in love to code, read, and write. :) itopstory.com