Firebase Dynamic Links: คืออะไร ทำงานอย่างไร และใช้งานในการพัฒนาอย่างไร

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-05-14 เวลาอ่าน: 8 นาที

Firebase Dynamic Links คือบริการของ Google สำหรับสร้างลิงก์อัจฉริยะที่นำผู้ใช้ไปยังตำแหน่งที่ถูกต้องในแอปพลิเคชัน ไม่ว่าแอปพลิเคชันจะถูกติดตั้งหรือไม่ก็ตาม ตาม เอกสาร Firebase Dynamic Links จะเปลี่ยนเส้นทางผู้ใช้ไปยัง App Store หรือ Google Play โดยอัตโนมัติหากไม่ได้ติดตั้งแอปพลิเคชัน และกู้คืนบริบทการเปลี่ยนเส้นทางหลังจากติดตั้งแล้ว ลิงก์อัจฉริยะ ของ Firebase แก้ปัญหา URL Scheme ซึ่งไม่ทำงานกับแอปพลิเคชันที่ไม่ได้ติดตั้ง

ประเด็นสำคัญ

  • Firebase Dynamic Links — บริการของ Google สำหรับสร้างลิงก์สากลที่ทำงานบน iOS และ Android พร้อมรองรับ deferred deep link
  • Deferred — ข้อได้เปรียบหลัก: ลิงก์รักษาบริบทการเปลี่ยนเส้นทางแม้ว่าแอปพลิเคชันจะไม่ได้ติดตั้งและกู้คืนหลังจากติดตั้งแล้ว
  • การวิเคราะห์ — Firebase ติดตามการคลิก Dynamic Links โดยอัตโนมัติและให้ข้อมูลใน Firebase Analytics และ Google Analytics
  • แพลตฟอร์ม — Dynamic Links ทำงานบน iOS (ผ่าน Universal Links) และ Android (ผ่าน App Links) ด้วยลิงก์สากลเดียวสำหรับทั้งสองแพลตฟอร์ม
  • การสร้าง — ลิงก์ถูกสร้างขึ้นผ่าน Firebase Console, REST API หรือ SDK ของไคลเอ็นต์พร้อมการกำหนดค่าพฤติกรรมสำหรับแต่ละสถานการณ์

Firebase Dynamic Links คือบริการคลาวด์จาก Google ที่สร้างลิงก์สากลแบบรวมสำหรับแอปมือถือบน iOS และ Android ลิงก์ไดนามิกประกอบด้วย deep link ไปยังเนื้อหาภายในแอป แต่ทำงานเหมือนลิงก์ HTTPS ทั่วไป: หากติดตั้งแอปแล้ว จะเปิดโดยตรง หากไม่ได้ติดตั้ง จะเปลี่ยนเส้นทางไปยังร้านค้าแอป

ต่างจาก URL Scheme ทั่วไป Dynamic Links สามารถทำงานกับแอปที่ไม่ได้ติดตั้งได้ด้วยเทคโนโลยี deferred deep link เมื่อผู้ใช้ติดตั้งแอปหลังจากคลิกลิงก์ Firebase จะบันทึกพารามิเตอร์การเปลี่ยนเส้นทางและส่งต่อในการเปิดครั้งแรก ซึ่งเปิดโอกาสสำหรับโปรแกรมแนะนำ แคมเปญการตลาด และคำเชิญ

ความแตกต่างจาก URL Scheme ทั่วไป

URL Scheme ต้องการให้ติดตั้งแอปและไม่มีกลไกสำรองมาตรฐาน Firebase Dynamic Links แก้ปัญหานี้ผ่านบริการเว็บกลางของ Firebase ซึ่งกำหนดสถานะการติดตั้งแอปบนอุปกรณ์และนำทางผู้ใช้อย่างถูกต้อง ในขณะเดียวกัน ลิงก์เดียวทำงานเหมือนกันบนทั้งสองแพลตฟอร์ม

Firebase Dynamic Link ใช้โดเมนเช่น yourcode.page.link ซึ่งลงทะเบียนใน Firebase Console เมื่อผู้ใช้คลิกที่ลิงก์ดังกล่าว Firebase จะกำหนดประเภทอุปกรณ์และสถานะการติดตั้งแอป สำหรับ iOS จะใช้กลไก Universal Links สำหรับ Android จะใช้ App Links พร้อมการยืนยันอัตโนมัติผ่าน Digital Asset Links

กระบวนการประมวลผลประกอบด้วยหลายขั้นตอนต่อเนื่อง: เมื่อคลิกลิงก์ เบราว์เซอร์ส่งคำขอ GET ไปยังเซิร์ฟเวอร์ Firebase เซิร์ฟเวอร์กำหนดแพลตฟอร์มและตรวจสอบการมีอยู่ของแอปบนอุปกรณ์ หากติดตั้งแอปแล้ว จะสร้างการเปลี่ยนเส้นทางไปยัง Universal Link หรือ Intent พร้อมพารามิเตอร์เพื่อเปิดหน้าจอเป้าหมาย หากไม่ได้ติดตั้งแอป จะเปลี่ยนเส้นทางไปยัง App Store หรือ Google Play เพื่อดาวน์โหลด

วงจรชีวิตของ Dynamic Link

แอปได้รับลิงก์ระหว่างการเริ่มต้น Firebase SDK เมธอด getDynamicLink() ส่งคืน PendingResult พร้อมข้อมูลการเปลี่ยนเส้นทาง หลังจากดึงข้อมูลสำเร็จ จะแยกพารามิเตอร์ deep link แท็ก UTM สำหรับการวิเคราะห์ และข้อมูลที่กำหนดเองที่ส่งตอนสร้างลิงก์

Firebase Console มีอินเทอร์เฟสภาพสำหรับสร้าง Dynamic Links นักพัฒนาระบุ URL deep link ชื่อแคมเปญ การตั้งค่าสำหรับ iOS และ Android แยกกัน รวมถึงพารามิเตอร์การวิเคราะห์ หลังจากสร้าง Firebase จะสร้างลิงก์สั้น เช่น https://yourcode.page.link/abc123 ซึ่งสามารถใช้ในสื่อโฆษณา แคมเปญอีเมล และโซเชียลเน็ตเวิร์ก

สำหรับการสร้าง Dynamic Links ด้วยโปรแกรม จะใช้ Firebase REST API หรือ SDK ของไคลเอ็นต์ REST API อนุญาตให้สร้างลิงก์จำนวนมากสำหรับแคมเปญการตลาดด้วยพารามิเตอร์ที่กำหนดเอง รวมถึงลิงก์สำหรับโซเชียลเน็ตเวิร์กและการวิเคราะห์การคลิกแบบอะซิงโครนัส เมื่อสร้างลิงก์ผ่าน API สิ่งสำคัญคือต้องระบุพารามิเตอร์ socialMetaTagInfo อย่างถูกต้อง — พารามิเตอร์เหล่านี้กำหนดว่าลิงก์จะแสดงอย่างไรเมื่อแชร์ในแอปส่งข้อความและโซเชียลเน็ตเวิร์กพร้อมการ์ดตัวอย่าง

พารามิเตอร์ของ Dynamic Link

พารามิเตอร์วัตถุประสงค์บังคับ
Deep Link URLลิงก์ภายในไปยังเนื้อหาแอปใช่
iOS Bundle IDตัวระบุแอปใน App Storeสำหรับ iOS
Android Package Nameชื่อแพ็กเกจใน Google Playสำหรับ Android
Fallback URLหน้าเว็บหากไม่มีแอปไม่
แท็ก UTMพารามิเตอร์สำหรับ Google Analyticsไม่

ในการทำงานกับ Firebase Dynamic Links บน iOS จำเป็นต้องรวม Firebase SDK ผ่าน CocoaPods หรือ Swift Package Manager กำหนดค่า Info.plist ด้วย GOOGLE_APP_ID และลงทะเบียนโดเมน Dynamic Links ใน Associated Domains ของโครงการ หลังจากนั้น แอปจะจัดการ Universal Links ที่สร้างโดย Firebase โดยอัตโนมัติ

ใน Xcode จำเป็นต้องเพิ่มความสามารถ Associated Domains ด้วยรายการเช่น applinks:yourcode.page.link Firebase SDK ใช้เมธอด application(_:continue:restorationHandler:) สำหรับจัดการ Universal Links ดังนั้นจึงไม่จำเป็นต้องรวมเพิ่มเติมกับ AppDelegate — Firebase จะแยกพารามิเตอร์ Dynamic Link จาก User Activity โดยอัตโนมัติ

การกำหนดค่าใน Xcode

ตัวอย่างการกำหนดค่า Info.plist สำหรับการเริ่มต้น Firebase ที่ถูกต้องและการลงทะเบียนตัวจัดการ Dynamic Links คีย์ FIROptions ควรมีตัวระบุโครงการจาก GoogleService-Info.plist

xml
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
    <string>https://yourcode.page.link</string>
</array>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>

หากพร็อกซี AppDelegate ถูกปิดใช้งาน ต้องเรียกเมธอด handleUniversalLink(_:) ด้วยตนเองและส่ง User Activity จาก continue NSUserActivity Firebase SDK จะแยกพารามิเตอร์ลิงก์โดยอัตโนมัติและส่งคืน DynamicLink ผ่าน completion handler

บน Android การรวม Firebase Dynamic Links เริ่มต้นด้วยการเพิ่ม dependencies ใน build.gradle และไฟล์ google-services.json จาก Firebase Console โดเมน Dynamic Links ถูกลงทะเบียนใน Firebase Console หลังจากนั้นลิงก์ทั้งหมดที่มีโดเมนนี้จะถูกรับรู้โดยอัตโนมัติโดยแอป Android ผ่าน Intent Filter ด้วย action VIEW สำหรับการทำงานที่ถูกต้อง ต้องเพิ่มปลั๊กอิน Google Services ใน build.gradle หลักและโมดูล และทำการซิงค์ Gradle

เพื่อจัดการลิงก์อย่างถูกต้องบน Android ต้องเพิ่ม Intent Filter สำหรับโดเมน Dynamic Links ใน Activity ที่ควรรับลิงก์ขาเข้า ตัวกรองต้องมี schema https โฮสต์โดเมน Dynamic Links ของคุณ และเส้นทางเริ่มต้น

Intent Filter สำหรับ Dynamic Links

ตัวอย่าง Intent Filter ใน AndroidManifest.xml สำหรับรับ Dynamic Links บนโดเมน yourcode.page.link

xml
<activity android:name=".MainActivity"
    android:launchMode="singleTask">
    <intent-filter
        android:autoVerify="true">
        <action
            android:name="android.intent.action.VIEW" />
        <category
            android:name="android.intent.category.DEFAULT" />
        <category
            android:name="android.intent.category.BROWSABLE" />
        <data
            android:scheme="https"
            android:host="yourcode.page.link" />
    </intent-filter>
</activity>

สิ่งสำคัญคือต้องตั้งค่า launchMode เป็น singleTask สำหรับ Activity ที่รับ Dynamic Links ซึ่งป้องกันการสร้างอินสแตนซ์ Activity ใหม่เมื่อคลิกลิงก์ซ้ำ และอนุญาตให้จัดการ deep link ขาเข้าทั้งหมดในอินสแตนซ์เดียว

Firebase SDK สำหรับ Android มีเมธอด FirebaseDynamicLinks.getInstance().getDynamicLink(intent) ซึ่งส่งคืนอ็อบเจกต์ PendingTask พร้อมข้อมูลลิงก์ จากอ็อบเจกต์ DynamicLink จะถูกแยก URI ลึก พารามิเตอร์ UTM และประทับเวลาการเปลี่ยนเส้นทาง แนะนำให้ดำเนินการประมวลผลในเมธอด onCreate() และ onNewIntent() ของ Activity

เมื่อประมวลผล สิ่งสำคัญคือต้องพิจารณาว่า Dynamic Link สามารถรับได้ทั้งเมื่อเริ่มแอปจากสถานะเย็น (cold start) และเมื่อเปลี่ยนจากแอปอื่นไปยังแอปที่กำลังทำงานอยู่ สำหรับกรณีที่สอง ต้องแทนที่ onNewIntent() และเรียกการตรวจสอบ Dynamic Link อีกครั้ง

การจัดการในโค้ด Kotlin

ตัวอย่างการรับและจัดการ Firebase Dynamic Link ใน MainActivity โค้ดจัดการทั้ง cold start และการเปลี่ยนจากแอปอื่น

kotlin
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        checkDynamicLink(intent)
    }
    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        checkDynamicLink(intent)
    }
    private fun checkDynamicLink(intent: Intent) {
        FirebaseDynamicLinks.getInstance()
            .getDynamicLink(intent)
            .addOnSuccessListener link ->
                val deepLink = link?.link.toString()
                handleDeepLink(deepLink)
            }
    }
}

เมธอด addOnSuccessListener ส่งคืน DynamicLink ซึ่งลิงก์เป้าหมายถูกแยกผ่าน link?.link หาก listener ส่งคืน null หมายความว่า Intent ไม่มี Dynamic Link — นี่คือการเริ่มแอปปกติโดยไม่มีลิงก์ขาเข้า แท็ก UTM สำหรับการวิเคราะห์การคลิกก็พร้อมใช้งานเช่นกัน รวมถึง campaign, medium, source และ content ซึ่งสามารถส่งไปยัง Google Analytics เพื่อประเมินประสิทธิภาพของแต่ละช่องทางการตลาดอย่างละเอียด

คำถามที่พบบ่อย

Firebase Dynamic Links แตกต่างจาก deep link ทั่วไปอย่างไร?

Firebase Dynamic Links รองรับ deferred deep link — ลิงก์รักษาบริบทไว้แม้ว่าแอปจะไม่ได้ติดตั้ง หลังจากติดตั้งแล้ว แอปจะได้รับพารามิเตอร์การเปลี่ยนเส้นทางทั้งหมด ซึ่งเป็นไปไม่ได้กับ URL Scheme หรือ Universal Links ทั่วไป

ต้องจ่ายเงินสำหรับ Firebase Dynamic Links หรือไม่?

Firebase Dynamic Links รวมอยู่ในแผนราคาฟรี Firebase Spark ไม่มีข้อจำกัดเกี่ยวกับจำนวนลิงก์ที่สามารถสร้างได้ อย่างไรก็ตาม ตั้งแต่ปี 2024 Google ได้ประกาศเปลี่ยนไปใช้โครงสร้างพื้นฐานใหม่ ดังนั้นเงื่อนไขอาจเปลี่ยนแปลง

สามารถใช้ Dynamic Links ในเว็บแอปพลิเคชันได้หรือไม่?

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

วิธีทดสอบ Dynamic Links ระหว่างการพัฒนา?

Firebase Console มีปุ่ม Test Dynamic Link สำหรับดูตัวอย่างพฤติกรรม คุณยังสามารถใช้โปรแกรมจำลอง Android หรือเครื่องจำลอง iOS ที่ติดตั้ง Firebase SDK เพื่อทดสอบสถานการณ์การเปลี่ยนเส้นทางทั้งหมดในเครื่อง

Dynamic Link สามารถมีกี่ตัวอักษร?

ลิงก์สั้นของ Firebase Dynamic Link ประกอบด้วยโดเมน page.link และส่วนต่อท้ายแบบสุ่มยาวประมาณ 7 ตัวอักษร ความยาวรวมประมาณ 30 ตัวอักษร Deep link ภายในสามารถมีความยาวเท่าใดก็ได้ แต่แนะนำให้จำกัดไว้ที่ 2 KB เพื่อความเข้ากันได้

สรุป

  • Firebase Dynamic Links — ลิงก์สากลแบบรวมจาก Google สำหรับ iOS และ Android พร้อมรองรับ deferred deep link
  • หลักการทำงาน — ลิงก์ผ่านเซิร์ฟเวอร์ Firebase ซึ่งกำหนดอุปกรณ์และสถานะการติดตั้งแอปเพื่อการนำทางที่ถูกต้อง
  • Deferred — ข้อได้เปรียบสำคัญ: พารามิเตอร์การเปลี่ยนเส้นทางถูกบันทึกและกู้คืนหลังจากติดตั้งแอปจากร้านค้า
  • การสร้าง — ลิงก์ถูกสร้างขึ้นผ่าน Firebase Console, REST API หรือ SDK ของไคลเอ็นต์พร้อมการกำหนดค่าพารามิเตอร์สำหรับแต่ละแพลตฟอร์ม
  • การรวม iOS — ต้องใช้ Associated Domains ใน Xcode และ Firebase SDK; การจัดการผ่าน Universal Links และเมธอด continue UserActivity
  • การรวม Android — ต้องใช้ Intent Filter ใน manifest ด้วย action VIEW และโดเมน Dynamic Links พร้อม Firebase SDK ใน build.gradle
  • การวิเคราะห์ — Firebase ติดตามการคลิก Dynamic Links โดยอัตโนมัติพร้อมรองรับแท็ก UTM สำหรับ Google Analytics

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม