สร้างลิงก์แอปสำหรับ Instant Apps

Android Instant App เป็นแอปเวอร์ชันขนาดเล็กที่ทำงานได้โดยไม่ต้องติดตั้ง ผู้ใช้จะเปิดแอปได้ง่ายๆ เพียงคลิก URL โดยไม่ต้องติดตั้ง APK ดังนั้น Instant App ทั้งหมดจึงต้องเข้าถึงได้ผ่าน URL ที่ประกาศโดยใช้ App Link ของ Android หน้านี้จะอธิบายวิธีใช้ App ของ Android ให้กับ Android Instant Apps

อย่างแรก นี่คือสรุปสิ่งที่คุณควรเข้าใจอยู่แล้วเกี่ยวกับ App Link

  • เมื่อคุณสร้างตัวกรอง Intent สําหรับกิจกรรมในแอปที่อนุญาตให้ผู้ใช้ข้ามไปยังหน้าจอที่เฉพาะเจาะจงในแอปได้โดยตรงด้วยลิงก์ URL การดำเนินการนี้เรียกว่า "Deep Link" อย่างไรก็ตาม แอปอื่นๆ สามารถประกาศตัวกรอง Intent ของ URL ที่คล้ายกันได้ ระบบจึงอาจถามผู้ใช้ว่าต้องการเปิดแอปใด หากต้องการสร้าง Deep Link เหล่านี้ โปรดอ่านหัวข้อสร้าง Deep Link สำหรับเนื้อหาในแอป
  • เมื่อคุณเผยแพร่ไฟล์ assetlinks.json บนเว็บไซต์ที่สอดคล้องกับ HTTP Deep Link ของแอป เป็นการยืนยันว่าแอปเป็นเจ้าของที่แท้จริงของ URL เหล่านั้น ดังนั้นคุณจึงได้แปลง Deep Link เป็น Android App Link ซึ่งทำให้แอปเปิดขึ้นได้ทันทีเมื่อผู้ใช้คลิก URL ดังกล่าว หากต้องการสร้าง App Link โปรดอ่านหัวข้อยืนยัน Android App Link

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

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

เมื่อผู้ใช้ปลายทางค้นหาแอปของคุณใน Google Search ทาง Google Search จะแสดง URL พร้อมป้าย "ทันที"

หากคุณทำตามคำแนะนำในการสร้าง Deep Link ไปยังเนื้อหาแอปและยืนยัน App Link ของ Android ไว้แล้ว แสดงว่าคุณได้ทำขั้นตอนส่วนใหญ่ที่จำเป็นต่อการใช้ App Link กับแอป Instant เรียบร้อยแล้ว กฎเพิ่มเติมอีก 2 ข้อในการใช้ App Link สำหรับแอป Instant มีดังนี้

  • ตัวกรอง Intent ทั้งหมดที่ใช้เป็น App Link ใน Instant App ต้องรองรับทั้ง HTTP และ HTTPS เช่น

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http" android:host="www.example.com" />
        <data android:scheme="https" />
    </intent-filter>
    

    โปรดทราบว่าคุณไม่จําเป็นต้องใส่ host ในองค์ประกอบ <data> ที่ 2 เนื่องจากภายในองค์ประกอบ <intent-filter> แต่ละรายการ ระบบจะถือว่าชุดค่าผสมทั้งหมดของแอตทริบิวต์ <data> แต่ละรายการถูกต้อง (ดังนั้นตัวกรอง Intent นี้จึงแก้ปัญหา https://www.example.com ได้)

  • คุณประกาศแอปด่วนได้เพียงแอปเดียวสําหรับโดเมนเว็บไซต์แต่ละรายการ (การดำเนินการนี้แตกต่างจากการสร้าง App Link สําหรับแอปที่ติดตั้งได้ ซึ่งช่วยให้คุณเชื่อมโยงเว็บไซต์กับแอปหลายแอปได้)

  • ควรรวมตัวกรอง Intent ของ URL HTTP ทั้งหมดในแอป Instant ไว้ในแอปที่ติดตั้งได้ของคุณ การดำเนินการนี้สำคัญเนื่องจากเมื่อผู้ใช้ติดตั้งแอปเวอร์ชันเต็มแล้ว การแตะ URL ควรเปิดแอปที่ติดตั้งไว้ ไม่ใช่แอป Instant
  • คุณต้องตั้งค่า autoVerify="true" ใน Intent Filter อย่างน้อย 1 รายการทั้งใน Instant App และแอปที่ติดตั้งได้ (ดูวิธีเปิดใช้การยืนยันอัตโนมัติ)
  • คุณต้องเผยแพร่ assetlinks.json 1 รายการสำหรับแต่ละโดเมน (และโดเมนย่อย) ที่ลิงก์แอปรองรับ โดยใช้โปรโตคอล HTTPS (ดูวิธีรองรับการลิงก์แอปสำหรับโฮสต์หลายโฮสต์)
  • ไฟล์ assetlinks.json ต้องเป็น JSON ที่ถูกต้อง แสดงโดยไม่มีการเปลี่ยนเส้นทาง และบ็อตเข้าถึงได้ (robots.txt ต้องอนุญาตให้ทำการ Crawl/.well-known/assetlinks.json)
  • เราไม่แนะนำให้ใช้ไวลด์การ์ดในแอตทริบิวต์โฮสต์ของตัวกรอง Intent (ดูวิธีรองรับการลิงก์แอปจากโดเมนย่อยหลายรายการ)
  • คุณควรประกาศ URL ของโฮสต์/รูปแบบที่กำหนดเองด้วยตัวกรอง Intent แยกต่างหาก
  • ตรวจสอบว่า URL ของ App Link ของคุณมีผลการค้นหาอันดับต้นๆ สำหรับคีย์เวิร์ด