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

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

วิธีเพิ่มการรองรับลิงก์ของแอป Android

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

ผู้ช่วย 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 ทำงานได้อย่างถูกต้อง ให้เพิ่มตรรกะเพื่อจัดการเจตนา ที่คุณสร้างขึ้น

  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 จะสร้างไฟล์ลิงก์เนื้อหาดิจิทัลที่คุณใช้เพื่อเชื่อมโยงเว็บไซต์กับแอปได้

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

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

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

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

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

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

  3. ระบุการกำหนดค่าการลงนามหรือ เลือกไฟล์ที่เก็บคีย์

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

  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 ผู้ช่วยจะแยกวิเคราะห์ไฟล์ ในเว็บไซต์ของคุณ ทำการตรวจสอบความถูกต้อง และอธิบายรายละเอียดเกี่ยวกับวิธีแก้ไขข้อผิดพลาด ต่างๆ

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

ทดสอบ 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