به اشتراک گذاری دستیار

کاربران تلفن‌های اندرویدی می‌توانند با استفاده از فرمان صوتی مانند «Hey Google, send this to Jane» از «دستیار Google» بخواهند محتوای برنامه را با کاربر دیگری به اشتراک بگذارد. بر اساس گزینه‌های سیستم کاربر اول، «دستیار» می‌تواند متنی را از صفحه نمایش یا تصویری از دستگاه را در محتوای به اشتراک‌گذاشته‌شده قرار دهد.

وقتی از شما خواسته شود، دستیار یک عکس انتخاب شده را در پیامی قرار می دهد.
شکل 1. دستیار یک عکس را با یک مخاطب به اشتراک می گذارد.

این روش اشتراک‌گذاری اغلب کافی است، اما کاربرانی که محتوای اشتراک‌گذاری شده از برنامه شما را دریافت می‌کنند، ممکن است برای مشاهده محتوا دوباره وارد برنامه نشوند. می‌توانید با پیاده‌سازی متد onProvideAssistContent() اطلاعات ساختاریافته‌ای درباره محتوای پیش‌زمینه فعلی در اختیار Assistant قرار دهید.

این فرآیند به حفظ ساختار داده‌ها در هنگام اشتراک‌گذاری با کاربر دیگر کمک می‌کند. کاربرانی که محتوای برنامه به اشتراک گذاشته شده را دریافت می‌کنند، می‌توانند به جای متن یا عکس صفحه، پیوند عمیق داده شوند یا محتوا را مستقیماً دریافت کنند.

onProvideAssistContent() را برای هر entity قابل اشتراک گذاری در برنامه خود پیاده کنید.

ارائه محتوا به دستیار

شما فقط باید onProvideAssistContent() را برای فعالیت نهایی برنامه در جریان کار کاربر پس از فراخوانی App Action پیاده سازی کنید. به عنوان مثال، در یک جریان GET_ITEM_LIST ، روش را در صفحه نهایی که لیست آیتم ها را نشان می دهد، پیاده سازی کنید. شما نیازی به اجرای آن برای هر صفحه نمایش در حال پیشرفت یا پیش نمایش ندارید.

اطلاعات متنی را به عنوان یک شی JSON-LD با استفاده از واژگان schema.org در قسمت structuredData AssistContent ارائه دهید. قطعه کد زیر نمونه ای از ثبت محتوای متنی را نشان می دهد:

کاتلین
override fun onProvideAssistContent(outContent: AssistContent) {
    super.onProvideAssistContent(outContent)

    // JSON-LD object based on Schema.org structured data
    outContent.structuredData = JSONObject()
            .put("@type", "ItemList")
            .put("name", "My Work items")
            .put("url", "https://my-notes-and-lists.com/lists/12345a")
            .toString()
}
      
جاوا
@Override
public void onProvideAssistContent(AssistContent outContent) {
  super.onProvideAssistContent(outContent);

  // JSON-LD object based on Schema.org structured data
  outContent.structuredData = new JSONObject()
          .put("@type", "ItemList")
          .put("name", "My Work items")
          .put("url", "https://my-notes-and-lists.com/lists/12345a")
          .toString();
}
      

تا آنجا که ممکن است اطلاعات بیشتری در مورد هر entity ارائه کنید. فیلدهای زیر الزامی است:

  • @type
  • .name
  • .url (فقط در صورتی لازم است که محتوا دارای آدرس URL باشد)

برای کسب اطلاعات بیشتر در مورد استفاده از onProvideAssistContent() ، به بهینه سازی محتوای متنی راهنمای Assistant مراجعه کنید.