คุณสร้าง Dynamic Links แบบสั้นหรือยาวได้ด้วย Firebase Dynamic Links API API ใช้โครงสร้างพารามิเตอร์ที่ไม่บังคับหลายรายการเพื่อสร้างลิงก์ นอกจากนี้ คุณยังสร้างลิงก์แบบสั้นจากลิงก์แบบยาวที่สร้างไว้ก่อนหน้านี้ได้ด้วย Firebase Dynamic Links สร้าง URL เช่น
https://example.page.link/WXYZ
C++ SDK ใช้ได้ทั้งใน Android และ iOS โดยต้องมีการตั้งค่าเพิ่มเติม สำหรับแต่ละแพลตฟอร์มd
ก่อนเริ่มต้น
คุณต้องดำเนินการต่อไปนี้ก่อนจึงจะใช้ 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 ให้ดำเนินการเมื่อได้รับแจ้ง
หากมีDynamic Linksคำนำหน้า URI อยู่แล้ว ให้จดบันทึกไว้ คุณต้องระบุคำนำหน้า URI ของ Dynamic Links เมื่อสร้าง Dynamic Links โดยใช้โปรแกรม

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

- Firebase Dynamic Links ไลบรารีไคลเอ็นต์ C++ ใช้รูปแบบ URL ที่กำหนดเองใน iOS
เพื่อประมวลผลลิงก์ คุณต้องเพิ่มรูปแบบ URL ที่กำหนดเองลงในแอปเพื่อรองรับ
การรับ Dynamic Links:
- หากต้องการเปิดการกำหนดค่าโปรเจ็กต์ ให้ดับเบิลคลิกชื่อโปรเจ็กต์ใน มุมมองแบบต้นไม้ทางด้านซ้าย เลือกแอปจากส่วนเป้าหมาย จากนั้น เลือกแท็บข้อมูล แล้วขยายส่วนประเภท URL
- คลิกปุ่ม + แล้วเพิ่มรูปแบบ URL สำหรับ Client
ID ที่กลับด้าน หากต้องการดูค่านี้ ให้เปิด
ไฟล์การกำหนดค่า แล้วมองหาคีย์GoogleService-Info.plist REVERSED_CLIENT_IDคัดลอก ค่าของคีย์นั้น แล้ววางลงในช่องรูปแบบ URL ในหน้าการกำหนดค่า เว้นช่องอื่นๆ ว่างไว้ - คลิกปุ่ม + แล้วเพิ่มรูปแบบ URL ที่ 2 ซึ่งจะ
เหมือนกับรหัสชุดของแอป เช่น หาก Bundle ID คือ
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 เป็นอาร์กิวเมนต์
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 แบบยาวจากพารามิเตอร์
หากต้องการสร้าง Dynamic Link ให้สร้างออบเจ็กต์ DynamicLinkComponents โดยตั้งค่าสมาชิกที่ไม่บังคับสำหรับการกำหนดค่าเพิ่มเติม แล้วส่งไปยัง dynamic_links::GetShortLink หรือ dynamic_links::GetLongLink
ตัวอย่างที่เรียบง่ายต่อไปนี้สร้าง Dynamic Link แบบยาวไปยัง 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);
การสร้าง Shorts Dynamic Link
หากต้องการสร้าง Dynamic Link แบบสั้น ให้ส่งลิงก์แบบยาวที่สร้างไว้ก่อนหน้านี้ไปยัง
GetShortLink หรือสร้าง DynamicLinkComponents ในลักษณะเดียวกับด้านบน
GetShortLink อาจใช้DynamicLinkOptions config
parameter เพิ่มเติมกับ PathLength ซึ่งช่วยให้คุณควบคุมวิธีสร้างลิงก์ได้
การสร้าง Short Link ต้องใช้คำขอเครือข่ายไปยังแบ็กเอนด์ของ 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 ครั้งต่อวินาที) คุณสามารถตรวจสอบผลลัพธ์ได้ 1 ครั้งต่อการอัปเดต
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()); } }