เพิ่มลิงก์แอป Android

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

วิธีเพิ่มการรองรับ Android App Link

  1. สร้างตัวกรอง Intent ในไฟล์ Manifest
  2. เพิ่มโค้ดลงในกิจกรรมของแอปเพื่อจัดการลิงก์ขาเข้า
  3. เชื่อมโยงแอปและเว็บไซต์กับลิงก์เนื้อหาดิจิทัล (Digital Asset Links)

ผู้ช่วย App Link ใน Android Studio ช่วยลดความซับซ้อนของกระบวนการด้วยวิซาร์ดแบบทีละขั้นตอน ดังที่อธิบายไว้ด้านล่าง

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของ App Link และประโยชน์ที่ได้รับได้ที่หัวข้อ การจัดการ Android App Link

เพิ่มตัวกรอง Intent

ผู้ช่วย App Link ใน Android Studio ช่วยคุณสร้าง ตัวกรอง Intent ในไฟล์ Manifest และแมป URL ที่มีอยู่จากเว็บไซต์กับกิจกรรมในแอปได้ นอกจากนี้ ผู้ช่วย App Link ยังเพิ่มโค้ดเทมเพลตในแต่ละกิจกรรมที่เกี่ยวข้องเพื่อจัดการ Intent ด้วย

หากต้องการเพิ่มตัวกรอง Intent และการจัดการ URL ให้ทำตามขั้นตอนต่อไปนี้

  1. เลือกเครื่องมือ > ผู้ช่วย App Link
  2. คลิกเปิดเครื่องมือแก้ไขการแมป URL แล้วคลิกเพิ่ม ที่ ด้านล่างของรายการการแมป URL เพื่อเพิ่มการแมป URL ใหม่
  3. เพิ่มรายละเอียดสำหรับการแมป URL ใหม่

    ผู้ช่วย App Link จะแนะนำการแมป URL พื้นฐานให้คุณ

    รูปที่ 1 เพิ่มรายละเอียดพื้นฐานเกี่ยวกับโครงสร้างลิงก์ ของเว็บไซต์เพื่อแมป URL กับกิจกรรมในแอป

    1. ป้อน URL ของเว็บไซต์ในช่องโฮสต์
    2. เพิ่ม path, pathPrefix, หรือ pathPattern สำหรับ URL ที่ต้องการแมป

      ตัวอย่างเช่น หากคุณมีแอปแชร์สูตรอาหารที่มีสูตรอาหารทั้งหมดอยู่ใน กิจกรรมเดียวกัน และสูตรอาหารของเว็บไซต์ที่เกี่ยวข้องทั้งหมดอยู่ในไดเรกทอรี /recipe เดียวกัน ให้ใช้ pathPrefix แล้วป้อน /recipe วิธีนี้จะทำให้ URL http://www.recipe-app.com/recipe/grilled-potato-salad แมปกับกิจกรรมที่คุณเลือกใน ขั้นตอนต่อไป

    3. เลือกกิจกรรม ที่ URL ควรนำผู้ใช้ไป
    4. คลิกตกลง

    หน้าต่างเครื่องมือแก้ไขการแมป URL จะปรากฏขึ้น ผู้ช่วย App Link จะเพิ่มตัวกรอง Intent ตามการแมป URL ของคุณลงในไฟล์ AndroidManifest.xml และไฮไลต์การเปลี่ยนแปลงในช่องแสดงตัวอย่าง หากต้องการทำการเปลี่ยนแปลง ให้คลิกเปิด AndroidManifest.xml เพื่อแก้ไขตัวกรอง Intent ดูข้อมูลเพิ่มเติมได้ที่ตัวกรอง Intent สำหรับลิงก์ขาเข้า

    หน้าต่างเครื่องมือหลักของผู้ช่วย App Link ยังแสดง Deep Link ที่มีอยู่ทั้งหมดในไฟล์ AndroidManifest.xml และช่วยให้คุณแก้ไขการกำหนดค่าที่ไม่ถูกต้องได้อย่างรวดเร็วโดยคลิก แก้ไขปัญหาทั้งหมดในไฟล์ Manifest

    ผู้ช่วย App Links ช่วยให้คุณแก้ไขการกำหนดค่าที่ไม่ถูกต้องในไฟล์ Manifest ได้

    หมายเหตุ: หากต้องการรองรับลิงก์ในอนาคตโดยไม่ต้องอัปเดตแอป กำหนดการแมป URL ที่รองรับ URL ที่คุณวางแผนจะเพิ่ม นอกจากนี้ ให้ใส่ URL สำหรับหน้าจอหลักของแอปเพื่อให้ปรากฏในผลการค้นหา

  4. หากต้องการยืนยันว่าการแมป URL ทำงานอย่างถูกต้อง ให้ป้อน URL ในช่องตรวจสอบการแมป URL

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

จัดการลิงก์ขาเข้า

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

  1. คลิกเลือกกิจกรรม จากผู้ช่วย App Link
  2. เลือกกิจกรรมจากรายการ แล้วคลิกแทรกโค้ด

ผู้ช่วย App Link จะเพิ่มโค้ดลงในกิจกรรมของคุณ ซึ่งจะมีลักษณะคล้ายกับโค้ดต่อไปนี้

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    // ATTENTION: This was auto-generated to handle app links.
    val appLinkIntent: Intent = intent
    val appLinkAction: String? = appLinkIntent.action
    val appLinkData: Uri? = appLinkIntent.data
    ...
}

Java

@Override
void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    // ATTENTION: This was auto-generated to handle app links.
    Intent appLinkIntent = getIntent();
    String appLinkAction = appLinkIntent.getAction();
    Uri appLinkData = appLinkIntent.getData();
    ...
}

โค้ดนี้ไม่สมบูรณ์ในตัวของมันเอง ตอนนี้คุณต้องดำเนินการตาม URI ใน appLinkData เช่น แสดงเนื้อหาที่เกี่ยวข้อง ตัวอย่างเช่น สำหรับ แอปแชร์สูตรอาหาร โค้ดอาจมีลักษณะคล้ายกับตัวอย่างต่อไปนี้

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    handleIntent(intent)
}

override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    handleIntent(intent)
}

private fun handleIntent(intent: Intent) {
    val appLinkAction = intent.action
    val appLinkData: Uri? = intent.data
    if (Intent.ACTION_VIEW == appLinkAction) {
        appLinkData?.lastPathSegment?.also { recipeId ->
            Uri.parse("content://com.recipe_app/recipe/")
                    .buildUpon()
                    .appendPath(recipeId)
                    .build().also { appData ->
                        showRecipe(appData)
                    }
        }
    }
}

Java

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  ...
  handleIntent(getIntent());
}

protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);
  handleIntent(intent);
}

private void handleIntent(Intent intent) {
    String appLinkAction = intent.getAction();
    Uri appLinkData = intent.getData();
    if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){
        String recipeId = appLinkData.getLastPathSegment();
        Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon()
            .appendPath(recipeId).build();
        showRecipe(appData);
    }
}

เชื่อมโยงแอปกับเว็บไซต์

หลังจากตั้งค่าการรองรับ URL สำหรับแอปแล้ว ผู้ช่วย App Link จะสร้างไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่คุณใช้ เชื่อมโยงเว็บไซต์กับ แอปได้

คุณสามารถเชื่อมโยงเว็บไซต์และแอปใน Search Console แทนการใช้ไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ได้

หากคุณใช้ Play App Signing สำหรับแอป ลายนิ้วมือของใบรับรองที่ผู้ช่วย App Link สร้างขึ้นมักจะไม่ตรงกับลายนิ้วมือในอุปกรณ์ของผู้ใช้ ในกรณีนี้ คุณสามารถค้นหาข้อมูลโค้ด JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ถูกต้องสำหรับแอปได้ในบัญชีนักพัฒนาแอป Play Console ในส่วนRelease > Setup > App signing

หากต้องการเชื่อมโยงแอปและเว็บไซต์โดยใช้ผู้ช่วย App Link ให้คลิกเปิด เครื่องมือสร้างไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) จากผู้ช่วย App Link แล้วทำตามขั้นตอนต่อไปนี้

ผู้ช่วย App Link จะแนะนำการแมป URL พื้นฐานให้คุณ

รูปที่ 2 ป้อนรายละเอียดเกี่ยวกับเว็บไซต์และแอปเพื่อ สร้างไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links)

  1. ป้อนโดเมนของเว็บไซต์ และ รหัสของแอปพลิเคชัน
  2. หากต้องการรวมการรองรับการลงชื่อเข้าใช้ด้วย One Tap ในไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ให้เลือกรองรับการแชร์ข้อมูลเข้าสู่ระบบระหว่างแอปกับเว็บไซต์ แล้วป้อน URL การลงชื่อเข้าใช้ของเว็บไซต์ ซึ่งจะเพิ่มสตริงต่อไปนี้ลงในไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) เพื่อประกาศว่าแอปและเว็บไซต์แชร์ข้อมูลเข้าสู่ระบบ:delegate_permission/common.get_login_creds

  3. ระบุการกำหนดค่าการลงชื่อ หรือ เลือกไฟล์ Keystore

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

  4. คลิกสร้างไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links)
  5. เมื่อ Android Studio สร้างไฟล์แล้ว ให้คลิกบันทึกไฟล์ เพื่อดาวน์โหลด
  6. อัปโหลดไฟล์ assetlinks.json ไปยังเว็บไซต์ของคุณที่ https://yoursite/.well-known/assetlinks.json โดยให้สิทธิ์การอ่านแก่ทุกคน

    สำคัญ: ระบบจะยืนยันไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ผ่านโปรโตคอล HTTPS ที่เข้ารหัส ตรวจสอบว่าไฟล์ assetlinks.json เข้าถึงได้ผ่าน การเชื่อมต่อ HTTPS ไม่ว่าตัวกรอง Intent ของแอปจะมี https หรือไม่ก็ตาม

  7. คลิกลิงก์และยืนยัน เพื่อยืนยันว่าคุณได้อัปโหลดไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ถูกต้องไปยังตำแหน่งที่ถูกต้องแล้ว

ผู้ช่วย App Link สามารถตรวจสอบไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ควรเผยแพร่ใน เว็บไซต์ของคุณได้ สำหรับแต่ละโดเมนที่ประกาศไว้ในไฟล์ Manifest ผู้ช่วยจะแยกวิเคราะห์ไฟล์ ในเว็บไซต์ของคุณ ทำการตรวจสอบการยืนยัน และให้คำอธิบายโดยละเอียดเกี่ยวกับวิธีแก้ไขข้อผิดพลาด

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมโยงเว็บไซต์กับแอปผ่านไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ได้ที่หัวข้อ ประกาศการเชื่อมโยงเว็บไซต์

ทดสอบ Android App Link

หากต้องการยืนยันว่าลิงก์เปิดกิจกรรมที่ถูกต้อง ให้ทำตามขั้นตอนต่อไปนี้

  1. ในผู้ช่วย App Link ให้คลิกทดสอบ App Link
  2. ป้อน URL ที่ต้องการทดสอบในช่อง URL เช่น http://recipe-app.com/recipe/grilled-potato-salad
  3. รูปที่ 3 กล่องโต้ตอบ**ทดสอบ App Link** ที่แสดง URL ที่กำลังทดสอบและข้อความแสดงความสำเร็จ

  4. คลิกเรียกใช้การทดสอบ

หากตั้งค่าการแมป URL ไม่ถูกต้องหรือไม่มีการตั้งค่า ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นใต้ URL ในกล่องโต้ตอบทดสอบ App Link ไม่เช่นนั้น Android Studio จะเปิดแอปในอุปกรณ์หรือโปรแกรมจำลองที่กิจกรรมที่ระบุโดยไม่แสดง กล่องโต้ตอบการแยกความแตกต่าง ("ตัวเลือกแอป") และแสดงข้อความแสดงความสำเร็จใน กล่องโต้ตอบการทดสอบ App Link ดังที่แสดงในรูปที่ 3

หาก Android Studio เปิดแอปไม่ได้ ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นในหน้าต่างเรียกใช้ ของ Android Studio

หากต้องการทดสอบ Android App Link ผ่านผู้ช่วย App Link คุณต้องมีอุปกรณ์ที่เชื่อมต่ออยู่หรืออุปกรณ์เสมือนจริงที่พร้อมใช้งานซึ่งใช้ Android 6.0 (API ระดับ 23) ขึ้นไป ดูข้อมูลเพิ่มเติมได้ที่หัวข้อวิธีเชื่อมต่ออุปกรณ์ หรือ สร้าง AVD