หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เพิ่ม Firebase ในโปรเจ็ก C ++

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

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

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

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

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

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

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

  • ตั้งค่าอุปกรณ์ 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 Store

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

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

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

  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 pods ที่คุณต้องการใช้ในแอปของคุณ

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

      # 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 จากนั้นเปิดไฟล์. .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

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

วิธีการ swizzling

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

ลิงก์แบบไดนามิกและไลบรารีการส่งข้อความบนคลาวด์จำเป็นต้องแนบตัวจัดการกับแอปพลิเคชันที่ได้รับมอบหมายโดยใช้วิธีการ 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 จัดเตรียมไลบรารีเดสก์ท็อปที่เหลือเป็นการใช้งานที่ไม่มีการใช้งาน (ไม่สามารถใช้งานได้) เพื่อความสะดวกเมื่อสร้างสำหรับ Windows, macOS และ Linux ดังนั้นคุณไม่จำเป็นต้องคอมไพล์โค้ดตามเงื่อนไขเพื่อกำหนดเป้าหมายเดสก์ท็อป

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

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

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

ไลบรารีของ Windows

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

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

โปรดทราบว่าไลบรารีต่อไปนี้ได้รับการทดสอบโดยใช้ 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 (Darwin) เวอร์ชันไลบรารีมีให้สำหรับแพลตฟอร์ม 64 บิต (x86_64) นอกจากนี้ยังมีกรอบเพื่อความสะดวกของคุณ

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

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

  • ไลบรารีระบบ pthread
  • กรอบระบบ CoreFoundation macOS
  • Foundation กรอบระบบ macOS
  • กรอบระบบ Security macOS
  • กรอบระบบ GSS macOS
  • กรอบระบบ Kerberos macOS
  • กรอบระบบ SystemConfiguration macOS

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

ไลบรารี Linux

สำหรับ 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

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