הוספת יכולות לקיצורי הדרך

היכולות ב-shortcuts.xml מאפשרות לכם להצהיר על סוגי הפעולות שהמשתמשים יכולים לבצע כדי להפעיל את האפליקציה ולבצע משימה ספציפית באופן ישיר. יכולת מורכבת משם הפעולה ומ-intent שמטרגט את היעד באפליקציה שפותר את כוונת המשתמש (Intent).

הגדרת יכולות בקובץ shortcuts.xml

מגדירים רכיבי capability בקובץ משאבים shortcuts.xml בפרויקט לפיתוח אפליקציה ל-Android. כדי להגדיר רכיב capability:

  1. יוצרים משאב shortcuts.xml לפי ההוראות במאמר יצירת קיצורי דרך סטטיים.
  2. היכולת צריכה לכלול את הפרטים הבאים:

    • שם היכולת: הפעולה שאתם רוצים שהאפליקציה תתמוך בה. כדי לדעת אילו הגדרות יכולת נדרשות לתכונה מסוימת, עיינו במסמכי התיעוד של הרכיב.

    • יעד באפליקציה: היעד באפליקציה שאליו הפעולה מופנית כדי למלא את בקשת המשתמש. מגדירים את היעדים באפליקציה באמצעות רכיבי intent שמוטמעים בתוך capability.

    • מיפוי פרמטרים: כל intent עשוי להכיל פרמטרים שיועברו כנתוני extra של ה-Intent.

בדוגמה הבאה מוצגת הגדרת יכולת ב-shortcuts.xml עבור actions.intent.START_EXERCISE, כוונה מובנית שמאפשרת למשתמשים להשתמש בפקודות קוליות עם Assistant כדי להתחיל אימון באפליקציית כושר:

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
  <capability android:name="actions.intent.START_EXERCISE">
    <intent
      android:action="android.intent.action.VIEW"
      android:targetPackage="com.example.sampleApp"
      android:targetClass="com.example.sampleApp.ExerciseActivity">
      <parameter
        android:name="exercise.name"
        android:key="exerciseType"/>
    </intent>
  </capability>
</shortcuts>

בדוגמה שלמעלה, המאפיין <capability> android:name מתייחס ל-BII‏ START_EXERCISE. אם משתמש מפעיל את ה-BII הזה באמצעות בקשה מ-Assistant, "Ok Google, start a run in ExampleApp", ‏Assistant ממלאת את בקשת המשתמש באמצעות המידע שסופק ברכיב intent המקונן. ה-intent בדוגמה הזו מגדיר את הפרטים הבאים:

  • השדה android:targetPackage מגדיר את חבילת האפליקציה של היעד ל-Intent הזה.
  • השדה android:targetClass מציין את פעילות היעד: com.example.sampleApp.ExerciseActivity.
  • ה-Intent‏ parameter מצהיר על תמיכה בפרמטר BII exercise.name ועל אופן העברת ערך הפרמטר – שנאסף מהמשתמש – כנתונים נוספים ב-intent.

שיוך קיצורי דרך ליכולת

אחרי שמגדירים יכולת, אפשר להרחיב את הפונקציונליות שלה על ידי שיוך של קיצורי דרך סטטיים או דינמיים. האופן שבו קיצורי הדרך מקושרים ל-capability תלוי בתכונה שמוטמעת ובמילים שהמשתמשים כוללים בבקשה. לדוגמה, כשמשתמש מתחיל ריצה באפליקציה למעקב אחרי כושר, הוא יכול לבקש מ-Assistant: "Ok Google, start a run in ExampleApp". Assistant יכול להשתמש בקיצור דרך כדי להפעיל מופע של capability שמגדיר ישות אימון חוקית של "ריצה" לפרמטר exercise.name.