สร้างการดําเนินการของแอป

App Actions ช่วยให้ผู้ใช้เปิดฟังก์ชันการทำงานในแอป Android ได้โดยถาม Google Assistant หรือใช้ทางลัด Android ที่ Assistant แนะนำ ขั้นตอนต่อไปนี้เป็นขั้นตอนหลักในการขยายแอป Android ด้วยการดำเนินการของแอป

  1. ระบุฟังก์ชันการทำงานในแอปที่จะทริกเกอร์และIntent ในตัว (BII) ที่ตรงกัน
  2. ระบุรายละเอียดการดำเนินการตามคำสั่งซื้อสำหรับ BII
  3. ส่งทางลัดสำหรับการดำเนินการของแอปไปยัง Assistant
  4. แสดงตัวอย่างการดำเนินการของแอปในอุปกรณ์ทดสอบ
  5. สร้างรุ่นการทดสอบของแอป
  6. ขอรับการตรวจสอบและใช้งาน App Actions

คุณกำหนดทางลัดแบบไดนามิกเพื่อมอบให้ Assistant เพื่อแนะนำทางลัดเหล่านั้นให้แก่ผู้ใช้ได้ สร้างการดําเนินการของแอปโดยใช้แอปตัวอย่างโดยทําตามCodelab การดําเนินการของแอป

ข้อกำหนด

ก่อนเริ่มพัฒนา App Actions โปรดตรวจสอบว่าคุณและแอปมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้

  • คุณต้องมีบัญชี Google ที่มีสิทธิ์เข้าถึง Google Play Console
  • แอปของคุณต้องเผยแพร่ใน Google Play Store เนื่องจาก App Actions พร้อมให้บริการสำหรับแอปที่เผยแพร่ใน Store เท่านั้น นอกจากนี้ ให้ตรวจสอบว่าแอปไม่ได้มีไว้เพื่อใช้ในโปรไฟล์งาน เนื่องจาก Managed Google Play ไม่รองรับ App Actions
  • คุณต้องมีอุปกรณ์จริงหรือเสมือนเพื่อทดสอบ App Actions
  • คุณต้องมี Android Studio เวอร์ชันล่าสุด
  • คุณต้องใช้บัญชี Google เดียวกันในการลงชื่อเข้าใช้ Android Studio, แอป Google ในอุปกรณ์ทดสอบ และ Google Play Console
  • คุณต้องตั้งค่า Assistant ในอุปกรณ์ทดสอบและทดสอบโดยแตะปุ่มหน้าแรกค้างไว้

จับคู่ Intent ในตัวกับฟังก์ชันการทำงานของแอป

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

มี BII ทั่วไปที่แอป Android เกือบทุกแอปใช้ได้ เช่น การขยายการค้นหาในแอปไปยัง Assistant ด้วย BII actions.intent.GET_THING หรือการให้ผู้ใช้เปิดฟีเจอร์บางอย่างของแอปด้วยเสียงโดยใช้ BII actions.intent.OPEN_APP_FEATURE

ซึ่งเป็นส่วนหนึ่งของข้อกําหนดในการติดตั้งใช้งานการดําเนินการในแอป

นอกจากนี้ยังมี BII ที่เปิดใช้ Use Case ประเภทธุรกิจหรือเฉพาะหมวดหมู่ เช่น แอปออกกำลังกายอาจใช้ actions.intent.START_EXERCISE BII

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

แอปแอ็กชันจะทำงานโดยเริ่ม Intent ของ Android จากแอป Assistant เพื่อนำผู้ใช้ไปยังเนื้อหาที่เฉพาะเจาะจงในแอปโดยตรง คุณสามารถกำหนด Intent เพื่อเปิดใช้งานกิจกรรมอย่างชัดเจนโดยระบุช่อง targetClass และ targetPackage หากแอปใช้ URL ของ Deep Link สำหรับ Android อยู่แล้ว คุณจะมีตัวเลือกในการกำหนดค่า Intent ในการใช้ Deep Link สำหรับ Fulfillment ดูรายละเอียดเพิ่มเติมได้ที่ส่วนทดสอบ Deep Link ของกิจกรรม

ระบุรายละเอียดการดำเนินการตามคำสั่งซื้อสำหรับ Intent ในตัว

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

ในไฟล์ shortcuts.xml BII จะแสดงเป็นองค์ประกอบ <capability> และการดำเนินการตามคำสั่งซื้อแต่ละรายการจะแสดงเป็นองค์ประกอบ <intent> ดังนี้

<shortcuts>
    <capability android:name="actions.intent.START_EXERCISE">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="exercise.name"
                android:key="exercise_name">
            </parameter>
        </intent>
    </capability>

สําหรับ BII ส่วนใหญ่ คุณจะดึงข้อมูลพารามิเตอร์ Intent จากการค้นหาของผู้ใช้โดยอิงตามเอนทิตี schema.org จากนั้นแอปจะใช้พารามิเตอร์ BII ดังกล่าวเพื่อนำผู้ใช้ไปยังความสามารถที่เลือก ตัวอย่างเช่น โค้ดด้านบนจะจับคู่พารามิเตอร์ exercise.name BII กับพารามิเตอร์ exercise_name Android intent

หากต้องการดำเนินการให้เสร็จสมบูรณ์โดยใช้ Deep Link คุณจะใช้ช่อง urlTemplate เพื่อกำหนด URL ของ Deep Link ที่ Assistant จะสร้าง

<shortcuts>
    <capability android:name="actions.intent.START_EXERCISE">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myexerciseapp://start{?exercise_name}" />
            <parameter android:name="exercise.name"
                android:key="exercise_name"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>

ดูรายละเอียดสําคัญเกี่ยวกับการเพิ่มการกระทําของแอปลงในไฟล์ shortcuts.xml ได้ที่สร้าง shortcuts.xml หน้าดังกล่าวยังอธิบายวิธีระบุค่าพารามิเตอร์ที่แอปคาดหวังด้วย

ใช้ Intent ในตัว GET_THING

หากแอปมีฟังก์ชันการค้นหา คุณต้องใช้ actions.intent.GET_THINGBII สำหรับฟังก์ชันดังกล่าว จากนั้น Assistant สามารถส่งต่อผู้ใช้ไปยังฟังก์ชันการค้นหาของแอปเพื่อดูผลการค้นหาในแอปเมื่อผู้ใช้ทําการค้นหา เช่น "Ok Google ค้นหา Example Thing ในแอป Example"

ในไฟล์ shortcuts.xml ให้ใช้ <capability> สำหรับ actions.intent.GET_THING BII เมื่อคุณใช้ BII อื่นๆ คุณใช้ Fulfillment หลายรายการสำหรับ GET_THING ได้ ตราบใดที่มีการระบุ Fulfillment อย่างน้อย 1 รายการที่ส่งคำค้นหาของผู้ใช้ไปยังฟังก์ชันการค้นหาของแอป

ต่อไปนี้คือตัวอย่างการเพิ่ม actions.intent.GET_THING BII ใน shortcuts.xml

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

ในการค้นหา Activity ให้ดึงข้อมูลการค้นหาจากข้อมูลเพิ่มเติมของ intent แล้วส่งไปยังฟังก์ชันการค้นหาของแอป ในโค้ดก่อนหน้า ข้อความค้นหาที่ส่งผ่านเป็นคีย์ query จะแมปกับพารามิเตอร์ "thing.name"BII จากนั้นทำการค้นหาด้วยคำค้นหาและแสดงผลลัพธ์ในอินเทอร์เฟซผู้ใช้

ไม่บังคับ: ส่งทางลัดสำหรับการดำเนินการของแอปไปยัง Assistant

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

หากต้องการส่งแป้นพิมพ์ลัดแบบไดนามิกไปยัง Assistant ให้ใช้ไลบรารีการผสานรวม Google Shortcuts ไลบรารี Jetpack นี้ช่วยให้ Assistant นำทางลัดของคุณไปใช้และแนะนำทางลัดเหล่านั้นแก่ผู้ใช้ในเวลาที่เหมาะสม

โปรดดูรายละเอียดเพิ่มเติมได้ที่พุชทางลัดแบบไดนามิกไปยัง Assistant

ดูตัวอย่างการดำเนินการของแอป

ในระหว่างการพัฒนาและการทดสอบ ให้ใช้ปลั๊กอิน Google Assistant สําหรับ Android Studio เพื่อทดสอบว่า App Actions ทํางานกับแอปของคุณหรือไม่ ปลั๊กอินจะสร้างตัวอย่าง App Actions ใน Assistant สําหรับบัญชี Google ของคุณ เมื่อใช้เครื่องมือทดสอบ คุณจะทดสอบการจำหน่ายบนอุปกรณ์ทดสอบจริงหรือโปรแกรมจำลองได้โดยระบุพารามิเตอร์อินพุตของ BII ที่คุณคาดหวังว่าจะได้รับจากผู้ใช้

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

ทดสอบแอปในโหมดร่างโดยใช้เครื่องมือสำหรับนักพัฒนาแอปของ Google Play Console ก่อนส่งแอปเข้ารับการตรวจสอบ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Google Play Console เพื่อทำให้แอปฉบับร่างใช้งานได้ที่เตรียมพร้อมและเปิดตัวรุ่น

สร้างรุ่นทดสอบ

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

หากต้องการให้สิทธิ์เข้าถึงการทดสอบการดำเนินการของแอปทั้งหมด รวมถึงการดำเนินการที่ยังไม่อนุมัติ ให้บอกผู้ทดสอบให้เข้าร่วมโปรแกรมการพัฒนาการดำเนินการของแอปใน Google Group สมาชิกของกลุ่มนี้จะมีสิทธิ์เข้าถึง App Actions ทั้งหมดในรุ่นการทดสอบแบบปิดและแบบภายในโดยไม่ต้องสร้างตัวอย่างโดยใช้เครื่องมือทดสอบ App Actions หลังจากเข้าร่วมกลุ่มแล้ว อาจต้องใช้เวลาถึง 3 ชั่วโมงหลังจากที่เข้าร่วมกลุ่ม จึงจะมีสิทธิ์เข้าถึง

ขอรับการตรวจสอบและการทำให้การดำเนินการของแอปใช้งานได้

การดำเนินการของแอปจะไม่พร้อมใช้งานสำหรับผู้ใช้แอปที่เผยแพร่แล้วหรือรุ่นการทดสอบแบบเปิดจนกว่าจะได้รับการตรวจสอบและอนุมัติ การตรวจสอบ App Actions จะไม่ส่งผลต่อสถานะการตรวจสอบและการใช้งานแอป Android ใน Google Play แม้ว่าการส่งแอปจะได้รับอนุมัติและเผยแพร่ไปยัง Play Store แล้ว แต่ Google อาจกำลังตรวจสอบ shortcuts.xml แอปแอ็กชันจะไม่ทำงานกับผู้ใช้ปลายทางจนกว่าการตรวจสอบดังกล่าวจะได้รับอนุมัติด้วย

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

หากต้องการส่งการดำเนินการของแอปเข้ารับการตรวจสอบ ให้ทำดังนี้

  1. ยอมรับข้อกำหนดในการให้บริการของการดำเนินการของแอปใน Google Play Console (การตั้งค่าขั้นสูง > การดำเนินการของแอป)

    ข้อกำหนดในการให้บริการของการดำเนินการของแอปใน Google Play Console

  2. อัปโหลดแอปที่มี shortcuts.xml ไปยัง Google Play Console เพื่อเผยแพร่ตามปกติ

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

หากต้องการใช้ Deep Link เพื่อเปิด Activity โดยใช้ App Action คุณต้องตั้งค่า Activity ด้วย URL ของ Deep Link และมีตัวกรอง Intent ที่เกี่ยวข้องในไฟล์ Manifest ของแอป Android

หากต้องการทดสอบว่าเข้าถึงกิจกรรมได้และสามารถทริกเกอร์โดยใช้การดําเนินการของแอปโดยใช้ Deep Link ให้เรียกใช้คําสั่ง adb ต่อไปนี้

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

เช่น

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

หากกิจกรรมไม่เปิดขึ้นอย่างถูกต้องด้วยคำสั่ง adb ให้ตรวจสอบสิ่งต่อไปนี้

  • ในไฟล์ Manifest ของแอป กิจกรรมมี android:exported=true จึงเปิดใช้งานโดยใช้ Intent จาก Google Assistant ได้
  • หากใช้ URL ของ App Link ให้ทําตามขั้นตอนทั้งหมดในหัวข้อการจัดการ App Link ของ Android

นโยบายการดำเนินการของแอป

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

  • นําผู้ใช้ไปยังเนื้อหาที่ผู้ใช้ต้องการ

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

    เช่น การติดตั้งใช้งาน BII START_EXERCISE ช่วยให้ผู้ใช้เริ่มออกกำลังกายประเภทหนึ่งๆ ได้ เช่น การวิ่งหรือการว่ายน้ำ ข้อยกเว้นเพียงอย่างเดียวสําหรับนโยบายนี้คือเมื่อ OPEN_APP_FEATURE BII นําผู้ใช้ไปยังหน้าจอหลักของแอป

  • ใช้ BII ของการดำเนินการของแอปที่เกี่ยวข้อง

    BII ที่ติดตั้งใช้งานต้องเกี่ยวข้องกับเนื้อหาและฟังก์ชันการทำงานของแอปโดยตรง

    เช่น หากแอปอยู่ในหมวดหมู่การสื่อสารของ Play Store อย่าใช้ BII START_EXERCISE ซึ่งแนะนําสําหรับแอปในหมวดหมู่สุขภาพและความแข็งแรงสมบูรณ์

  • ใช้ความตั้งใจที่กําหนดเองที่เกี่ยวข้อง

    คำค้นหาที่กำหนดไว้สำหรับความตั้งใจที่กำหนดเองเกี่ยวข้องกับเนื้อหาและฟังก์ชันการทำงานของแอป ตัวอย่างการละเมิดนโยบายนี้ที่อาจเกิดขึ้นคือการสร้าง Intent custom.action.intent.GET_RECIPE ที่มีรูปแบบการค้นหาที่เกี่ยวข้อง "แสดงสูตรอาหาร Burrito ให้ฉัน" สําหรับแอปในหมวดหมู่ "การขนส่ง" ของ Play Store