کاربران تلفنهای Android میتوانند از «دستیار Google» بخواهند محتوای برنامه را بااستفاده از فرمان صوتیای مثل «Ok Google، این را برای سارا ارسال کن» با کاربر دیگری همرسانی کند. براساس گزینههای سیستم کاربر اول، «دستیار» میتواند نوشتار را از صفحهنمایش یا نماگرفت دستگاه در محتوای همرسانیشده بگنجاند.
این روش همرسانی اغلب کافی است، اما کاربرانی که محتوای همرسانیشده از برنامهتان را دریافت میکنند ممکن است برای مشاهده محتوا دوباره وارد برنامه نشوند. با پیادهسازی روش onProvideAssistContent() میتوانید اطلاعات ساختاریافتهای درباره محتوای پیشزمینه فعلی به «دستیار» ارائه دهید.
این فرایند به حفظ ساختار دادهها هنگام همرسانی با کاربر دیگر کمک میکند. کاربرانی که محتوای همرسانیشده برنامه را دریافت میکنند میتوانند پیوند عمیق شوند یا محتوا را مستقیماً دریافت کنند، نه بهصورت نوشتار یا نماگرفت.
onProvideAssistContent() را برای هر entity قابلهمرسانی در برنامهتان پیادهسازی کنید.
ارائه محتوا به «دستیار»
فقط باید onProvideAssistContent() را برای فعالیت نهایی برنامه
در جریان تکلیف کاربر پساز فراخوانی «کنش برنامه» پیادهسازی کنید. برای مثال، در جریان
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(فقط درصورتی لازم است که محتوا دارای نشانی وب باشد)
برای کسب اطلاعات بیشتر درباره استفاده از onProvideAssistContent()،
راهنمای بهینهسازی محتوای زمینهای برای «دستیار» را ببینید.