Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

รับลิงก์แบบไดนามิกด้วย C ++

ในการรับลิงก์แบบไดนามิกของ Firebase ที่ คุณสร้างขึ้น คุณต้องรวม Dynamic Links SDK ในแอปของคุณและสร้างออบเจ็กต์ OnDynamicLinkReceived firebase::dynamic_links::Listener ที่ใช้ฟังก์ชันเสมือน OnDynamicLinkReceived

C ++ SDK ใช้งานได้กับทั้ง Android และ iOS โดยต้องมีการตั้งค่าเพิ่มเติมสำหรับแต่ละแพลตฟอร์ม

ก่อนที่คุณจะเริ่ม

ก่อนจะใช้ Firebase Dynamic Links ได้คุณต้อง:

  • ลงทะเบียนโปรเจ็กต์ C ++ ของคุณและกำหนดค่าให้ใช้ Firebase

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

  • ในโครงการระดับ build.gradle ไฟล์ให้แน่ใจว่าจะรวมถึงพื้นที่เก็บข้อมูล Maven ของ Google ในทั้งสองของคุณ buildscript และ allprojects ส่วน

  • เพิ่ม Firebase C ++ SDK ในโปรเจ็กต์ C ++ ของคุณ

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

เพิ่มรูปแบบ URL ที่กำหนดเอง (สำหรับ iOS เท่านั้น)

ไลบรารีไคลเอ็นต์ C ++ ของ Firebase Dynamic Links ใช้โครงร่าง URL ที่กำหนดเองบน iOS เพื่อประมวลผลลิงก์ คุณต้องเพิ่มรูปแบบ URL ที่กำหนดเองในแอปของคุณเพื่อรองรับการรับลิงก์แบบไดนามิก

  1. หากต้องการเปิดการกำหนดค่าโครงการของคุณให้ดับเบิลคลิกที่ชื่อโครงการในมุมมองต้นไม้ด้านซ้าย

  2. เลือกแอปของคุณจากส่วนเป้าหมายจากนั้นเลือกแท็บข้อมูลแล้วขยายส่วนประเภท URL

  3. คลิกปุ่ม + จากนั้นเพิ่มรูปแบบ URL สำหรับรหัสไคลเอ็นต์ที่กลับรายการของคุณ ในการค้นหาค่านี้:

    1. เปิดไฟล์การกำหนดค่า GoogleService-Info.plist จากนั้นมองหาคีย์ REVERSED_CLIENT_ID

    2. คัดลอกค่าของคีย์นั้นจากนั้นวางลงในกล่อง URL Schemes ในหน้าการกำหนดค่า

    3. เว้นช่องอื่นว่างไว้

  4. คลิกปุ่ม + จากนั้นเพิ่มโครงร่าง URL ที่สอง อันนี้เหมือนกับรหัสบันเดิลของแอป

    ตัวอย่างเช่นหากรหัสกลุ่มของคุณคือ com.example.ios ให้พิมพ์ค่านั้นลงในช่อง โครงร่าง URL

    คุณค้นหารหัสบันเดิลของแอปได้ในแท็บ ทั่วไป ของการกำหนดค่าโปรเจ็กต์ ( Identity> Bundle Identifier )

การรับลิงก์แบบไดนามิก

สร้างและเริ่มต้นแอป

ก่อนที่คุณจะตรวจสอบลิงก์ไดนามิกที่ได้รับคุณจะต้องสร้างและเริ่มต้นอ็อบเจ็กต์ firebase::App

รวมไฟล์ส่วนหัวสำหรับ firebase::App :

#include "firebase/app.h"

ส่วนถัดไปจะแตกต่างกันไปขึ้นอยู่กับแพลตฟอร์มของคุณ:

Android

สร้าง firebase::App ส่งผ่านสภาพแวดล้อม JNI และการอ้างอิง jobject ไปยัง Java Activity เป็นอาร์กิวเมนต์:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

สร้าง firebase::App :

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

ใช้ Listener เพื่อตรวจสอบลิงก์แบบไดนามิก

หากต้องการตรวจสอบลิงก์ไดนามิกที่ได้รับให้ติดตั้งและใช้คลาส 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() หรือส่งต่อเป็นอาร์กิวเมนต์ที่สองเพื่อ เริ่มต้น

ในการรับ Dynamic Links คลาส Listener ของคุณต้องใช้ฟังก์ชันเสมือน OnDynamicLinkReceived โดยการลบล้างวิธีนี้คุณจะได้รับลิงก์ในรายละเอียดหากได้รับ

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());
  }
};