加入意圖

「有意加入」是 Android 發送端的新功能 傳送者應用程式加入「加入」其他應用程式啟動的投放工作階段,或 語音。你將傳送者應用程式設為由 Cast 建立的意圖啟動 將機器學習工作流程自動化

舉例來說,使用語音啟動投放工作階段時,Cast SDK 會建立 可讓使用者控制所有 Android 手機的播放功能 連線至同一網路使用者輕觸通知後,Cast SDK 就會建立 意圖啟動應用程式以加入投放工作階段。

詳情請參閱 CastVideos-Android 範例 瞭解執行 Intent to Join 的實作方式

使用 Android 寄件者

如要啟用這項功能,請在應用程式中執行下列步驟:

確認應用程式目前的 Android Sender SDK 版本高於 11.4.0.在 build.gradle 中:

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

將新的意圖篩選器新增至您要處理意圖的活動。 遠端控制通知 (RCN) 會使用意圖來啟動您的應用程式 然後加入投放工作階段 建議您利用 SessionManagerListener敬上 代管服務 onSessionStarted()。 或 onSessionStartFailed() 。 請確認整個 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"/>

在定義新意圖篩選器的活動中,呼叫 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 開發人員控制台設定

如要使用 Intent to Join 功能,必須讓應用程式 URI 和套件名稱 已新增至 Google Cast 開發人員控制台

您的接收器也必須列出並發布,「意圖加入」功能才能運作 正確做法。

如要列出應用程式,請將清單選項切換為「是」並提供標題 一張圖片,以及大小為 512x512 的圖片

設定完成後,您可以透過「遠端控制通知」測試實作結果 (RCN):

  1. 在 Android 手機上安裝 Google Home 應用程式,然後連上 電話。
  2. 支援 Cast 的裝置會在相同的網路中設定 Google Home 裝置。
  3. 使用 Command and Control (CaC) 工具, 其他 Android 或 iOS 裝置,或是透過語音確認網路接收器 應用程式就會啟動
  4. 稍待幾秒鐘,手機才會收到 RCN,然後輕觸通知即可 觸發意圖意圖應向符合下列條件的應用程式廣播意圖: 使用必要資料註冊意圖,以加入工作階段。

SessionManagerListener.onSessionStarted(T, String)敬上 就會觸發並加入工作階段

驗證

如果您的應用程式成功加入工作階段, SessionManagerListener.onSessionStarted(T, String)敬上 方法。否則 SessionManagerListener.onSessionStartFailed(T, int)敬上 方法。假設應用程式已能妥善處理這些事件 (針對 例如啟動展開控制器或迷你控制器 採取進一步行動