พื้นที่โฆษณาในเว็บ

เมื่อใช้การดำเนินการของแอป ผู้ใช้จะเข้าสู่เนื้อหาของแอปได้โดยตรงด้วยการพูดว่า อย่างเช่น "Ok Google ขอดูเมนู Three Dot Cafe ใน ExampleApp" ฟังก์ชันนี้เรียกว่าการทำ Deep Link และอาจทำให้ ให้ผู้ใช้ทำสิ่งต่างๆ ให้เสร็จสิ้นด้วยแอป

เพื่อดำเนินการตามคำขอประเภทนี้ Google Assistant จะสร้าง Deep Link ไปยัง เนื้อหาที่ตรงกันในแอปของคุณ หากคุณดูแลรักษาเว็บไซต์อย่างต่อเนื่องด้วย ข้อมูลเนื้อหาหรือผลิตภัณฑ์ และ Deep Link ในแอปมีการจัดระเบียบไว้ตาม เนื้อหาเว็บสาธารณะนี้ คุณสามารถกำหนดค่า Assistant ให้ดึงข้อมูล URL สำหรับการดำเนินการ Fulfillment ใดๆ จากเว็บไซต์ของคุณโดยใช้พื้นที่โฆษณาบนเว็บ

พื้นที่โฆษณาในเว็บคือตำแหน่งเว็บไซต์ของ URL ของสินค้าที่รองรับ ตามแอปของคุณ เมื่อผู้ใช้เรียกใช้การดำเนินการในแอป Assistant จะจับคู่กับผู้ใช้ คำค้นหา เช่น "Three Dot Cafe" ไปยัง URL ที่ตรงกันในดัชนีการค้นหาของ Google ของเว็บไซต์ที่คุณระบุใน shortcuts.xml สำหรับแอป Android

ข้อดี

พื้นที่โฆษณาบนเว็บมีข้อดีสำหรับแอปที่มีรายการขนาดใหญ่และอัปเดตเป็นประจำ รายการที่ผู้ใช้ดูหรือสั่งซื้อในแอป

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

  • สินค้าคงคลังในบรรทัดจำกัดไว้ที่ 1,000 รายการ ในทางตรงกันข้าม พื้นที่โฆษณาบนเว็บ ไม่มีขีดจำกัดรายการ และเติบโตได้ตามความต้องการของคุณ

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

วิธีการทำงาน

ระหว่างการทำงานของแอป Deep Link ของ Assistant จะไปยังเนื้อหาแอปผ่าน Intent (BII) ที่คุณกำหนดใน shortcuts.xml Assistant ใช้ภาษาธรรมชาติ การประมวลผลเพื่อระบุรายการที่เกี่ยวข้องในคำขอของผู้ใช้ และดึงข้อมูลรายการเหล่านั้น ไว้เป็นพารามิเตอร์ BII จากนั้น Assistant จะสร้าง Deep Link โดยใช้พารามิเตอร์ ตามการกำหนดค่าการดำเนินการตามคำสั่งซื้อใน shortcuts.xml.

การสร้าง Deep Link สำหรับการดำเนินการตามคำสั่งซื้อทำได้ 3 วิธีดังนี้

  • การแมปพารามิเตอร์: พารามิเตอร์ Intent ของ Maps กับตัวยึดตำแหน่งใน เทมเพลต URL ของการดำเนินการตามคำสั่งซื้อ
  • พื้นที่โฆษณาแบบอินไลน์: จับคู่พารามิเตอร์ Intent กับรายการที่รองรับ entities ที่กำหนดไว้ในแอป
  • พื้นที่โฆษณาบนเว็บ: จับคู่พารามิเตอร์ความตั้งใจกับเนื้อหาที่พบในเว็บไซต์ ดัชนีการค้นหาของ Google

พื้นที่โฆษณาในเว็บคือรูปแบบ URL ของเว็บไซต์ที่นักพัฒนาซอฟต์แวร์กำหนด เช่น https://www.exampleapp.com/restaurants/.* แสดงชุดเอนทิตีของ เอนทิตีที่แอปรองรับ

หากมีการกําหนดค่าพารามิเตอร์ BII สําหรับพื้นที่โฆษณาบนเว็บ Assistant ค้นหาเว็บไซต์เพื่อดำเนินการจับคู่เอนทิตีกับคำค้นหาของผู้ใช้ จากนั้น Assistant ส่งผลลัพธ์ URL ที่ตรงกับรูปแบบ URL ที่กำหนดค่าไว้ เช่น https://www.exampleapp.com/restaurants/three-dot-cafe เพื่อดำเนินการตามคำสั่งซื้อ

วันที่
รูปที่ 1 ตัวอย่างคำค้นหาของ Assistant ที่ใช้พื้นที่โฆษณาบนเว็บเพื่อดึงข้อมูล รายการร้านอาหาร

Intent ในตัวที่รองรับ

พารามิเตอร์ Intent บางรายการรองรับพื้นที่โฆษณาบนเว็บมีดังต่อไปนี้ BII:

  • [actions.intent.CREATE_REVIEW]
  • [actions.intent.GET_NEWS_ARTICLE]
  • [actions.intent.GET_REVIEW]
  • [actions.intent.GET_THING]
  • [actions.intent.ORDER_MENU_ITEM]
  • [actions.intent.GET_EXERCISE_PLAN]
  • [actions.intent.GET_DIGITAL_DOCUMENT]
  • [actions.intent.GET_ITEM_LIST]
  • [actions.intent.GET_OFFER]
  • [actions.intent.CREATE_OFFER]
  • [actions.intent.GET_PRODUCT]
  • [actions.intent.UPDATE_CART]
  • [actions.intent.CREATE_SOCIAL_MEDIA_CONNECTION]
  • [actions.intent.GET_IMAGE_OBJECT]
  • [actions.intent.GET_SOCIAL_MEDIA_POSTING]
  • [actions.intent.GET_SOCIAL_MEDIA_PROFILE]
  • [actions.intent.CREATE_TAXI_RESERVATION]
  • [actions.intent.CREATE_FLIGHT_RESERVATION]
  • [actions.intent.CREATE_LODGING_RESERVATION]
  • [actions.intent.GET_LOCAL_BUSINESS]
  • [actions.intent.GET_RESERVATION]
  • [actions.intent.UPDATE_RESERVATION]

เพิ่มพื้นที่โฆษณาในเว็บ

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

หากต้องการใช้พื้นที่โฆษณาบนเว็บสำหรับ BII ที่รองรับ ให้ทำตามขั้นตอนต่อไปนี้

  1. ในไฟล์ shortcuts.xml ของแอป ให้เพิ่มแท็ก <capability> ด้วย กำหนดแอตทริบิวต์ android:name เป็นชื่อของ BII ที่คุณกำลังจัดการ พื้นที่โฆษณาบนเว็บ เช่น actions.intent.ORDER_MENU_ITEM

  2. ในแท็ก <capability> ให้เพิ่มแท็ก <intent> ที่มี android:action เป็นชื่อของมุมมองที่จะเปิดใช้งานโดย Intent นี้

  3. ในแท็ก <intent> เดียวกัน ให้เพิ่มแท็ก <parameter> และตั้งค่าแท็ก android:name กับพารามิเตอร์ BII ที่สอดคล้องกันมากที่สุด ต่อเอนทิตีที่หน้าเว็บของคุณอธิบายไว้ ตัวอย่างเช่น เมื่อระบุ พื้นที่โฆษณาเว็บสำหรับ ORDER_MENU_ITEM คุณควรลิงก์หน้าเมนูไปยัง menuItem.name

  4. ในแท็ก <parameter> ใหม่ ให้เพิ่มแท็ก <data> และตั้งค่าแท็ก android:pathPattern เป็นรูปแบบ URL ของเส้นทางที่คุณต้องการ พื้นที่โฆษณาบนเว็บ

เมื่อกำหนดค่า shortcuts.xml โดยใช้ขั้นตอนเหล่านี้ Assistant จะทำสิ่งต่อไปนี้ได้ เรียกเนื้อหาเว็บจากดัชนีการค้นหาของ Google ของรูปแบบ URL ที่คุณ ที่ระบุไว้ในแอตทริบิวต์ android:pathPattern จากนั้น Assistant จะระบุ URL ลงใน Fulfillment ของคุณโดยใช้ผลลัพธ์ที่ตรงกับรูปแบบเส้นทาง URL ที่คุณ กำหนดไว้ จากนั้นแอปจะนำผู้ใช้ไปยังตำแหน่งที่เฉพาะเจาะจงในแอปของคุณ โดยอิงตาม เกี่ยวกับข้อมูล URL ที่ได้รับจาก Assistant

เช่น เว็บไซต์มีข้อมูลผลิตภัณฑ์ที่แสดงที่ใช้เส้นทาง URL ขึ้นต้นด้วย https://www.examplecafe.com/items/ คุณใช้ pathPattern ค่า https://www.examplecafe.com/items/.* และ Assistant ใช้ URL นี้ ในการค้นหาเว็บเพื่อค้นหา URL การดำเนินการตามคำสั่งซื้อ เช่น https://www.examplecafe.com/items/item123

หาก Assistant พบ URL ของพื้นที่โฆษณาบนเว็บที่ตรงกัน ก็จะระบุ URL นั้นไว้ใน <data> ของ Intent ที่ดำเนินการตามคำสั่งซื้อ เสมือนเป็น Deep Link ใช้เมนู getData() ของ Intent เพื่อรับ URL เป็นออบเจ็กต์ Uri กิจกรรมบนแอปที่ ได้รับ Intent จะทำหน้าที่ตีความ URL และเปิดใช้งาน อินเทอร์เฟซผู้ใช้ของแอปที่เหมาะสม

ตัวอย่าง shortcuts.xml

ตัวอย่างต่อไปนี้ระบุ ORDER_MENU_ITEM BII ที่ ให้พื้นที่โฆษณาบนเว็บเพื่อแสดงผลการค้นหา URL สำหรับคำขอที่มี พารามิเตอร์ menuItem.name BII:

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
  <capability android:name="actions.intent.ORDER_MENU_ITEM">
    <intent
      android:action="android.intent.action.VIEW"
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.OrderMenuItemActivity">
      <!-- Define URL match pattern in the pathPattern data field -->
      <parameter android:name="menuItem.name">
        <data android:pathPattern="https://www.examplecafe.com/items/.*"/>
      </parameter>
    </intent>
  </capability>
</shortcuts>

ในตัวอย่างข้างต้น มีการระบุ pathPattern สำหรับ menuItem.name สั่งให้ Assistant แสดงเฉพาะ URL ที่ตรงกับรูปแบบ URL https://www.examplecafe.com/items/.*

ตัวอย่าง shortcuts.xml เพิ่มเติมของ BII ที่รองรับพื้นที่โฆษณาในเว็บมีดังนี้ มีอยู่ในเอกสารอ้างอิง

จัดการวิดีโอสำรองในกรณีที่ผลลัพธ์หายไป

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

  • ไม่มีพารามิเตอร์ Intent: ผู้ใช้ละเว้นพารามิเตอร์ที่คาดไว้ใน หรือ Assistant ไม่เข้าใจพารามิเตอร์ใน อีกครั้ง
  • ไม่มีผลลัพธ์ URL: Assistant ไม่พบเอนทิตีใน เว็บไซต์ที่ตรงกับคำค้นหาของผู้ใช้

คุณจะจัดการค่าพารามิเตอร์ที่ขาดหายไปได้โดยกำหนด <intent> หลายรายการ สำหรับความสามารถ ถ้า Assistant ไม่สามารถตอบสนองความตั้งใจแรก จะเปลี่ยนไปเป็นความตั้งใจถัดไป และอื่นๆ

Intent สำรองไม่ควรต้องใช้พารามิเตอร์ แต่ควร มีความสามารถด้วย Deep Link ทั่วไป เช่น การแสดงการค้นหา ผลลัพธ์สำหรับการค้นหาของผู้ใช้

ในตัวอย่าง shortcuts.xml ต่อไปนี้ ORDER_MENU_ITEM BII กำหนดการดำเนินการ 2 รายการ โดยรายการแรกคาดหวัง URL จาก menuItem.name พารามิเตอร์ อย่างที่สองคือไม่ต้องใช้พารามิเตอร์ โดยกำหนดเส้นทางผู้ใช้ไปยังหน้าที่แสดง รายการเมนูทั้งหมด

<capability android:name="actions.intent.ORDER_MENU_ITEM">
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="com.example.myapp"
    android:targetClass="com.example.myapp.OrderMenuItemActivity">
    <parameter android:name="menuItem.name">
      <data android:pathPattern="https://www.examplecafe.com/items/.*"/>
    </parameter>
  </intent>
  <!-- Fallback intent with no required parameters -->
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="com.example.myapp"
    android:targetClass="com.example.myapp.ViewMenuActivity">
    <url-template android:value="myapp://app.examplecafe.com/menu/all-items" />
  </intent>
</capability>

ในกรณีที่ไม่มีการส่งกลับ URL ของพื้นที่โฆษณาบนเว็บ เนื้อหาของผู้ใช้ อาจยังมีการใช้คำค้นหาใน Intent สำรอง เช่น เพื่อแสดงการค้นหา ผลลัพธ์

ในตัวอย่าง shortcuts.xml ต่อไปนี้ มีการกำหนดองค์ประกอบ Intent 2 รายการ

  1. รายการแรกต้องมี Deep Link ของพื้นที่โฆษณาในเว็บจาก menuItem.name พารามิเตอร์
  2. หากไม่ได้แสดงผล Deep Link Intent ที่ 2 จะแสดงการค้นหา โดยใช้ข้อความค้นหาของผู้ใช้จาก menuItem.name หากมี
<capability android:name="actions.intent.ORDER_MENU_ITEM">
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="com.example.myapp"
    android:targetClass="com.example.myapp.OrderMenuItemActivity">
    <parameter android:name="menuItem.name">
      <data android:pathPattern="https://www.examplecafe.com/items/.*" />
    </parameter>
  </intent>
  <!-- Fallback intent displaying search results, using "menuItem.name" -->
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="com.example.myapp"
    android:targetClass="com.example.myapp.SearchMenuActivity">
    <parameter-mapping android:name="menuItem.name" android:key="food" />
    <url-template android:value="https://www.examplecafe.com/search?q={?food}" />
  </intent>
</capability>

เพิ่มการค้นหาในแอปด้วยพื้นที่โฆษณาบนเว็บ

คุณช่วยให้ผู้ใช้ค้นหาเนื้อหาเว็บในแอปได้โดยการรวมเว็บ พื้นที่โฆษณาที่ใช้ actions.intent.GET\_THING BII

BII นี้จะค้นหาเนื้อหาหรือเอนทิตีโดยใช้การค้นหาในแอปเริ่มต้น แสดงในแอป โดยเปิดใช้คำค้นหาอย่างเช่น "Ok Google ขอดูการเดินป่าไปยังน้ำตกหน่อย" บน SampleApp” กำหนดค่าพื้นที่โฆษณาบนเว็บสำหรับความสามารถของ thing.name ที่ส่งโดย GET_THING BII ซึ่งตรงกับผลลัพธ์ของเอนทิตีจาก ผ่านเว็บไซต์สำหรับการดำเนินการตามคำสั่งซื้อ

สำหรับตัวอย่าง shortcuts.xml ของพื้นที่โฆษณาบนเว็บ โปรดดูข้อมูลอ้างอิง GET\_THING BII

การทดสอบพื้นที่โฆษณาในเว็บ

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

ในตัวอย่าง ORDER_MENU_ITEM BII ต่อไปนี้ Assistant จะสร้างพื้นที่โฆษณาบนเว็บ ลิงก์การดำเนินการตามคำสั่งซื้อที่ตรงกับรูปแบบ urlFilter ที่ระบุไว้ใน menuItem.name เช่น https://www.examplecafe.com/items/nuggets ความตั้งใจที่สองจะใช้ค่า menuItem.name และทำการค้นหาหาก Intent แรกไม่ตรงกับ รูปแบบ URL

<capability android:name="actions.intent.ORDER_MENU_ITEM">
  <!-- web inventory fulfillment -->
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="com.example.myapp"
    android:targetClass="com.example.myapp.OrderMenuItemActivity">
    <parameter name="menuItem.name">
      <data android:pathPattern="https://www.examplecafe.com/items/.*" />
    </parameter>
  </intent>
  <!-- search intent -->
  <intent
    android:action="android.intent.action.VIEW"
    android:targetPackage="com.example.myapp"
    android:targetClass="com.example.myapp.MenuSearchActivity">
    <parameter-mapping android:name="menuItem.name" android:key="food" />
    <url-template android:value="https://www.examplecafe.com/search?q={?food}" />
  </intent>
</capability>

ใช้เครื่องมือทดสอบ App Actions เพื่อทดสอบพื้นที่โฆษณาในเว็บบนหน้าร้านจริงหรือเสมือนจริง อุปกรณ์

ทำตามขั้นตอนต่อไปนี้เพื่อใช้เครื่องมือทดสอบ

  1. เชื่อมต่ออุปกรณ์ทดสอบกับที่แอปทำงานอยู่
  2. ใน Android Studio ไปที่เครื่องมือ > การดำเนินการของแอป > การทดสอบการดำเนินการของแอป เครื่องมือ
  3. คลิกสร้างตัวอย่าง
  4. ใน Android Studio ให้เรียกใช้แอปในอุปกรณ์ทดสอบ
  5. ใช้แอป Assistant ในอุปกรณ์ทดสอบเพื่อทดสอบการดำเนินการของแอป สำหรับ เช่น พูดว่า "Ok Google สั่งอาหารว่างที่ ExampleCafe"
  6. สังเกตลักษณะการทำงานของแอปหรือใช้โปรแกรมแก้ไขข้อบกพร่องของ Android Studio เพื่อ ยืนยันผลการดำเนินการที่ต้องการ