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

คุณสร้าง Dynamic Links แบบสั้นหรือแบบยาวได้ด้วย Firebase Dynamic Links API API จะใช้โครงสร้างพารามิเตอร์ที่ไม่บังคับหลายรายการเพื่อสร้างลิงก์ นอกจากนี้ คุณยังสร้างลิงก์แบบสั้นจากลิงก์แบบยาวที่สร้างไว้ก่อนหน้านี้ได้ด้วย Firebase Dynamic Links จะสร้าง URL ดังต่อไปนี้

https://example.page.link/WXYZ

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

ก่อนเริ่มต้น

คุณต้องทำสิ่งต่อไปนี้ก่อนจึงจะใช้ Firebase Dynamic Links ได้

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

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

  • เพิ่ม Firebase C++ SDK ลงในโปรเจ็กต์ C++

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

Android

  1. ในคอนโซล Firebase ให้เปิดส่วน Dynamic Links
  2. หากคุณยังไม่ได้ยอมรับข้อกำหนดในการให้บริการและตั้งค่าคำนำหน้า URI สำหรับ Dynamic Links ให้ดำเนินการดังกล่าวเมื่อได้รับข้อความแจ้ง

    หากคุณมีคำนำหน้า URI ของ Dynamic Links อยู่แล้ว ให้จดบันทึกไว้ คุณต้องระบุคำนำหน้า URI ของ Dynamic Links เมื่อสร้าง Dynamic Links โดยใช้โปรแกรม

  3. แนะนำ: ระบุรูปแบบ URL ที่อนุญาตใน Deep Link และลิงก์สำรอง การดำเนินการนี้จะป้องกันไม่ให้บุคคลที่ไม่ได้รับอนุญาตสร้าง Dynamic Links ที่เปลี่ยนเส้นทางจากโดเมนของคุณไปยังเว็บไซต์ที่คุณไม่ได้ควบคุม ดูหัวข้ออนุญาตรูปแบบ URL ที่เฉพาะเจาะจง

iOS

  1. ในคอนโซล Firebase ให้เปิดส่วน Dynamic Links
  2. หากคุณยังไม่ได้ยอมรับข้อกำหนดในการให้บริการและตั้งค่าคำนำหน้า URI สำหรับ Dynamic Links ให้ดำเนินการดังกล่าวเมื่อได้รับข้อความแจ้ง

    หากคุณมีคำนำหน้า URI ของ Dynamic Links อยู่แล้ว ให้จดบันทึกไว้ คุณต้องระบุโดเมน Dynamic Links เมื่อสร้าง Dynamic Links โดยใช้โปรแกรม

  3. ไลบรารีของไคลเอ็นต์ C++ ของ Firebase Dynamic Links ใช้ URL Scheme ที่กำหนดเองใน iOS เพื่อประมวลผลลิงก์ คุณต้องเพิ่ม URL Scheme ที่กำหนดเองลงในแอปเพื่อรองรับการรับ Dynamic Links ดังนี้
    1. หากต้องการเปิดการกำหนดค่าโปรเจ็กต์ ให้ดับเบิลคลิกชื่อโปรเจ็กต์ในมุมมองแบบต้นไม้ด้านซ้าย เลือกแอปจากส่วน TARGETS จากนั้นเลือกแท็บ Info แล้วขยายส่วน URL Types
    2. คลิกปุ่ม + แล้วเพิ่ม URL Scheme สำหรับรหัสไคลเอ็นต์แบบย้อนกลับ หากต้องการค้นหาค่านี้ ให้เปิดไฟล์การกำหนดค่า GoogleService-Info.plist แล้วมองหาคีย์ REVERSED_CLIENT_ID คัดลอกค่าของคีย์นั้น แล้ววางลงในช่อง URL Schemes ในหน้าการกำหนดค่า ปล่อยช่องอื่นเว้นว่างไว้
    3. คลิกปุ่ม + แล้วเพิ่ม URL Scheme รายการที่ 2 ซึ่งเป็นรหัสเดียวกับรหัสชุดของแอป เช่น หากรหัสชุดคือ com.example.ios ให้พิมพ์ค่าดังกล่าวลงในช่อง URL Schemes คุณดูรหัสชุดของแอปได้ในแท็บทั่วไปของการกำหนดค่าโปรเจ็กต์ (ข้อมูลประจำตัว > รหัสชุดซอฟต์แวร์)

ใช้คอนโซล Firebase

หากต้องการสร้าง Dynamic Link รายการเดียวเพื่อวัตถุประสงค์ในการทดสอบ หรือเพื่อให้ทีมการตลาดสร้างลิงก์ที่สามารถใช้ในโพสต์โซเชียลมีเดียได้ง่ายๆ วิธีที่ง่ายที่สุดคือไปที่คอนโซล Firebase แล้วสร้างด้วยตนเองตามแบบฟอร์มทีละขั้นตอน

โดเมนที่กำหนดเอง

คุณสามารถควบคุมการสร้างแบรนด์ของ Dynamic Link ได้มากขึ้นโดยใช้โดเมนของคุณเองแทนโดเมนย่อย goo.gl หรือ page.link ทำตามวิธีการเหล่านี้เพื่อตั้งค่าโดเมนที่กำหนดเองสำหรับโปรเจ็กต์

การใช้ Firebase Dynamic Links API

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

ก่อนที่จะสร้าง Dynamic Links ได้ คุณจะต้องสร้างและเริ่มต้นออบเจ็กต์ 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"));

เริ่มต้นไลบรารี Dynamic Links

ก่อนสร้าง Dynamic Link คุณต้องเริ่มต้นไลบรารี Dynamic Links ก่อน โดยทำดังนี้

::firebase::dynamic_links::Initialize(app, null);

กำลังสร้าง Dynamic Link แบบยาวจากพารามิเตอร์

หากต้องการสร้างลิงก์แบบไดนามิก ให้สร้างออบเจ็กต์ DynamicLinkComponents โดยตั้งค่าสมาชิกที่ไม่บังคับสำหรับการกำหนดค่าเพิ่มเติม แล้วส่งไปยัง dynamic_links::GetShortLink หรือ dynamic_links::GetLongLink

การสร้าง Shorts Dynamic Link

หากต้องการสร้างลิงก์แบบไดนามิกแบบสั้น ให้ส่งลิงก์แบบยาวที่สร้างไว้ก่อนหน้านี้ไปยัง GetShortLink หรือสร้าง DynamicLinkComponents ในลักษณะเดียวกับด้านบน

GetShortLink สามารถเลือกใช้พารามิเตอร์การกำหนดค่า DynamicLinkOptions เพิ่มเติมกับ PathLength ได้ ซึ่งจะช่วยให้คุณควบคุมวิธีสร้างลิงก์ได้ การสร้างลิงก์แบบสั้นต้องใช้คำขอเครือข่ายไปยังแบ็กเอนด์ Firebase ดังนั้น GetShortLink จึงเป็นแบบอะซิงโครนัส โดยจะแสดงผลเป็น Future<GeneratedLink>