כוונת הצטרפות

"כוונת הצטרפות" היא תכונה חדשה של שולח Android שמאפשרת אפליקציית שולח כדי "להצטרף" סשן של הפעלת Cast שהתחיל אפליקציות אחרות, קול. הגדרת את אפליקציית השולח כך שתושק באמצעות כוונת רכישה שנוצרה על ידי העברה (cast) SDK.

לדוגמה, בעת שימוש בקול כדי להתחיל הפעלת Cast, ערכת ה-SDK של Cast יוצרת התראה שמאפשרת למשתמש לשלוט בהפעלה בכל הטלפונים עם Android באותה רשת. כשמקישים על ההתראה, Cast SDK יוצר את כוונה להפעיל את האפליקציה כדי להצטרף לסשן Cast.

לצפייה דוגמה ל-Cast videos-Android ליישום בפועל של 'כוונת הצטרפות'.

שימוש בשולח Android

כדי להפעיל את התכונה הזו, צריך לבצע את השלבים הבאים באפליקציה:

צריך לוודא שבאפליקציה שלך כבר מותקנת גרסת Android Sender SDK ישנה יותר מ- 11.4.0. באמצעות build.gradle:

dependencies {
    api 'com.google.android.gms:play-services-cast-framework:11.4.0'
}

צריך להוסיף מסנן Intent חדש לפעילות שבה רוצים לטפל ב-Intent. אפליקציית Intent תשמש את ההתראות של השלט הרחוק (RCN) כדי להפעיל את האפליקציה ומצטרפים לשידור של Cast. מומלץ להשתמש בפעילות שבה SessionManagerListener מתארח, וגם onSessionStarted() או onSessionStartFailed() תתבצע שיחה. חשוב לוודא שמסנן ה-Intent החדש הוא ייחודי בכל מערכת Android. רביעי מומלץ להשתמש בתג <data> כדי לעשות זאת:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="your_app_scheme" android:host="your_app_host"
        android:path="your_app_path"/>
</intent-filter>

דוגמאות לתג <data>:

<data android:scheme="https" android:host="example.com"
      android:path="/cast/join"/>

בפעילות שבה מגדירים את המסנן החדש של Intent, מפעילים את הפונקציה SessionManager.startSession(Intent) ב-onResume():

Kotlin
override fun onResume() {
    ...
    val intent = intent
    // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>"
    val intentToJoinUri = Uri.parse("https://example.com/cast/join")
    if (intent.data != null && intent.data == intentToJoinUri) {
        mCastContext.sessionManager.startSession(intent)
    }
    ...
}
Java
@Override
protected void onResume() {
    ...
    Intent intent = getIntent();
    // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>"
    Uri intentToJoinUri = Uri.parse("https://example.com/cast/join");
    if (intent.getData() != null && intent.getData().equals(intentToJoinUri)) {
        mCastContext.getSessionManager().startSession(intent);
    }
    ...
}

הגדרת מסוף המפתחים של Google Cast

כדי להשתמש בתכונה 'כוונת הצטרפות', ה-URI של האפליקציה ושם החבילה חייבים להיות נוסף ב מסוף למפתחים של Google Cast.

בנוסף, המקבל צריך להיות רשום ולפרסם את התוכן כדי שהתכונה 'Intent להצטרף' תפעל כראוי.

כדי להציג את האפליקציה, צריך להחליף את מצב ההצגה בדף האפליקציה ל'כן' ונותנים כותרת, וגרפיקה בגודל 512x512 עבור האפליקציה.

לאחר ההגדרה, אפשר לבדוק את ההטמעה באמצעות התראות של השלט הרחוק (RCN) כפי שמפורט בהמשך:

  1. מתקינים את אפליקציית Google Home בטלפון Android ומתחברים לרשת Wi-Fi בטלפון.
  2. במכשיר שתומך ב-Cast מוגדר מכשיר Google Home לאותה רשת.
  3. התחלת סשן Cast עם מכשיר Google Home באמצעות כלי Command and Control (CaC), מכשיר Android או iOS אחר, או באמצעות הקול ולבדוק אם מכשיר האינטרנט האפליקציה מופעלת.
  4. מחכים כמה שניות לקבלת RCN בטלפון, ומקישים על ההתראה יפעילו את הכוונה. צריך לשדר את הכוונה לכל אפליקציה רושם את הכוונה עם הנתונים הנדרשים כדי להצטרף לסשן.

SessionManagerListener.onSessionStarted(T, String) תופעל ויצטרף לסשן.

אימות

אם האפליקציה תצטרף לסשן: SessionManagerListener.onSessionStarted(T, String) נקראת. אחרת, SessionManagerListener.onSessionStartFailed(T, int) נקראת. בהנחה שהאפליקציה כבר מטפלת באירועים האלה בצורה תקינה (במקרה לדוגמה, הפעלה של בקר מורחב או מיני-בקר), אינך צריך לעשות כל דבר נוסף.