YouTube 行動版直播深層連結可讓 Android 應用程式直接從行動裝置發起 YouTube 直播。應用程式只需要提供進入點 (例如使用者可點選的按鈕),即可使用 Android Intent 機制啟動 Mobile Live 流程。
範例
這個流程顯示應用程式的使用者體驗,該應用程式會深層連結至 YouTube 應用程式,使用者會到達行動直播設定畫面。
- 首先,使用者會設定直播,包括標題、隱私模式和其他直播選項。
- 接著,使用者前往「Thumbnail Photo」畫面,設定直播的縮圖。
- 最後,使用者開始直播,並透過前置或後置鏡頭播送畫面。

裝置需求
Android 裝置必須符合下列規定,才能正確支援 YouTube 直播和行動裝置直播深層連結:
- Android 版本:Marshmallow (API 23) 以上版本
- 相機:至少一部相機,能以至少 30Hz 的頻率錄製 720p 影片
- 麥克風:內建麥克風
- 音訊編碼器:硬體加速音訊編碼器,能將 8 位元 PCM 單聲道音訊編碼為 44.1KHz 以上的 AAC
- 影片編碼器:硬體加速影片編碼器,能以 30Hz 以上的頻率將 720P 原始影片編碼為 H.264/AVC
- 已安裝 YouTube 應用程式:13.02 以上版本
行動裝置直播意圖規格
如要連結至 YouTube 行動直播流程,Android 應用程式會啟動意圖。意圖會在 YouTube 應用程式中啟動活動,開始直播程序。
意圖格式
YouTube 行動版直播意圖會使用自訂 Action 字串,前往 YouTube 應用程式中的直播建立 Activity。此外,也會指定 YouTube 行動應用程式的套件名稱。
- Action:
「
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM」 - 套件:
「
com.google.android.youtube」
意圖額外項目
YouTube 應用程式設定流程會處理直播設定。下列意圖額外資訊會設定與直播相關的參數:
| 參數 | |
|---|---|
| Intent.EXTRA_REFERRER | 必填。這個參數會指定 URI,代表啟動直播 Activity 的應用程式。這個值必須採用 android-app: scheme 格式,並包含套件名稱。這個值可確保歸因和會計作業準確無誤。 |
| Intent.EXTRA_SUBJECT | (選用) 這個參數會提供直播的文字說明。這項資訊會以字串形式,放在意圖額外項目套件中。這個值可用於在直播中加入品牌訊息,例如「從裝置直播」。 |
啟動直播流程
請完成下列兩個步驟,驗證裝置相容性,並從 Android 應用程式啟動行動即時活動。
步驟 1:確認是否支援
用戶端應先確認裝置上已安裝 YouTube 應用程式,且 YouTube 應用程式版本支援直播,以確認可以啟動行動直播意圖。下列程式碼範例定義了兩種方法:
canResolveMobileLiveIntent方法會驗證裝置是否支援 Mobile Live 意圖。validateMobileLiveIntent會在if-else陳述式的內容中呼叫canResolveMobileLiveIntent方法。- 如果裝置支援意圖,則裝置可以啟動直播流程。
- 如果裝置不支援意圖,可能會提示使用者安裝或升級 YouTube 應用程式。
private boolean canResolveMobileLiveIntent(Context context) {
Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
.setPackage("com.google.android.youtube");
PackageManager pm = context.getPackageManager();
List<ResolveInfo> resolveInfo =
pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return resolveInfo != null && !resolveInfo.isEmpty();
}
private void validateMobileLiveIntent(Context context) {
if (canResolveMobileLiveIntent(context)) {
// Launch the livestream Activity
} else {
// Prompt user to install or upgrade the YouTube app
}
}
如果應用程式指定 Android 11 (API 級別 30) 以上版本,必須在 AndroidManifest.xml 檔案中宣告套件瀏覽權限需求,PackageManager 才能查詢 YouTube 應用程式:
<queries>
<package android:name="com.google.android.youtube" />
<intent>
<action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
</intent>
</queries>
步驟 2:啟動直播活動
如要啟動直播流程,用戶端應用程式會建立並啟動 Intent,如以下程式碼範例所示:
private Intent createMobileLiveIntent(Context context, String description) {
Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
.setPackage("com.google.android.youtube");
Uri referrer = new Uri.Builder()
.scheme("android-app")
.appendPath(context.getPackageName())
.build();
intent.putExtra(Intent.EXTRA_REFERRER, referrer);
if (!TextUtils.isEmpty(description)) {
intent.putExtra(Intent.EXTRA_SUBJECT, description);
}
return intent;
}
private void startMobileLive(Context context) {
Intent mobileLiveIntent = createMobileLiveIntent(context, "Streaming via ...");
startActivity(mobileLiveIntent);
}