במסמך הזה נסביר איך מפתחי אפליקציות של צד ג' יכולים להוסיף קישורי עומק לאפליקציות מדיה ב-AAOS. קישורי עומק למדיה מאפשרים לכם לפתוח אפליקציות מדיה ב-AAOS באמצעות קישורי עומק, בדיוק כמו במכשיר נייד.
גרסאות נתמכות
כדי לקבל את הגרסה העדכנית הנתמכת, אפשר לעיין בארטיפקטים של Build העדכניים.
CarMediaApp.apkTestMediaApp.apk
איך זה עובד
כשפותחים קישור עומק ב-AAOS, הוא פותח את אפליקציית המדיה שמטפלת בסכימה הספציפית. אפליקציית המדיה מפענחת את כתובת ה-URL, יוצרת כוונת מדיה עם המידע בקישור הזה ואז משתמשת בכוונת הזו כדי לפתוח את מסך המדיה.
ההטמעה לתמיכה בכוונות חדשות ובתוספים חדשים:
הכלי מספק למפתחי צד שלישי פורמט מעודכן של הכוונות שאפשר לטפל בהן באמצעות Media, כדי שהם יוכלו לשלוח את המידע הדרוש באמצעות הכוונה אל Media.
מטפל בכוונות מאפליקציות של צד שלישי שמכילות פריט מדיה ספציפי או שאילתת חיפוש, ואז פותח דף עם המידע המבוקש ב'מדיה'.
מפתחים של אפליקציות צד ג' אחראים לעדכן את האפליקציה שלהם כך שאפשר יהיה להפעיל אותה באמצעות כוונות של URI באינטרנט ולשלוח את המידע הדרוש למדיה באמצעות כוונה.
הדרישות לגבי אפליקציות של צד שלישי
הדוגמה שמופיעה כאן היא של אפליקציית TmaTrampolineActivity.TestMediaApp
שלב 1
למפתחים צריכה להיות פעילות שדומה ל-TmaTrampolineActivity ב-TestMediaApp. כדי להשתמש בקישור עומק, צריך להגדיר מסנן Intent בפעילות הזו במניפסט. מסנן ה-Intent הזה צריך לכלול את כל כתובות ה-URL שיש לטפל בהן, כמו שמתואר במאמר הוספת מסנני Intent לקישורים נכנסים.
מומלץ להוסיף למסנן הכוונות את הסכימות והמארחים שבהם משתמשת האפליקציה לטלפון, כדי לוודא שקישורי העומק פועלים בכל הפלטפורמות.
<activity android:name=".automotive.TmaTrampolineActivity"
android:exported="true">
<intent-filter android:label="TmaTrampolineActivity_label">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="app"
android:host="com.android.car.media.testmediaapp"/>
</intent-filter>
</activity>
שלב 2
בפעילות הזו, אפליקציית המדיה מאחזרת את המידע מהקישור ויוצרת כוונה למדיה.
המדיה תומכת בשתי פונקציות. הפונקציה הראשונה היא לפתוח פריט מדיה עם פריט מדיה ספציפי, והשנייה היא להציג את התוצאות של שאילתת חיפוש. מזהה פריט המדיה או מחרוזת השאילתה לחיפוש צריכים להיכלל בנתונים הנוספים של הכוונה.
מידע על הכוונה
כדי להשתמש בתכונה הזו, המפתחים צריכים להתקין את הגרסה העדכנית ביותר של Media כדי לתמוך בפעולת Intent, ACTION_MEDIA_TEMPLATE_V2. ה-action של ה-Intent, והתוספים הבאים של ה-Intent, כלולים במחלקה MediaIntentExtras.java. אפשר להוסיף את התוספים האלה לכוונה.
| שם נוסף | ערך | תיאור |
|---|---|---|
| EXTRA_KEY_MEDIA_COMPONENT | מחרוזת עבור componentName | המפתח שמשמש כשדה מחרוזת נוסף עם ACTION_MEDIA_TEMPLATE_V2 כדי לציין את MediaBrowserService שבו המשתמש רוצה להתחיל את המדיה. אם לא מציינים מקור, המקור הפעיל של המדיה ייפתח. |
| EXTRA_KEY_MEDIA_ID | מזהה מדיה | מפתח שמשמש כשדה מחרוזת נוסף עם ACTION_MEDIA_TEMPLATE_V2 מציין את פריט המדיה שיוצג בתצוגה Browse. המזהה צריך להיות זהה למזהים שמשמשים ב-MediaBrowserServiceCompat API. |
| EXTRA_KEY_SEARCH_QUERY | שאילתת חיפוש | המפתח שמשמש כשדה מחרוזת נוסף עם ACTION_MEDIA_TEMPLATE_V2 כדי לציין את שאילתת החיפוש לשליחה ל-MediaBrowserService הנוכחי או לזה שצוין עם EXTRA_KEY_MEDIA_COMPONENT |
| EXTRA_KEY_SEARCH_ACTION | מספר שלם:
|
מפתח שמשמש כשדה int extra עם ACTION_MEDIA_TEMPLATE_V2
כדי לציין את הפעולה שהמדיה תבצע אחרי שהשאילתה לחיפוש תיטען.
הערך הוא אחד מהערכים EXTRA_VALUE_NO_SEARCH_ACTION או EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. התוספת הזו מיועדת לשימוש עם EXTRA_KEY_SEARCH_QUERY בלבד. אם לא מציינים את התוסף הזה, לא מתבצעת פעולה נוספת אחרי טעינת תוצאות החיפוש. |
מקרים מיוחדים
אם כמה תוספים מתווספים יחד ל-Intent, למשל אם גם EXTRA_KEY_MEDIA_ID וגם EXTRA_KEY_SEARCH_QUERY כלולים ב-Intent הזה, ההטמעה הנוכחית מטפלת קודם במזהה המדיה, ורק אם מזהה המדיה ריק, המדיה מריצה את שאילתת החיפוש.
בדיקה
אחרי שמסיימים את השילוב של אפליקציית המדיה של צד שלישי, משתמשים בפקודה adb כדי לשלוח קישור עומק. המדיה תיפתח עם המידע הרצוי. לדוגמה, הפקודה הזו עבור TestMediaApp:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"