Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

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

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

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

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

    • Xcode 12 หรือใหม่กว่า
    • CocoaPods 1.10.0 หรือใหม่กว่า
  • ตรวจสอบให้แน่ใจว่าโปรเจ็กต์ของคุณกำหนดเป้าหมายเป็น iOS 10 หรือใหม่กว่า

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

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

ขั้นตอนที่ 2: สร้างโครงการ Firebase

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

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

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

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

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

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

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

  3. ใส่รหัสชุดของแอปในช่องรหัสกำ iOS

  4. (อุปกรณ์เสริม) ป้อนข้อมูลตรวจสอบอื่น ๆ : ชื่อเล่น App และ App Store ID

  5. คลิกแอปสมัครสมาชิก

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

  1. คลิกดาวน์โหลด GoogleService-Info.plist ที่จะได้รับไฟล์ config Firebase iOS ของคุณ

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

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

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

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

ขั้นตอนในส่วนนี้เป็นตัวอย่างของวิธีการเพิ่ม ผลิตภัณฑ์ 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 'Firebase/Analytics'
      # 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 'Firebase/Auth' pod 'Firebase/Database'

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

      # 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 'Firebase/Auth'
      pod 'Firebase/Database'
    3. ติดตั้งฝักแล้วเปิด .xcworkspace แฟ้มใน Xcode

      pod install
      open your-app.xcworkspace

  3. เพิ่ม Firebase กรอบ จาก SDK ซิป

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

    1. เพิ่ม Firebase c ++ กรอบ firebase.framework ซึ่งเป็นสิ่งจำเป็นที่จะใช้ผลิตภัณฑ์ Firebase ใด ๆ

    2. เพิ่มเฟรมเวิร์กสำหรับผลิตภัณฑ์ Firebase แต่ละรายการที่คุณต้องการใช้ ตัวอย่างเช่นการใช้การตรวจสอบสิทธิ์ Firebase เพิ่ม 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 'Firebase/AdMob', '8.7.0'
(จำเป็น) pod 'Firebase/Analytics', '8.7.0'
การวิเคราะห์ (จำเป็น) firebase.framework
firebase_analytics.framework

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

pod 'Firebase/Auth', '8.7.0'
เมฆ FireStore (เบต้า) (จำเป็น) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'Firebase/Firestore', '8.7.0'
pod 'Firebase/Auth', '8.7.0'
ฟังก์ชั่นคลาวด์ (จำเป็น) firebase.framework
firebase_functions.framework

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

pod 'Firebase/Messaging', '8.7.0'
(แนะนำ) pod 'Firebase/Analytics', '8.7.0'
การจัดเก็บเมฆ (จำเป็น) firebase.framework
firebase_storage.framework

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

pod 'Firebase/DynamicLinks', '8.7.0'
(แนะนำ) pod 'Firebase/Analytics', '8.7.0'
ฐานข้อมูลเรียลไทม์ (จำเป็น) firebase.framework
firebase_database.framework

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

pod 'Firebase/RemoteConfig', '8.7.0'
(แนะนำ) pod 'Firebase/Analytics', '8.7.0'

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

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

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

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

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

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

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

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

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

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

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

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

  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
เมฆ 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 ดังนั้น คุณไม่จำเป็นต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายเดสก์ท็อป

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

SDK ที่ฐานข้อมูลเรียลไทม์สำหรับเดสก์ทอปของใช้ส่วนที่เหลือในการเข้าถึงฐานข้อมูลของคุณดังนั้นคุณจะต้อง ประกาศดัชนี ที่คุณใช้กับ 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 12

เมื่อสร้างแอปเดสก์ท็อป 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 0

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