התכונה 'פעולות באפליקציה' מאפשרת למשתמשים לדבר אל Google Assistant ולעבור ישירות אל ליעדים של האפליקציה כשאומרים משהו כמו "Ok Google, order me a ride on אפליקציה לדוגמה" עם הפעלה של אפליקציה בחזית אפשר לשפר עוד יותר את כשמשתמש כבר פתח את האפליקציה.
הפעלה של אפליקציה בחזית מאפשרת להתאים בין כוונות מובנות (BII) בלי דרישה לציין את שם האפליקציה בזמן שפעילות ספציפית חזית המכשיר.
לדוגמה, משתמש התקין את האפליקציה לשיתוף נסיעה בחזית והוא אומר או מקליד, "Order me aride to Mountain View" (אני רוצה להזמין נסיעה למאונטיין ויו) אל Google Assistant. האפליקציה שלך משתמשת בנתון הזה להזנת קלט להגדרת שדה היעד למאונטיין ויו. לאחר מכן, כשהמשתמש אומר למשל, "Order me a ride from SFO" (הזמנת הנסיעה מ-SFO),האפליקציה יכולה להגדיר את האיסוף. תוך שמירה על מצב האפליקציה.
מגבלות
הפעלה של אפליקציה בחזית זמינה רק לממשקי ה-BII הבאים:
actions.intent.CREATE_MONEY_TRANSFER
actions.intent.CREATE_TAXI_RESERVATION
actions.intent.OPEN_APP_FEATURE
actions.intent.ORDER_MENU_ITEM
actions.intent.PAUSE_EXERCISE
actions.intent.RECORD_EXERCISE
actions.intent.RECORD_FOOD_OBSERVATION
actions.intent.RESUME_EXERCISE
actions.intent.START_EXERCISE
actions.intent.STOP_EXERCISE
כדי לקבל תמיכה באזור ושאילתות לדוגמה שקשורות להפעלת אפליקציה בחזית מידע ספציפי על BII זמין בחומר העזר המובנה של Intent.
תמיכה בהפעלת אפליקציה בחזית
הוספת תמיכה בהפעלת אפליקציה בחזית כרוכה בהוספת מילוי הזמנות על סמך הפעילות הרצויה בחזית. כשפעילות זו בחזית והפעולה באפליקציה מופעלת, Assistant מעבירה את הכוונה של קישור העומק עם סימון נוסף לפעילות הזו, כדי שהאפליקציה תוכל לעדכן את המצב שלה.
כדי להטמיע הפעלה של אפליקציה בחזית ל-BII:
- בקובץ
shortcuts.xml
, מוסיפים את התג<intent>
ל-BII<capability>
שרוצים שתהיה תמיכה בהפעלה של אפליקציה בחזית. - בתוך התג
<intent>
, מוסיפים את התג<extra>
. - בתג
<extra>
, מגדירים אתandroid:key
כ-"requiredForegroundActivity"
, ומגדירים אתandroid:value
לפעילות שרוצים שתתרחש בחזית. ציון הפעילות ללא מחלקה הם מקלידים את השם של חבילת האפליקציה, ואחריו קו נטוי (/) ולאחר מכן שם הפעילות:APP_PACKAGE_NAME/ACTIVITY_NAME
- בפעילות בחזית שציינת עבור
"requiredForegroundActivity"
. להטמיע את השיטהonNewIntent()
כדי לטפל ב-Intent של קישור עומק עם הדגלSINGLE_TOP
מוגדר. Assistant מעבירה את Intent של קישור עומק עם סימון זה כמילוי כאשר הפעילות שצוינה מתבצעת בחזית. - להתייחס לשיחות אל
onNewIntent()
כעדכונים לפעילות בחזית, וגם לנהל את המצב בפעילות הזו באמצעות פרמטרים שנשלפו מקישור העומק.
אם האפליקציה שלך משתמשת בפעילות בנתב כדי לאפשר לכל קישורי העומק החיצוניים להפעיל פעילות של נתב שומר סף אחד, טיפול בפעילויות של נתב
דוגמה
קטע הקוד הבא מקובץ shortcuts.xml
לדוגמה מראה איך להוסיף את
מאפיין requiredForegroundActivity
:
<capability name="actions.intent.CREATE_TAXI_RESERVATION"> <!-- Trigger with foreground app invocation if MainActivity is in the foreground. --> <intent android:targetClass="com.example.app.MainActivity" android:targetPackage="com.example.app"> <parameter android:name="taxiReservation.dropoffLocation.name" android:key="dropoff" /> <extra android:key="requiredForegroundActivity" android:value="com.example.app/com.example.app.MainActivity" /> </intent> <!-- This won't trigger if MainActivity is in the foreground. --> <intent android:targetClass="com.example.app.MainActivity" android:targetPackage="com.example.app"> <parameter android:name="taxiReservation.dropoffLocation.name" android:key="dropoff" /> </intent> </capability>
הרשאות המשתמשים
![בהגדרות המכשיר, המשתמשים צריכים להפעיל את האפשרות 'שימוש בטקסט מהמסך'
כדי שההפעלה של האפליקציה בחזית תפעל.](https://developer.android.google.cn/static/guide/app-actions/images/device-setting-assist-screen.png?hl=he)
כדי שההפעלה של האפליקציה בחזית תעבוד אצל המשתמש, המשתמש צריך: הגדרת המכשיר שימוש בטקסט מהמסך מופעלת. המיקום והשם המדויק ההגדרה הזו עשויה להשתנות בהתאם ל-OEM (יצרן הציוד המקורי) או ליצרן המכשיר. לדוגמה, הגדרת המכשיר עשויה להיקרא במקום זאת, שימוש בהקשר למה שמופיע במסך במכשיר.
כדי להגיע להגדרה הזו של Android בטלפון Pixel, קודם צריך לעבור אל הגדרות > אפליקציות התראות > אפליקציות ברירת מחדל > אפליקציית עזרה. לאחר מכן, בקטעים מסייע וקול קלט, מפעילים את האפשרות שימוש בטקסט מהמסך.
בדיקת ההפעלה
כדי לנסות להפעיל את האפליקציה בחזית:
- פועלים לפי ההוראות בקטע הרשאות משתמש כדי להפעיל את הגדרת המכשיר לשימוש בטקסט מהמסך.
- פותחים את האפליקציה בפעילות שציינתם כפעילות הנדרשת בחזית.
- עיתונות צריך ללחוץ לחיצה ארוכה על הלחצן הראשי כדי לפתוח את Assistant כשכבת-על אפליקציה. מספקים שאילתה שתואמת ל-BII שהטמעתם בלי לציין את שם האפליקציה עצמה. כשהאפליקציה מצליחה, היא מתעדכנת בעצמו על סמך השאילתה שלכם תוך שמירה על המצב ובלי להפעיל מחדש הפעילות.
איך מטפלים בפעילויות של הנתב
חלק מהאפליקציות מטפלות בכל קישורי העומק החיצוניים באמצעות נתב שמירת סף אחד פעילות. לאחר מכן הפעילות בנתב מפעילה את הלוגיקה העסקית המתאימה פעילות (לאחר בדיקות לאימותים) ומחזירה את הלוגיקה העסקית. פעילות לחזית.
הפעלת קישור עומק עלולה לגרום להוספת הפעילות של הנתב לחלק העליון של מקבץ המשימות, מעל הפעילות בחזית. לאפליקציות שמשתמשות בנתב פעילות, עליך לוודא שהפעילות בנתב מספקת את הכוונה שנשלחת על ידי Google Assistant למופע הנוכחי של הפעילות בחזית. איך אתם משיגים הדרישה הזו משתנה בהתאם למקום שבו מתחילה הפעילות בנתב.
אם הנתב מתחיל באותה סטאק משימות שבה נמצאת פעילות הלוגיקה העסקית,
להעביר את הכוונה באמצעות תכונת OR ברמת הסיביות של SINGLE_TOP
, CLEAR_TOP
,
וגם NEW_TASK
:
Kotlin
Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
Java
Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK
אם הנתב מתחיל בסטאק משימות נפרד מהלוגיקה העסקית
פעילות, מעבירים את הכוונה עם הדגל SINGLE_TOP
לעסק
אלא על לוגיקה לוגית,