کاربران تلفنهای اندرویدی میتوانند با استفاده از فرمان صوتی مانند «Hey Google, send this to Jane» از «دستیار Google» بخواهند محتوای برنامه را با کاربر دیگری به اشتراک بگذارد. بر اساس گزینههای سیستم کاربر اول، «دستیار» میتواند متنی را از صفحه نمایش یا تصویری از دستگاه را در محتوای به اشتراکگذاشتهشده قرار دهد.
![وقتی از شما خواسته شود، دستیار یک عکس انتخاب شده را در پیامی قرار می دهد.](https://developer.android.com/static/guide/app-actions/images/app-actions-assistant-sharing.gif?hl=fa)
این روش اشتراکگذاری اغلب کافی است، اما کاربرانی که محتوای اشتراکگذاری شده از برنامه شما را دریافت میکنند، ممکن است برای مشاهده محتوا دوباره وارد برنامه نشوند. میتوانید با پیادهسازی متد onProvideAssistContent()
اطلاعات ساختاریافتهای درباره محتوای پیشزمینه فعلی در اختیار Assistant قرار دهید.
این فرآیند به حفظ ساختار دادهها در هنگام اشتراکگذاری با کاربر دیگر کمک میکند. کاربرانی که محتوای برنامه به اشتراک گذاشته شده را دریافت میکنند، میتوانند به جای متن یا عکس صفحه، پیوند عمیق داده شوند یا محتوا را مستقیماً دریافت کنند.
onProvideAssistContent()
را برای هر entity
قابل اشتراک گذاری در برنامه خود پیاده کنید.
ارائه محتوا به دستیار
شما فقط باید onProvideAssistContent()
را برای فعالیت نهایی برنامه در جریان کار کاربر پس از فراخوانی App Action پیاده سازی کنید. به عنوان مثال، در یک جریان CREATE_MONEY_TRANSFER
، روش را در صفحه نهایی که رسید را نشان می دهد، پیاده سازی کنید. شما نیازی به اجرای آن برای هر صفحه نمایش در حال پیشرفت یا پیش نمایش ندارید.
اطلاعات متنی را به عنوان یک شی 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", "MenuItem") .put("name", "Blueberry Crisp Iced Signature Latte") .put("url", "https://mysite.com/menuitems/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", "MenuItem") .put("name", "Blueberry Crisp Iced Signature Latte") .put("url", "https://mysite.com/menuitems/12345a") .toString(); }
تا آنجا که ممکن است اطلاعات بیشتری در مورد هر entity
ارائه کنید. فیلدهای زیر الزامی است:
-
@type
-
.name
-
.url
(فقط در صورتی لازم است که محتوا دارای آدرس URL باشد)
برای کسب اطلاعات بیشتر در مورد استفاده از onProvideAssistContent()
، به بهینه سازی محتوای متنی راهنمای Assistant مراجعه کنید.