หากต้องการรับ Firebase Dynamic Links ที่คุณสร้างขึ้น คุณจะต้องรวม Dynamic Links SDK ไว้ในแอปและสร้างออบเจ็กต์ firebase::dynamic_links::Listener
ที่ใช้งานฟังก์ชันเสมือน OnDynamicLinkReceived
C++ SDK ใช้งานได้กับทั้ง Android และ iOS โดยต้องมีการตั้งค่าเพิ่มเติมสำหรับแต่ละแพลตฟอร์ม
ก่อนเริ่มต้น
คุณต้องดำเนินการต่อไปนี้ก่อนจึงจะใช้ Firebase Dynamic Links ได้
ลงทะเบียนโปรเจ็กต์ C++ และกำหนดค่าให้ใช้ Firebase
หากโปรเจ็กต์ C++ ใช้ Firebase อยู่แล้ว โปรเจ็กต์ดังกล่าวจะได้รับการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ลงในโปรเจ็กต์ C++
โปรดทราบว่าการเพิ่ม Firebase ลงในโปรเจ็กต์ C++ เกี่ยวข้องกับงานทั้งในFirebaseคอนโซลและในโปรเจ็กต์ C++ ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์การกําหนดค่า Firebase จากคอนโซล แล้วย้ายไฟล์เหล่านั้นไปยังโปรเจ็กต์ C++)
เพิ่มรูปแบบ URL ที่กำหนดเอง (สำหรับ iOS เท่านั้น)
ไลบรารีไคลเอ็นต์ Firebase Dynamic Links C++ ใช้รูปแบบ URL ที่กําหนดเองใน iOS เพื่อประมวลผลลิงก์ คุณต้องเพิ่มรูปแบบ URL ที่กําหนดเองลงในแอปเพื่อรองรับการรับ Dynamic Links
หากต้องการเปิดการกําหนดค่าโปรเจ็กต์ ให้ดับเบิลคลิกชื่อโปรเจ็กต์ในมุมมองแผนภูมิต้นไม้ทางด้านซ้าย
เลือกแอปจากส่วน TARGETS แล้วเลือกแท็บข้อมูล จากนั้นขยายส่วนประเภท URL
คลิกปุ่ม + แล้วเพิ่มรูปแบบ URL สำหรับรหัสไคลเอ็นต์ที่กลับด้าน วิธีค้นหาค่านี้
เปิดไฟล์การกําหนดค่า
แล้วมองหาคีย์GoogleService-Info.plist REVERSED_CLIENT_ID
คัดลอกค่าของคีย์นั้น แล้ววางลงในช่องรูปแบบ URL ในหน้าการกําหนดค่า
เว้นช่องอื่นว่างไว้
คลิกปุ่ม + แล้วเพิ่มรูปแบบ URL รายการที่ 2 รหัสนี้เหมือนกับรหัส App Bundle ของแอป
เช่น หากรหัสกลุ่มคือ
com.example.ios
ให้พิมพ์ค่านั้นลงในช่องรูปแบบ URLคุณจะดูรหัสชุดของแอปได้ในแท็บทั่วไปของการกําหนดค่าโปรเจ็กต์ (ข้อมูลประจําตัว > รหัสชุด)
กำลังรับ Dynamic Link
สร้างและเริ่มต้นแอป
คุณต้องสร้างและเริ่มต้นออบเจ็กต์ firebase::App
ก่อนจึงจะตรวจสอบDynamic Linksที่ได้รับได้
รวมไฟล์ส่วนหัวสําหรับ firebase::App
#include "firebase/app.h"
ส่วนถัดไปจะแตกต่างกันไปตามแพลตฟอร์มของคุณ
Android
สร้าง firebase::App
โดยส่งผ่านสภาพแวดล้อม JNI และjobject
การอ้างอิงไปยังกิจกรรม Java เป็นอาร์กิวเมนต์
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
สร้าง firebase::App
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
ใช้ Listener เพื่อตรวจสอบ Dynamic Links
หากต้องการตรวจสอบว่าได้รับ Dynamic Link แล้ว ให้ติดตั้งใช้งานคลาส firebase::dynamic_links::Listener
รวมไฟล์ส่วนหัวสําหรับรับ Dynamic Links ดังนี้
#include "firebase/dynamic_links.h"
เริ่มต้นคลัง Dynamic Links โดยทำดังนี้
::firebase::dynamic_links::Initialize(app, null);
สร้างออบเจ็กต์ที่ใช้ firebase::dynamic_links::Listener
และส่งไปยังไลบรารี Dynamic Links ด้วย SetListener()
หรือส่งเป็นอาร์กิวเมนต์ที่ 2 ให้กับ Initialize
หากต้องการรับ Dynamic Links คลาส Listener ของคุณต้องใช้ฟังก์ชันเสมือน OnDynamicLinkReceived
การลบล้างเมธอดจะทำให้คุณได้รับ Deep Link หากได้รับ
class Listener : public firebase::dynamic_links::Listener { public: // Called on the client when a dynamic link arrives. void OnDynamicLinkReceived( const firebase::dynamic_links::DynamicLink* dynamic_link) override { printf("Received link: %s", dynamic_link->url.c_str()); } };