Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

เพิ่ม Firebase ให้กับโปรเจ็กต์ C++ ของคุณ

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

เพิ่มพลังให้กับเกม C++ ของคุณด้วย Firebase C++ SDK ซึ่งมีอินเทอร์เฟซ C++ ที่ด้านบนของ Firebase สำหรับ iOS และสำหรับ Android

เข้าถึง Firebase ทั้งหมดจากโค้ด C++ ของคุณ โดยไม่ต้องเขียนโค้ดสำหรับแพลตฟอร์ม นอกจากนี้ Firebase SDK ยังแปลสำนวนเฉพาะภาษาจำนวนมากที่ใช้โดย Firebase เป็นอินเทอร์เฟซที่นักพัฒนา C++ คุ้นเคยมากขึ้น

ค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มพลังให้เกมของคุณด้วย Firebase ที่ หน้าเกม Firebase ของเรา

เพิ่ม Firebase ในโครงการ C ++ แล้วหรือยัง ตรวจสอบให้แน่ใจว่าคุณใช้ Firebase C++ SDK เวอร์ชัน ล่าสุด

ข้อกำหนดเบื้องต้น

  • ติดตั้งสิ่งต่อไปนี้:

    • Xcode 13.3.1 หรือใหม่กว่า
    • CocoaPods 1.10.0 หรือใหม่กว่า
  • ตรวจสอบให้แน่ใจว่าโปรเจ็กต์ของคุณกำหนดเป้าหมายเป็นเวอร์ชันแพลตฟอร์มต่อไปนี้หรือใหม่กว่า:

    • iOS 10
  • ตั้งค่าอุปกรณ์ iOS จริงหรือใช้เครื่องจำลอง iOS เพื่อเรียกใช้แอปของคุณ

  • ลงชื่อเข้าใช้ Firebase โดยใช้บัญชี Google ของคุณ

ขั้นตอนที่ 2 : สร้างโปรเจ็กต์ Firebase

ก่อนที่คุณจะเพิ่ม Firebase ลงในโปรเจ็กต์ C++ คุณต้องสร้างโปรเจ็กต์ Firebase เพื่อเชื่อมต่อกับโปรเจ็กต์ C++ ไปที่ ทำความเข้าใจโปรเจ็กต์ Firebase เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase

ขั้นตอนที่ 3 : ลงทะเบียนแอปของคุณด้วย Firebase

หากต้องการใช้ Firebase ในแอป Apple คุณต้องลงทะเบียนแอปกับโปรเจ็กต์ Firebase การลงทะเบียนแอพของคุณมักจะเรียกว่า "การเพิ่ม" แอพของคุณในโครงการของคุณ

  1. ไปที่ คอนโซล Firebase

  2. ที่ตรงกลางหน้าภาพรวมโครงการ ให้คลิกไอคอน iOS+ เพื่อเปิดเวิร์กโฟลว์การตั้งค่า

    หากคุณได้เพิ่มแอปลงในโปรเจ็กต์ Firebase แล้ว ให้คลิก เพิ่มแอป เพื่อแสดงตัวเลือกแพลตฟอร์ม

  3. ป้อนรหัสชุดของแอปในช่อง รหัสชุด ข้อมูล

  4. (ไม่บังคับ) ป้อนข้อมูลแอปอื่นๆ: ชื่อเล่นของแอ ป และ App Store ID

  5. คลิก ลงทะเบียนแอป

ขั้นตอนที่ 4 : เพิ่มไฟล์การกำหนดค่า Firebase

  1. คลิก ดาวน์โหลด GoogleService-Info.plist เพื่อรับไฟล์กำหนดค่าแพลตฟอร์ม Firebase Apple ของคุณ

  2. เปิดโปรเจ็กต์ C++ ใน IDE จากนั้นลากไฟล์ปรับแต่งไปที่รูทของโปรเจ็กต์ C++

  3. หากได้รับแจ้ง ให้เลือกเพื่อเพิ่มไฟล์กำหนดค่าไปยังเป้าหมายทั้งหมด

คุณตั้งค่างานในคอนโซล Firebase เสร็จแล้ว ดำเนินการต่อเพื่อ เพิ่ม Firebase C++ SDK ด้านล่าง

ขั้นตอนที่ 5 : เพิ่ม Firebase C++ SDK

ขั้นตอนในส่วนนี้เป็นตัวอย่างวิธีเพิ่ม ผลิตภัณฑ์ Firebase ที่รองรับ ลงในโปรเจ็กต์ Firebase C++

  1. ดาวน์โหลด Firebase C++ SDK จากนั้นเปิดเครื่องรูด SDK ที่ไหนสักแห่งที่สะดวก

    Firebase C++ SDK ไม่ใช่เฉพาะแพลตฟอร์ม แต่มีไลบรารีเฉพาะแพลตฟอร์ม

  2. เพิ่มพ็อด Firebase จาก SDK ที่คลายซิป

    1. สร้าง Podfile หากคุณยังไม่มี:

      cd your-app-directory
      pod init

    2. ใน Podfile ของคุณ ให้เพิ่มพ็อด Firebase ที่คุณต้องการใช้ในแอปของคุณ

      เปิดใช้งานการวิเคราะห์

      # Add the Firebase pod for Google Analytics
      pod 'FirebaseAnalytics'
      # Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'

      ไม่ได้เปิดใช้งานการวิเคราะห์

      # Add the pods for the Firebase products you want to use in your app
      # For example, to use Firebase Authentication and Firebase Realtime Database
      pod 'FirebaseAuth'
      pod 'FirebaseDatabase'
    3. ติดตั้งพ็อด จากนั้นเปิดไฟล์ . .xcworkspace ใน Xcode

      pod install
      open your-app.xcworkspace

  3. เพิ่ม เฟรมเวิ ร์ก Firebase จาก SDK ที่คลายซิป

    วิธีที่ง่ายที่สุดในการเพิ่มเฟรมเวิร์กเหล่านี้คือการลากจากหน้าต่าง Finder ไปยังบานหน้าต่าง Project Navigator ของ Xcode โดยตรง (โดยค่าเริ่มต้นจะเป็นแผงด้านซ้ายสุด หรือคลิกไอคอนไฟล์ที่ด้านบนซ้ายของ Xcode)

    1. เพิ่มเฟรมเวิร์ก Firebase C++ firebase.framework ซึ่ง จำเป็น สำหรับการใช้ผลิตภัณฑ์ Firebase

    2. เพิ่มเฟรมเวิร์กสำหรับผลิตภัณฑ์ Firebase แต่ละรายการที่คุณต้องการใช้ ตัวอย่างเช่น หากต้องการใช้ Firebase Authentication ให้เพิ่ม firebase_auth.framework

  4. กลับไปที่คอนโซล Firebase ในเวิร์กโฟลว์การตั้งค่า คลิก ถัดไป

  5. หากคุณเพิ่ม Analytics ให้เรียกใช้แอปเพื่อส่งการยืนยันไปยัง Firebase ว่าคุณผสานรวม Firebase สำเร็จแล้ว มิฉะนั้น คุณสามารถข้ามขั้นตอนการยืนยันนี้ได้

    บันทึกอุปกรณ์ของคุณจะแสดงการตรวจสอบ Firebase ว่าการเริ่มต้นเสร็จสมบูรณ์ หากคุณรันแอปบนอีมูเลเตอร์ที่มีการเข้าถึงเครือข่าย คอนโซล Firebase จะแจ้งให้คุณทราบว่าการเชื่อมต่อแอปของคุณเสร็จสมบูรณ์

คุณทุกชุด! แอป C++ ของคุณลงทะเบียนและกำหนดค่าให้ใช้ผลิตภัณฑ์ Firebase แล้ว

ห้องสมุดที่มีอยู่

เรียนรู้เพิ่มเติมเกี่ยวกับไลบรารี C++ Firebase ใน เอกสารอ้างอิง และในการเปิดตัว SDK โอเพ่นซอร์สของเราบน GitHub

ไลบรารีที่พร้อมใช้งานสำหรับ iOS

โปรดทราบว่าไลบรารี C++ สำหรับ Android จะแสดงอยู่ใน เวอร์ชัน Android ของหน้าการตั้งค่านี้

ผลิตภัณฑ์ Firebase แต่ละผลิตภัณฑ์มีการพึ่งพาที่แตกต่างกัน อย่าลืมเพิ่มการพึ่งพาที่ระบุไว้ทั้งหมดสำหรับผลิตภัณฑ์ Firebase ที่ต้องการไปยังโปรเจ็กต์ Podfile และ C++ ของคุณ

ผลิตภัณฑ์ Firebase กรอบงานและพ็อด
AdMob (จำเป็น) firebase.framework
firebase_admob.framework
(จำเป็น) firebase_analytics.framework

pod 'FirebaseAdMob', '9.6.0'
(จำเป็น) pod 'FirebaseAnalytics', '9.6.0'
การวิเคราะห์ (จำเป็น) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '9.6.0'
การตรวจสอบสิทธิ์ (จำเป็น) firebase.framework
firebase_auth.framework

pod 'FirebaseAuth', '9.6.0'
Cloud Firestore (จำเป็น) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'FirebaseFirestore', '9.6.0'
pod 'FirebaseAuth', '9.6.0'
ฟังก์ชั่นคลาวด์ (จำเป็น) firebase.framework
firebase_functions.framework

pod 'FirebaseFunctions', '9.6.0'
การส่งข้อความบนคลาวด์ (จำเป็น) firebase.framework
firebase_messaging.framework
(แนะนำ) firebase_analytics.framework

pod 'FirebaseMessaging', '9.6.0'
(แนะนำ) pod 'FirebaseAnalytics', '9.6.0'
การจัดเก็บเมฆ (จำเป็น) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '9.6.0'
ลิงก์แบบไดนามิก (จำเป็น) firebase.framework
firebase_dynamic_links.framework
(แนะนำ) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '9.6.0'
(แนะนำ) pod 'FirebaseAnalytics', '9.6.0'
ฐานข้อมูลเรียลไทม์ (จำเป็น) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '9.6.0'
การกำหนดค่าระยะไกล (จำเป็น) firebase.framework
firebase_remote_config.framework
(แนะนำ) firebase_analytics.framework

pod 'FirebaseRemoteConfig', '9.6.0'
(แนะนำ) pod 'FirebaseAnalytics', '9.6.0'

ข้อมูลเพิ่มเติมสำหรับการตั้งค่ามือถือ

วิธีการฉวัดเฉวียน

บน iOS เหตุการณ์ของแอปพลิเคชันบางอย่าง (เช่น URL การเปิดและการรับการแจ้งเตือน) กำหนดให้ผู้รับมอบสิทธิ์แอปพลิเคชันของคุณใช้วิธีการเฉพาะ ตัวอย่างเช่น การรับการแจ้งเตือนอาจต้องการให้ตัวแทนแอปพลิเคชันของคุณใช้งาน application:didReceiveRemoteNotification: เนื่องจากแอปพลิเคชัน iOS แต่ละรายการมีผู้รับมอบสิทธิ์แอปของตนเอง Firebase จึงใช้ วิธีการ swizzling ซึ่งช่วยให้สามารถเปลี่ยนวิธีหนึ่งด้วยวิธีอื่น เพื่อแนบตัวจัดการของตัวเองนอกเหนือจากที่คุณอาจนำไปใช้

ไลบรารี Dynamic Links และ Cloud Messaging จำเป็นต้องแนบตัวจัดการเข้ากับผู้รับมอบสิทธิ์ของแอปพลิเคชันโดยใช้วิธีการ swizzling หากคุณกำลังใช้ผลิตภัณฑ์ Firebase ใดๆ เหล่านี้ ในขณะโหลด Firebase จะระบุคลาส AppDelegate ของคุณและสลับเมธอดที่จำเป็นลงไป โดยเชื่อมโยงการเรียกกลับไปยังการใช้งานเมธอดที่มีอยู่ของคุณ

ตั้งค่าเวิร์กโฟลว์เดสก์ท็อป ( เบต้า )

เมื่อคุณสร้างเกม การทดสอบเกมของคุณบนแพลตฟอร์มเดสก์ท็อปก่อนนั้นมักจะง่ายกว่ามาก จากนั้นปรับใช้และทดสอบบนอุปกรณ์พกพาในการพัฒนาในภายหลัง เพื่อรองรับเวิร์กโฟลว์นี้ เราจัดเตรียม ชุดย่อยของ Firebase C++ SDK ซึ่งสามารถทำงานบน Windows, macOS, Linux และจากภายในตัวแก้ไข C++

  1. สำหรับเวิร์กโฟลว์เดสก์ท็อป คุณต้องดำเนินการดังต่อไปนี้:

    1. กำหนดค่าโครงการ C ++ ของคุณสำหรับ CMake
    2. สร้างโปรเจ็กต์ Firebase
    3. ลงทะเบียนแอปของคุณ (iOS หรือ Android) ด้วย Firebase
    4. เพิ่มไฟล์การกำหนดค่า Firebase ของแพลตฟอร์มมือถือ
  2. สร้างไฟล์การกำหนดค่า Firebase เวอร์ชัน เดสก์ท็อป :

    • หากคุณเพิ่มไฟล์ google-services.json ของ Android — เมื่อคุณเรียกใช้แอป Firebase จะค้นหาไฟล์ มือถือ นี้ จากนั้นจึงสร้างไฟล์กำหนดค่า Firebase สำหรับ เดสก์ท็อป โดยอัตโนมัติ ( google-services-desktop.json )

    • หากคุณเพิ่มไฟล์ iOS GoogleService-Info.plist — ก่อนที่คุณจะเรียกใช้แอป คุณจะต้องแปลงไฟล์ มือถือ นี้เป็นไฟล์กำหนดค่า Firebase บนเดสก์ท็อป หากต้องการแปลงไฟล์ ให้เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีเดียวกันกับไฟล์ GoogleService-Info.plist ของคุณ:

      generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist

    ไฟล์กำหนดค่าเดสก์ท็อปนี้มีรหัสโปรเจ็กต์ C++ ที่คุณป้อนในเวิร์กโฟลว์การตั้งค่าคอนโซล Firebase ไปที่ ทำความเข้าใจโปรเจ็กต์ Firebase เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับไฟล์กำหนดค่า

  3. เพิ่ม Firebase SDK ให้กับโปรเจ็กต์ C++

    ขั้นตอนด้านล่างเป็นตัวอย่างของวิธีเพิ่ม ผลิตภัณฑ์ Firebase ที่รองรับ ลงในโปรเจ็กต์ C++ ในตัวอย่างนี้ เราจะพูดถึงการเพิ่ม Firebase Authentication และ Firebase Realtime Database

    1. ตั้งค่าตัวแปรสภาพแวดล้อม FIREBASE_CPP_SDK_DIR เป็นตำแหน่งของ Firebase C++ SDK ที่คลายซิป

    2. ในไฟล์ CMakeLists.txt ของโปรเจ็กต์ ให้เพิ่มเนื้อหาต่อไปนี้ รวมถึง ไลบรารี สำหรับผลิตภัณฑ์ Firebase ที่คุณต้องการใช้ ตัวอย่างเช่น ในการใช้ Firebase Authentication และ Firebase Realtime Database:

      # Add Firebase libraries to the target using the function from the SDK.
      add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
      
      # The Firebase C++ library `firebase_app` is required,
      # and it must always be listed last.
      
      # Add the Firebase SDKs for the products you want to use in your app
      # For example, to use Firebase Authentication and Firebase Realtime Database
      set(firebase_libs firebase_auth firebase_database firebase_app)
      target_link_libraries(${target_name} "${firebase_libs}")
      
  4. เรียกใช้แอป C++ ของคุณ

ไลบรารีที่พร้อมใช้งาน (เดสก์ท็อป)

Firebase C++ SDK มี การรองรับเวิร์กโฟลว์เดสก์ท็อป สำหรับชุดย่อยของฟีเจอร์ ซึ่งช่วยให้บางส่วนของ Firebase ใช้ในบิลด์เดสก์ท็อปแบบสแตนด์อโลนบน Windows, macOS และ Linux

ผลิตภัณฑ์ Firebase การอ้างอิงไลบรารี (โดยใช้ CMake)
การตรวจสอบสิทธิ์ firebase_auth
(จำเป็น) firebase_app
Cloud Firestore firebase_firestore
firebase_auth
firebase_app
ฟังก์ชั่นคลาวด์ firebase_functions
(จำเป็น) firebase_app
การจัดเก็บเมฆ firebase_storage
(จำเป็น) firebase_app
ฐานข้อมูลเรียลไทม์ firebase_database
(จำเป็น) firebase_app
การกำหนดค่าระยะไกล firebase_remote_config
(จำเป็น) firebase_app

Firebase จัดเตรียมไลบรารีเดสก์ท็อปที่เหลือเป็นการใช้งาน stub (ไม่ทำงาน) เพื่อความสะดวกในการสร้างสำหรับ Windows, macOS และ Linux ดังนั้น คุณไม่จำเป็นต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายเดสก์ท็อป

เดสก์ท็อปฐานข้อมูลเรียลไทม์

Realtime Database SDK สำหรับเดสก์ท็อปใช้ REST เพื่อเข้าถึงฐานข้อมูลของคุณ ดังนั้นคุณต้อง ประกาศดัชนี ที่คุณใช้กับ Query::OrderByChild() บนเดสก์ท็อป ไม่เช่นนั้นผู้ฟังของคุณจะล้มเหลว

ข้อมูลเพิ่มเติมสำหรับการตั้งค่าเดสก์ท็อป

ไลบรารีของ Windows

สำหรับ Windows เวอร์ชันไลบรารีมีให้ตามรายการต่อไปนี้:

  • สร้างแพลตฟอร์ม: โหมด 32 บิต (x86) กับ 64 บิต (x64)
  • สภาพแวดล้อมรันไทม์ของ Windows: Multithreaded / MT เทียบกับ Multithreaded DLL /MD
  • เป้าหมาย: ปล่อย vs ดีบัก

โปรดทราบว่าไลบรารีต่อไปนี้ได้รับการทดสอบโดยใช้ Visual Studio 2015 และ 2017

เมื่อสร้างแอปเดสก์ท็อป C++ บน Windows ให้เชื่อมโยงไลบรารี Windows SDK ต่อไปนี้กับโครงการของคุณ ศึกษาเอกสารประกอบคอมไพเลอร์ของคุณสำหรับข้อมูลเพิ่มเติม

ไลบรารี Firebase C++ การพึ่งพาไลบรารี Windows SDK
การตรวจสอบสิทธิ์ advapi32, ws2_32, crypt32
Cloud Firestore advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
ฟังก์ชั่นคลาวด์ advapi32, ws2_32, crypt32, rpcrt4, ole32
การจัดเก็บเมฆ advapi32, ws2_32, crypt32
ฐานข้อมูลเรียลไทม์ advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
การกำหนดค่าระยะไกล advapi32, ws2_32, crypt32, rpcrt4, ole32

ไลบรารี macOS

สำหรับ macOS (ดาร์วิน) เวอร์ชันไลบรารีมีให้สำหรับแพลตฟอร์ม 64 บิต (x86_64) กรอบการทำงานยังมีให้เพื่อความสะดวกของคุณ

โปรดทราบว่าไลบรารี macOS ได้รับการทดสอบโดยใช้ Xcode 13.3.1

เมื่อสร้างแอปเดสก์ท็อป C++ บน macOS ให้เชื่อมโยงสิ่งต่อไปนี้กับโครงการของคุณ:

  • ไลบรารีระบบ pthread
  • เฟรมเวิร์กระบบ CoreFoundation macOS
  • เฟรมเวิร์กระบบ Foundation ของ macOS
  • กรอบงานระบบ Security macOS
  • กรอบงานระบบ GSS macOS
  • กรอบงานระบบ Kerberos macOS
  • SystemConfiguration macOS กรอบงานระบบ

ศึกษาเอกสารประกอบคอมไพเลอร์ของคุณสำหรับข้อมูลเพิ่มเติม

ไลบรารีลินุกซ์

สำหรับ Linux เวอร์ชันไลบรารีมีให้สำหรับแพลตฟอร์ม 32 บิต (i386) และ 64 บิต (x86_64)

โปรดทราบว่าไลบรารี Linux ได้รับการทดสอบโดยใช้ GCC 4.8.0, GCC 7.2.0 และ Clang 5.0 บน Ubuntu

เมื่อสร้างแอปเดสก์ท็อป C++ บน Linux ให้ลิงก์ไลบรารีระบบ pthread กับโปรเจ็กต์ของคุณ ศึกษาเอกสารประกอบคอมไพเลอร์ของคุณสำหรับข้อมูลเพิ่มเติม หากคุณกำลังสร้างด้วย GCC 5 หรือใหม่กว่า ให้กำหนด -D_GLIBCXX_USE_CXX11_ABI=0

ขั้นตอนถัดไป