หากต้องการรับ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
หากต้องการเปิดการกำหนดค่าโปรเจ็กต์ ให้ดับเบิลคลิกชื่อโปรเจ็กต์ทางด้านซ้าย มุมมองแบบต้นไม้
เลือกแอปจากส่วนเป้าหมาย แล้วเลือกแท็บข้อมูล ให้ขยายส่วนประเภท URL
คลิกปุ่ม + แล้วเพิ่มรูปแบบ URL สำหรับรหัสไคลเอ็นต์ที่ย้อนกลับ ถึง ค้นหาค่านี้:
เปิดไฟล์การกำหนดค่า
จากนั้นมองหาGoogleService-Info.plist REVERSED_CLIENT_ID
คัดลอกค่าของคีย์นั้น จากนั้นวางค่าลงในช่องรูปแบบ URL ใน หน้าการกำหนดค่า
เว้นฟิลด์อื่นๆ ว่างไว้
คลิกปุ่ม + แล้วเพิ่มรูปแบบ URL ที่ 2 อันนี้เหมือนกับ Bundle ID ของแอป
ตัวอย่างเช่น หากรหัสชุดคือ
com.example.ios
ให้พิมพ์ค่านั้นลงใน รูปแบบ URLคุณสามารถดูรหัสชุดของแอปได้ในแท็บทั่วไปของโปรเจ็กต์ (Identity > Bundle Identifier)
กำลังรับ Dynamic Link
สร้างและเริ่มต้นแอป
ก่อนที่จะตรวจสอบ Dynamic Links ที่ได้รับ คุณจะต้องสร้างและเริ่มต้น
ออบเจ็กต์ firebase::App
รวมไฟล์ส่วนหัวสำหรับ 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
เริ่มต้น
ในการรับ Dynamic Links คลาส Listener ของคุณต้องใช้พารามิเตอร์
OnDynamicLinkReceived
ฟังก์ชันเสมือนจริง เมื่อลบล้างเมธอดนี้ คุณจะได้รับ Deep Link หาก
ได้รับ 1 ข้อความ
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()); } };