การทำ Deep Link

Google Home app (GHA) เป็นวิธีหลักที่ผู้ใช้ใช้เชื่อมต่ออุปกรณ์อัจฉริยะกับ Google Assistant และกำหนดอุปกรณ์ดังกล่าวให้กับโครงสร้างและห้องต่างๆ ใน Google Home Graph โดยปกติแล้วผู้ใช้จะต้องคลิกผ่านหลายหน้าจอเพื่อค้นหาการผสานรวม Cloud-to-cloudจากรายการตัวเลือกที่มี การทำให้ผู้ใช้เริ่มต้นกระบวนการตั้งค่าได้ง่ายขึ้นจะช่วยให้คุณเริ่มต้นใช้งานผู้ใช้ได้เร็วขึ้นและลดความหงุดหงิดของผู้ใช้ในการตั้งค่า

การทำ Deep Link ช่วยให้คุณฝัง Deep Link ในแอปหรือเว็บไซต์ผลิตภัณฑ์สำหรับ ผู้ใช้เชื่อมต่ออุปกรณ์ smart home กับ Assistant ได้อย่างง่ายดาย การคลิกลิงก์จะแจ้งให้ผู้ใช้ดาวน์โหลด GHA (หากยังไม่ได้ติดตั้ง) และเปิดใช้งาน ขั้นตอนการตั้งค่าการลิงก์บัญชีและการกำหนดห้อง

Deep Link ไปยัง Google Home

Deep Link ช่วยให้คุณพาผู้ใช้ไปยังปลายทางที่เฉพาะเจาะจงภายใน GHA จากAndroid หรือ แอป iOS ได้โดยตรง ซึ่งจะช่วยลดความซับซ้อนของกระบวนการตั้งค่าอุปกรณ์

หากต้องการเริ่มการลิงก์บัญชีใน GHA โดยตรง ให้ใช้ Universal Link ต่อไปนี้:

https://home.google.com/home-app/?deeplink=setup%2Fha_linking%3Fagent_id%3Dagent-id

โดยที่ agent-id คือรหัสโปรเจ็กต์ของการผสานรวมแบบ Cloud-to-Cloud ซึ่งคุณดูได้ใน Google Home Developer Consoleในส่วนการตั้งค่าโปรเจ็กต์

สำหรับแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ที่เปิดตัวโดยใช้ Custom Scheme (Android และ iOS) คุณยังใช้ลิงก์ต่อไปนี้ได้ด้วย

googlehome://setup/ha_linking?agent_id=agent-id

เมื่อผู้ใช้คลิก Universal Link แพลตฟอร์มอุปกรณ์เคลื่อนที่จะตรวจสอบว่ามี GHAหรือไม่ และเปิดขั้นตอนการลิงก์บัญชี หากไม่ได้ติดตั้ง GHA ในอุปกรณ์ของผู้ใช้ ให้ระบุ การจัดการ Fallback เพื่อเปลี่ยนเส้นทางผู้ใช้ให้ติดตั้งหรืออัปเดตแอปจาก Google Play หรือ Apple App Store

Intent แบบเจาะจงปลายทางของ Android

วิธีทริกเกอร์ขั้นตอนการลิงก์บัญชีจากแอปพลิเคชัน Android โดยตรงโดยใช้ Intent แบบเจาะจงปลายทาง

val intent = Intent(Intent.ACTION_VIEW).apply {
    val agentId = "YOUR_AGENT_ID"
    data = Uri.parse("googlehome://setup/ha_linking?agent_id=$agentId")
    setPackage("com.google.android.apps.chromecast.app")
}
try {
    startActivity(intent)
} catch (e: ActivityNotFoundException) {
    // Fallback: open Google Play app, with web browser safety
    try {
        val playStoreIntent = Intent(Intent.ACTION_VIEW,
            Uri.parse("market://details?id=com.google.android.apps.chromecast.app"))
        startActivity(playStoreIntent)
    } catch (e: ActivityNotFoundException) {
        val playStoreUrl =
            "https://play.google.com/store/apps/details?id=com.google.android.apps.chromecast.app"
        val webIntent = Intent(Intent.ACTION_VIEW, Uri.parse(playStoreUrl))
        startActivity(webIntent)
    }
}

ระบบได้เลิกใช้งาน URL ของ Deep Link แบบเดิมที่มีรูปแบบ madeby.google.com หรือ assistant.google.com แล้ว

https://madeby.google.com/home-app/?deeplink=setup%2Fha_linking%3Fagent_id%3Dagent-id

อัปเดตปุ่มทั้งหมดในแอปและเว็บไซต์ผลิตภัณฑ์ให้ใช้ Universal Link หรือ Scheme ที่กำหนดเอง googlehome://setup/ha_linking

ดูรายละเอียดเพิ่มเติมเกี่ยวกับการทริกเกอร์ Deep Link จากภายในแอปได้ในเอกสารประกอบสำหรับ AndroidและiOS ที่เกี่ยวข้อง