App Actions به کاربران این امکان را می دهد که با درخواست از دستیار Google یا با استفاده از میانبرهای Android پیشنهاد شده توسط Assistant، عملکرد را در برنامه Android شما راه اندازی کنند. این مراحل اولیه برای گسترش برنامه Android با App Actions هستند:
- عملکرد درونبرنامهای را برای راهاندازی و هدف داخلی مطابق آن (BII) شناسایی کنید.
- جزئیات تکمیل را برای BII ارائه دهید.
- کلیدهای میانبر برای Action App خود را به Assistant فشار دهید.
- عملکردهای برنامه خود را در دستگاه آزمایشی پیش نمایش کنید.
- یک نسخه آزمایشی از برنامه خود ایجاد کنید.
- درخواست بررسی و استقرار App Actions.
به صورت اختیاری، می توانید میانبرهای پویا را برای ارائه به دستیار تعریف کنید تا بتواند آنها را به کاربران شما پیشنهاد دهد. با دنبال کردن نوار کد App Actions با استفاده از یک برنامه نمونه، یک App Action ایجاد کنید.
الزامات
قبل از شروع توسعه App Actions، مطمئن شوید که شما و برنامهتان شرایط زیر را دارید:
- شما باید یک حساب Google با دسترسی به کنسول Google Play داشته باشید.
- برنامه شما باید در فروشگاه Google Play منتشر شود، زیرا App Actions فقط برای برنامههایی که در آنجا منتشر شدهاند در دسترس هستند. همچنین، مطمئن شوید که برنامه شما برای استفاده در نمایه کاری در نظر گرفته نشده است، زیرا اقدامات برنامه توسط Google Play مدیریت شده پشتیبانی نمیشود.
- برای تست کردن App Actions خود به یک دستگاه فیزیکی یا مجازی نیاز دارید.
- به آخرین نسخه Android Studio نیاز دارید.
- باید از همان حساب Google برای ورود به Android Studio، برنامه Google در دستگاه آزمایشی خود و کنسول Google Play استفاده کنید.
- باید دستیار را در دستگاه آزمایشی خود راهاندازی کنید و با لمس و نگهداشتن دکمه صفحه اصلی ، آن را آزمایش کنید.
اهداف داخلی را با عملکرد برنامه مطابقت دهید
عملکردی را در برنامه Android خود شناسایی کنید که کاربران ممکن است بخواهند با یک درخواست گفتاری به آن بپرند و مرجع قصد داخلی را برای یافتن BII های مناسب برای موارد استفاده خود مرور کنید. BII ها درخواست های کاربر را برای وظایفی که می خواهند انجام دهند مدل می کنند، بنابراین به دنبال BII باشید که با عملکرد کلیدی و جریان های کاربر در برنامه شما مطابقت دارد.
BII های رایجی وجود دارد که تقریباً هر برنامه Android می تواند از آنها استفاده کند، مانند گسترش جستجوی درون برنامه خود به Assistant با actions.intent.GET_THING
BII یا اجازه دادن به کاربران برای راه اندازی ویژگی های خاص برنامه با صدای خود با اجرای actions.intent.OPEN_APP_FEATURE
BII.
همچنین BII هایی وجود دارند که موارد استفاده عمودی یا خاص دسته را فعال می کنند. برای مثال، یک برنامه سفارش غذا ممکن است از actions.intent.ORDER_MENU_ITEM
BII استفاده کند.
برای اطمینان از تجربه کاربری عالی و جلوگیری از تأخیر در تأیید احتمالی، مطمئن شوید که هر BII که پیادهسازی میکنید با عملکرد درونبرنامه شما مرتبط است.
App Actions با راهاندازی Intent Android از برنامه Assistant کار میکند تا کاربران را مستقیماً به محتوای خاصی در برنامه شما هدایت کند. شما میتوانید با مشخص کردن فیلدهای targetClass
و targetPackage
اهدافی را برای راهاندازی یک اکتیویتی مشخص کنید. اگر برنامه شما از قبل URL های پیوند عمیق اندروید را پیاده سازی کرده است، می توانید قصد استفاده از پیوند عمیق را برای تکمیل پیکربندی کنید. برای جزئیات بیشتر، بخش پیوندهای عمیق فعالیت خود را آزمایش کنید.
جزئیات تکمیل را برای مقاصد داخلی ارائه دهید
بیشتر ساختن یک App Action عبارت است از اعلان یک قابلیت در فایل منبع shortcuts.xml
برنامه Android خود که در آن BII انتخابی خود و انجام مربوط به آن را مشخص میکنید. یک BII پرس و جوی کاربر را برای یک کار مدل می کند و یک هدف تحقق، اطلاعاتی در مورد نحوه انجام کار به دستیار ارائه می دهد.
در فایل shortcuts.xml
شما، BII ها به عنوان عناصر <capability>
و هر تکمیل به عنوان یک عنصر <intent>
نشان داده می شود:
<shortcuts>
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.app"
android:targetClass="com.example.app.browse">
<parameter
android:name="menuItem.name"
android:key="query">
</parameter>
</intent>
</capability>
برای اکثر BII ها، پارامترهای هدف را از پرس و جوی کاربر بر اساس موجودیت های schema.org استخراج می کنید. سپس برنامه شما از آن پارامترهای BII برای هدایت کاربران به قابلیت انتخاب شده استفاده می کند. به عنوان مثال، کد قبلی پارامتر menuItem.name
BII را به پارامتر intent
query
Android نگاشت می کند.
اگر اقداماتی را با استفاده از پیوندهای عمیق انجام می دهید، از فیلد urlTemplate
برای تعریف پیوند عمیق URL که Assistant ایجاد می کند استفاده می کنید:
<shortcuts>
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent android:action="android.intent.action.VIEW">
<url-template android:value="myfoodapp://browse{?query}" />
<parameter android:name="menuItem.name"
android:key="query"
android:mimeType="text/*">
</parameter>
</intent>
</capability>
</shortcuts>
برای جزئیات مهم در مورد افزودن App Actions به فایل shortcuts.xml
، به ایجاد shortcuts.xml
مراجعه کنید. آن صفحه همچنین نحوه تعیین مقادیر پارامتر مورد انتظار برنامه شما را توضیح می دهد.
هدف داخلی GET_THING را اجرا کنید
اگر برنامه شما دارای عملکرد جستجو است، باید actions.intent.GET_THING
BII را برای آن عملکرد پیاده سازی کنید. پس از آن، «دستیار» میتواند کاربران را برای نتایج درونبرنامهای به عملکرد جستجوی برنامهتان بفرستد که سؤالاتی مانند «Hey Google, Search for Example Thing on Example App» را مطرح کنند.
در فایل shortcuts.xml
خود، یک <capability>
را برای actions.intent.GET_THING
BII اجرا کنید، همانطور که هر BII دیگری را پیاده سازی می کنید . میتوانید برای GET_THING
از چند اجرا استفاده کنید تا زمانی که حداقل یک تکمیل را ارائه دهید که درخواست کاربر را به عملکرد جستجوی برنامه شما ارسال کند.
در اینجا مثالی از افزودن actions.intent.GET_THING
BII در shortcuts.xml
آورده شده است:
<capability android:name="actions.intent.GET_THING">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MySearchActivity">
<parameter android:name="thing.name" android:key="query" />
</intent>
</capability>
در « Activity
جستجو»، عبارت جستجو را از دادههای اضافی intent
استخراج کنید و آن را به عملکرد جستجوی برنامه خود منتقل کنید. در کد قبلی، عبارت جستجو که به عنوان کلید query
ارسال می شود، به پارامتر BII "thing.name"
نگاشت می شود. سپس یک جستجو با پرس و جو انجام دهید و نتایج را در رابط کاربری نمایش دهید.
اختیاری: میانبرها را برای Action App خود به Assistant فشار دهید
هنگامی که قابلیتی را برای اقدام خود تعریف کردید، کاربران می توانند با گفتن عبارتی مانند «Hey Google, order a pizza on Example App» اقدام شما را اجرا کنند. «دستیار» میتواند در زمانهای مربوطه، میانبرهای Android را برای اقدامات شما به کاربران پیشنهاد دهد و به آنها اجازه دهد اقدامات شما را کشف و دوباره پخش کنند. دستیار می تواند میانبرهای پویا و ایستا را پیشنهاد دهد.
برای فشار دادن میانبرهای پویا به دستیار، از کتابخانه Google Shortcuts Integration استفاده کنید. این کتابخانه Jetpack به دستیار این امکان را میدهد که میانبرهای شما را دریافت کرده و در زمان مناسب به کاربران پیشنهاد دهد.
برای جزئیات بیشتر، میانبرهای پویا را به دستیار فشار دهید.
پیش نمایش اقدامات برنامه خود را
در طول توسعه و آزمایش، از افزونه Google Assistant برای Android Studio استفاده کنید تا آزمایش کنید که App Actions برای برنامه شما کار می کند. این افزونه پیش نمایشی از App Actions شما را در Assistant برای حساب Google شما ایجاد می کند. با استفاده از ابزار تست، می توانید با ارائه BII هایی با پارامترهای ورودی که انتظار دارید از کاربران دریافت کنید، انجام خود را روی یک دستگاه آزمایش فیزیکی یا شبیه ساز آزمایش کنید.
هنگام پیشنمایش «عملیات برنامه»، میتوانید پرسوجوها را به صورت صوتی در دستگاه راهاندازی کنید. این عملکرد فقط برای جستارهای فهرست شده در مرجع BII برای App Actions موجود است. از محرک صوتی فقط برای نمایش استفاده کنید، نه برای آزمایش معمولی.
قبل از ارسال برنامه برای بررسی، برنامه خود را در حالت پیش نویس با استفاده از ابزارهای توسعه دهنده کنسول Google Play آزمایش کنید. برای اطلاعات بیشتر در مورد استفاده از Google Play Console برای استقرار پیشنویس برنامه خود، به تهیه و راهاندازی نسخه مراجعه کنید.
یک نسخه آزمایشی ایجاد کنید
هنگامی که آماده آزمایش عملکردهای برنامه خود با آزمایشگرهای دیگر هستید، یک نسخه آزمایشی داخلی یا بسته از برنامه خود ایجاد کنید. بهطور پیشفرض، آزمایشکنندگان نسخه داخلی و بستهشده شما میتوانند به «اقدامات برنامه» که قبلاً بررسی و تأیید شدهاند دسترسی داشته باشند.
برای اعطای دسترسی آزمایشی به همه «کنشهای برنامه»، از جمله اقدامات تأییدنشده، به آزمایشکنندگان خود دستور دهید تا به «برنامه توسعه اقدامات برنامه Google Group» بپیوندند. اعضای این گروه بدون نیاز به ایجاد پیشنمایش با استفاده از ابزار تست اقدامات برنامه، به همه برنامهها در نسخههای آزمایشی بسته و داخلی دسترسی دارند. ممکن است پس از پیوستن به گروه تا سه ساعت طول بکشد تا دسترسی در دسترس قرار گیرد.
درخواست بررسی و استقرار App Actions
App Actions برای کاربران برنامههای منتشر شده شما یا نسخههای آزمایشی باز تا زمانی که بررسی و تأیید نشوند در دسترس نیستند. بررسی App Actions تأثیری بر بررسی برنامه Android و وضعیت استقرار شما در Google Play ندارد. حتی اگر برنامه ارسالی شما تأیید شده و در فروشگاه Play منتشر شود، shortcuts.xml
شما ممکن است توسط Google بررسی شود. اقدامات برنامه برای کاربران نهایی شما کار نمی کند تا زمانی که آن بازبینی نیز تأیید شود.
وقتی برنامه خود را اجرا می کنید، App Actions فعال می ماند. با این حال، نسخههای مجدداً در معرض بازبینی Google هستند. اگر نسخه جدید به درستی کار نمی کند یا حاوی نقض خط مشی است، Google این حق را برای خود محفوظ می دارد که App Actions را برای برنامه شما غیرفعال کند.
برای ارسال App Actions برای بررسی، موارد زیر را انجام دهید:
شرایط خدمات App Actions را در کنسول Google Play بپذیرید ( تنظیمات پیشرفته > اقدامات برنامه ):
برنامه خود را که حاوی
shortcuts.xml
است، به طور معمول برای انتشار در کنسول Google Play آپلود کنید.پس از آپلود برنامه خود در Play Console، Google از طریق ایمیل موجود در حساب Play Console شما با شما تماس می گیرد و اطلاعات بیشتری در مورد وضعیت بازبینی App Actions شما ارائه می دهد. همچنین میتوانید برای سؤالاتی در مورد وضعیت بررسی «اقدامات برنامه» با پشتیبانی «دستیار توسعهدهنده» تماس بگیرید . در فرم تماس، شناسه بسته برنامه خود را ارائه کنید و در قسمت چگونه می توانیم به شما کمک کنیم، بررسی App Action را انتخاب کنید؟ جعبه انتخاب
اختیاری: پیوندهای عمیق فعالیت خود را آزمایش کنید
برای استفاده از پیوند عمیق برای راهاندازی یک Activity
با استفاده از اکشن برنامه، Activity
باید با نشانیهای اینترنتی پیوند عمیق راهاندازی شود و یک فیلتر هدف مربوطه در مانیفست برنامه Android داشته باشد.
برای آزمایش اینکه فعالیتهای شما در دسترس هستند و میتوانند با استفاده از App Actions با استفاده از پیوندهای عمیق فعال شوند، دستور adb
زیر را اجرا کنید:
$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"
به عنوان مثال:
$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"
اگر فعالیت شما با دستور adb
به درستی اجرا نمی شود، موارد زیر را بررسی کنید:
- در فایل مانیفست برنامه شما، اکتیویتی دارای
android:exported=true
، بنابراین میتوان آن را با استفاده از intentهای دستیار Google راهاندازی کرد. - اگر از نشانیهای وب پیوندهای برنامه استفاده میکنید، تمام مراحل مربوط به مدیریت پیوندهای برنامه Android را دنبال کنید.
خطمشیهای اقدامات برنامه
App Actions باید با خطمشیهای خاصی مطابقت داشته باشد تا اطمینان حاصل شود کاربرانی که آنها را فعال میکنند تجربه مورد نظر را دریافت میکنند. این خطمشیها را قبل از ارسال برنامههایتان مرور کنید تا بهترین تجربه کاربری را ارائه دهید و از تأخیر یا رد بررسی فروشگاه Play جلوگیری کنید.
کاربران را به سمت محتوای مورد نظر کاربر هدایت کنید
مقاصد و/یا پارامترهای داخلی Action Action فقط باید کاربران را به کنش مربوطه و مورد نظر کاربر هدایت کند. این میتواند شامل محتوای درونبرنامه، محتوای وبسایت یا اطلاعاتی باشد که در برشها یا ویجتها نشان داده میشود تا زمانی که تجربه مورد نظر کاربر باشد.
به عنوان مثال، اجرای
ORDER_MENU_ITEM
BII به کاربران کمک میکند تا سفارشی را برای آیتم منو یا نوع غذای مشخص شده آغاز کنند. تنها استثنای این خطمشی زمانی است کهOPEN_APP_FEATURE
BII کاربران را به صفحه اصلی برنامه هدایت میکند.کاربران را به محتوای وب مرتبط هدایت کنید
اگر کاربران به محتوای یک صفحه وب هدایت شوند، وب سایت باید با اقدام مورد نظر کاربر مرتبط باشد و متعلق به برند باشد.
به عنوان مثال، هدایت مجدد کاربرانی که
GET_RESERVATION
BII شما را راهاندازی میکنند بهgoogle.com/travel
، که به نام تجاری برنامه شما بهexampledomain.com
تعلق ندارد، تخلف است. نمونه دیگری از نقض، هدایت کاربرانی است کهGET_CALL_HISTORY
BII شما را راهاندازی میکنند بهexampledomain.com/payment
و ملزم کردن آنها به خرید.BII های مربوط به App Actions را پیاده سازی کنید
BIIهای پیاده سازی شده باید مستقیماً با محتوا و عملکرد برنامه مرتبط باشند.
برای مثال، اگر برنامه شما در دسته فروشگاه Play Communications است،
ORDER_MENU_ITEM
BII را که برای برنامههای دسته غذا و نوشیدنی توصیه میشود، اجرا نکنید.اهداف سفارشی مرتبط را پیاده سازی کنید
جستجوهای تعریف شده برای اهداف سفارشی به محتوا و عملکرد برنامه مربوط می شود. نمونهای از نقض احتمالی این خطمشی ایجاد intent
custom.action.intent.GET_RECIPE
با الگوی جستجوی مرتبط «Show me burrito recipes» برای برنامهای در دسته Transportation Play Store است.