Firebase is back at Google I/O on May 10! Register now

เปลี่ยนผู้ใช้เว็บแอปบนมือถือของคุณให้เป็นผู้ใช้แอปที่มาพร้อมเครื่อง

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

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

ประโยชน์ที่สำคัญ

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

นี่คือวิธีการเริ่มต้น!

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

ทำให้เนื้อหาของแอปลิงก์ในรายละเอียดได้

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

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

ตั้งค่าโปรเจ็กต์ Firebase ใหม่และติดตั้ง Dynamic Links SDK ลงในแอปของคุณ ( iOS , Android , C++ , Unity ) การติดตั้ง Dynamic Links SDK ทำให้ Firebase สามารถส่งต่อข้อมูลเกี่ยวกับ Dynamic Link หลังจากที่ผู้ใช้ติดตั้งแอป หากไม่มี SDK ก็จะไม่มีทางเชื่อมต่อผู้ใช้หลังการติดตั้งด้วยการคลิกก่อนการติดตั้ง

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

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

นี่คือลักษณะของลิงก์ดังกล่าว:

<a href="https://example.page.link/?link=https://www.example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

เมื่อผู้ใช้เปิดลิงก์นี้บนอุปกรณ์ หากไม่ได้ติดตั้งแอปที่ระบุโดยพารามิเตอร์ apn (บน Android) หรือพารามิเตอร์ ibi (บน iOS) ระบบจะนำผู้ใช้ไปที่ Play Store หรือ App Store เพื่อติดตั้งแอป จากนั้น แอปจะเปิดขึ้น และ URL ที่ระบุในพารามิเตอร์ link จะถูกส่งผ่านไปยังแอปนั้น

เปิดเนื้อหาที่เชื่อมโยงในแอปของคุณ

ถัดไป คุณต้องได้รับลิงก์ที่ส่งไปยังแอปของคุณ และเปิดเนื้อหาที่เชื่อมโยง ซึ่งทำได้ง่ายโดยใช้ Dynamic Links SDK:

iOS

บน iOS คุณจะได้รับลิงก์แบบไดนามิกโดยการใช้เมธอด application:continueUserActivity:restorationHandler: : ในตัวจัดการการคืนค่า คุณสามารถรับลิงก์ไดนามิกได้โดยการเรียก handleUniversalLink:completion: หากลิงก์แบบไดนามิกถูกส่งไปยังแอปของคุณ คุณสามารถรับได้จากคุณสมบัติ url ของ FIRDynamicLink ตัวอย่างเช่น:

วัตถุประสงค์-C

หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, tvOS หรือ watchOS
[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

สวิฟต์

หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, tvOS หรือ watchOS
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

นอกจากนี้ คุณต้องเรียก dynamicLinkFromCustomSchemeURL: ใน application:openURL:options: method เพื่อรับ Dynamic Links ที่ส่งผ่านไปยังแอปของคุณเป็น URL แบบแผนที่กำหนดเอง ตัวอย่างเช่น:

วัตถุประสงค์-C

หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, tvOS หรือ watchOS
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

สวิฟต์

หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, tvOS หรือ watchOS
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

เมื่อคุณมีค่าของพารามิเตอร์ link แล้ว ให้แสดงเนื้อหาที่ลิงก์กับผู้ใช้ของคุณ

แอนดรอยด์

บน Android คุณใช้เมธอด getDynamicLink() เพื่อรับข้อมูลจากลิงก์ไดนามิก:

Kotlin+KTX

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                // Handle error
                // ...
            }

            val invite = FirebaseAppInvite.getInvitation(task.result)
            if (invite != null) {
                // Handle invite
                // ...
            }
        }

Java

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
            @Override
            public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
                if (!task.isSuccessful()) {
                    // Handle error
                    // ...
                }

                FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(task.getResult());
                if (invite != null) {
                    // Handle invite
                    // ...
                }
            }
        });

เมื่อคุณมีค่าของพารามิเตอร์ link แล้ว ให้แสดงเนื้อหาที่ลิงก์กับผู้ใช้ของคุณ