คุณสามารถสร้างแบบสั้นหรือแบบยาว 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
- เปิดส่วนDynamic Links ในคอนโซลFirebase
หากยังไม่ได้ยอมรับข้อกำหนดในการให้บริการและตั้งค่าคำนำหน้า URI สำหรับ Dynamic Links ให้ดำเนินการเมื่อได้รับข้อความแจ้ง
หากมีคำนำหน้า URI ของ Dynamic Links อยู่แล้ว ให้จดบันทึกไว้ คุณต้อง ระบุคำนำหน้า URI Dynamic Linksเมื่อสร้าง Dynamic Linksโดยใช้โปรแกรม

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

- ไลบรารีของไคลเอ็นต์ C++ ของ Firebase Dynamic Links ใช้ URL Scheme ที่กำหนดเองใน iOS
เพื่อประมวลผลลิงก์ คุณต้องเพิ่มชุดรูปแบบ URL ที่กำหนดเองลงในแอปเพื่อรองรับ
การรับ Dynamic Links:
- หากต้องการเปิดการกำหนดค่าโปรเจ็กต์ ให้ดับเบิลคลิกชื่อโปรเจ็กต์ในมุมมองแบบต้นไม้ทางด้านซ้าย เลือกแอปจากส่วนเป้าหมาย แล้วเลือกแท็บข้อมูล และขยายส่วนประเภท URL
- คลิกปุ่ม + แล้วเพิ่ม URL Scheme สำหรับรหัสไคลเอ็นต์แบบย้อนกลับ หากต้องการค้นหาค่านี้ ให้เปิดไฟล์การกำหนดค่า
แล้วมองหาคีย์GoogleService-Info.plist REVERSED_CLIENT_IDคัดลอกค่าของคีย์ดังกล่าว แล้ววางลงในช่องชุดรูปแบบ URL ในหน้าการกำหนดค่า เว้นช่องอื่นๆ ว่างไว้ - คลิกปุ่ม + แล้วเพิ่ม URL Scheme ที่ 2 ชุดรูปแบบนี้จะเหมือนกับรหัสชุดซอฟต์แวร์ของแอป เช่น หากรหัสชุดซอฟต์แวร์คือ
com.example.iosให้พิมพ์ค่าดังกล่าวลงในช่องชุดรูปแบบ URL คุณดูรหัสชุดซอฟต์แวร์ของแอปได้ในแท็บทั่วไป ของการกำหนดค่าโปรเจ็กต์ (ข้อมูลประจำตัว > รหัสชุดซอฟต์แวร์)
ใช้คอนโซล Firebase
หากต้องการสร้าง Dynamic Link รายการเดียว ไม่ว่าจะเพื่อวัตถุประสงค์ในการทดสอบหรือเพื่อให้ทีมการตลาด สร้างลิงก์ที่จะใช้ในโพสต์โซเชียลมีเดียได้อย่างง่ายดาย วิธีที่ง่ายที่สุดคือ ไปที่ Firebase คอนโซล แล้วสร้างลิงก์ด้วยตนเองโดยทำตามแบบฟอร์มทีละขั้นตอน
โดเมนที่กำหนดเอง
คุณสามารถควบคุมการสร้างแบรนด์ของ Dynamic Link ได้มากขึ้นโดยใช้
โดเมนของคุณเองแทนโดเมนย่อย goo.gl หรือ page.link ทำตาม วิธีการ
เหล่านี้ เพื่อตั้งค่าโดเมนที่กำหนดเองสำหรับ
โปรเจ็กต์
การใช้ Firebase Dynamic Links API
สร้างและเริ่มต้นแอป
คุณต้องสร้างและเริ่มต้น
ออบเจ็กต์ firebase::App ก่อนจึงจะสร้าง Dynamic Links ได้
ใส่ไฟล์ส่วนหัวสำหรับ 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 Links ก่อนจึงจะสร้าง Dynamic Link ได้ โดยทำดังนี้
::firebase::dynamic_links::Initialize(app, null);
การสร้าง Dynamic Link แบบยาวจากพารามิเตอร์
หากต้องการสร้างลิงก์แบบไดนามิก ให้สร้างออบเจ็กต์ DynamicLinkComponents โดยตั้งค่าสมาชิกที่ไม่บังคับสำหรับการกำหนดค่าเพิ่มเติม แล้วส่งออบเจ็กต์ดังกล่าวไปยัง dynamic_links::GetShortLink หรือ dynamic_links::GetLongLink
ตัวอย่างขั้นต่ำต่อไปนี้จะสร้างลิงก์แบบไดนามิกแบบยาวไปยัง https://www.example.com/ ซึ่งจะเปิดด้วยแอป Android com.example.android.package_name และแอป iOS com.example.ios
firebase::dynamic_links::IOSParameters ios_parameters("com.example.ios"); firebase::dynamic_links::AndroidParameters android_parameters( "com.example.android.package_name"); firebase::dynamic_links::DynamicLinkComponents components( "https://www.example.com/", "example.page.link"); components.android_parameters = &android_parameters; components.ios_parameters = &ios_parameters; firebase::dynamic_links::GeneratedDynamicLink long_link = firebase::dynamic_links::GetLongLink(components);
การสร้างแบบสั้น Dynamic Link
หากต้องการสร้างลิงก์แบบไดนามิกแบบสั้น ให้ส่งลิงก์แบบยาวที่สร้างไว้ก่อนหน้านี้ไปยัง GetShortLink หรือสร้าง DynamicLinkComponents ในลักษณะเดียวกับด้านบน
GetShortLink จะใช้พารามิเตอร์การกำหนดค่า DynamicLinkOptions เพิ่มเติมที่มี PathLength ซึ่งช่วยให้คุณควบคุมวิธีสร้างลิงก์ได้ การสร้างลิงก์แบบสั้นต้องใช้คำขอเครือข่ายไปยังแบ็กเอนด์ของ Firebase ดังนั้น GetShortLink จึงทำงานแบบไม่พร้อมกันและแสดงผล Future<GeneratedLink>
ตัวอย่าง
firebase::dynamic_links::DynamicLinkOptions short_link_options; short_link_options.path_length = firebase::dynamic_links::kPathLengthShort; firebase::Future<firebase::dynamic_links::GeneratedDynamicLink> result = firebase::dynamic_links::GetShortLink(components, short_link_options);
หากโปรแกรมมีลูปการอัปเดตที่ทำงานเป็นประจำ (เช่น 30 หรือ 60 ครั้งต่อวินาที) คุณสามารถตรวจสอบผลลัพธ์ได้ครั้งเดียวต่อการอัปเดต
if (result.status() == firebase::kFutureStatusComplete) { if (result.error() == firebase::dynamic_links::kErrorCodeSuccess) { firebase::dynamic_links::GeneratedDynamicLink link = *result.result(); printf("Create short link succeeded: %s\n", link.url.c_str()); } else { printf("Created short link failed with error '%s'\n", result.error_message()); } }