هم‌رسانی «دستیار»

کاربران تلفن‌های Android می‌توانند از «دستیار Google» بخواهند محتوای برنامه را بااستفاده از فرمان صوتی‌ای مثل «Ok Google، این را برای سارا ارسال کن» با کاربر دیگری هم‌رسانی کند. براساس گزینه‌های سیستم کاربر اول، «دستیار» می‌تواند نوشتار را از صفحه‌نمایش یا نماگرفت دستگاه در محتوای هم‌رسانی‌شده بگنجاند.

«دستیار» عکس انتخاب‌شده را درصورت درخواست در پیام درج می‌کند.
شکل ۱. «دستیار» عکسی را با مخاطبی هم‌رسانی می‌کند.

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

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

onProvideAssistContent() را برای هر entity قابل‌هم‌رسانی در برنامه‌تان پیاده‌سازی کنید.

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

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

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

Kotlin
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 (فقط درصورتی لازم است که محتوا دارای نشانی وب باشد)

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