Deep Link ของ YouTube สำหรับมือถือ Mobile Live ช่วยให้แอปพลิเคชัน Android เริ่มไลฟ์สดบน YouTube ได้โดยตรงจากอุปกรณ์เคลื่อนที่ แอปเพียงแค่ต้องระบุจุดแรกเข้า เช่น ปุ่มที่ผู้ใช้คลิกได้ ซึ่งจะเริ่มขั้นตอน Mobile Live โดยใช้กลไก Android Intent
ตัวอย่าง
ขั้นตอนต่อไปนี้แสดงประสบการณ์ของผู้ใช้สำหรับแอปที่ทำ Deep Link ไปยังแอปพลิเคชัน YouTube ซึ่งผู้ใช้จะไปที่หน้าจอการตั้งค่าไลฟ์สดบนอุปกรณ์เคลื่อนที่
- ขั้นแรก ผู้ใช้จะกำหนดค่าไลฟ์สด โดยตั้งชื่อ โหมดความเป็นส่วนตัว และตัวเลือกอื่นๆ ของไลฟ์สด
- จากนั้นผู้ใช้จะไปยังหน้าจอรูปภาพขนาดย่อเพื่อตั้งค่าภาพขนาดย่อสำหรับไลฟ์สด
- สุดท้าย ผู้ใช้จะเริ่มไลฟ์สดและออกอากาศมุมมองจากกล้องหน้าหรือกล้องหลัง

ข้อกำหนดของอุปกรณ์
อุปกรณ์ Android ต้องเป็นไปตามข้อกำหนดต่อไปนี้จึงจะรองรับไลฟ์สดบน YouTube และ Deep Link ของไลฟ์สดบนอุปกรณ์เคลื่อนที่ได้อย่างถูกต้อง
- รุ่น Android: Marshmallow (API 23) ขึ้นไป
- กล้อง: กล้องอย่างน้อย 1 ตัวที่สามารถบันทึกภาพความละเอียด 720p ที่ความถี่อย่างน้อย 30Hz
- ไมโครโฟน: ไมโครโฟนในตัว
- โปรแกรมเปลี่ยนไฟล์เสียง: โปรแกรมเปลี่ยนไฟล์เสียงที่ใช้การเร่งฮาร์ดแวร์ซึ่งสามารถเข้ารหัสเสียงโมโน PCM แบบ 8 บิตเป็น AAC ที่ 44.1KHz หรือสูงกว่า
- โปรแกรมเปลี่ยนไฟล์วิดีโอ: โปรแกรมเปลี่ยนไฟล์วิดีโอที่มีการเร่งฮาร์ดแวร์ซึ่งสามารถเข้ารหัสวิดีโอข้อมูลดิบ 720P เป็น H.264/AVC ที่ 30Hz ขึ้นไป
- แอป YouTube ที่ติดตั้ง: เวอร์ชัน 13.02 ขึ้นไป
ข้อกำหนด Mobile Live Intent
หากต้องการลิงก์ไปยังขั้นตอนการไลฟ์สดบน YouTube สำหรับมือถือ แอป Android ของคุณจะเปิด Intent Intent จะเริ่มกระบวนการไลฟ์สดโดยเริ่มกิจกรรมในแอปพลิเคชัน YouTube
รูปแบบ Intent
Mobile Live Intent ใช้สตริง Action ที่กำหนดเองเพื่อไปยังกิจกรรมการสร้างไลฟ์สดภายในแอป YouTube และยังระบุชื่อแพ็กเกจสำหรับแอป YouTube สำหรับมือถือด้วย
- การดำเนินการ:
"
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" - แพ็กเกจ:
"
com.google.android.youtube"
Intent extras
ขั้นตอนการตั้งค่าแอปพลิเคชัน YouTube จะจัดการการกำหนดค่าสตรีม Intent extras ต่อไปนี้จะตั้งค่าพารามิเตอร์ที่เชื่อมโยงกับไลฟ์สด
| พารามิเตอร์ | |
|---|---|
| Intent.EXTRA_REFERRER | ต้องระบุ พารามิเตอร์นี้ระบุ URI ที่แสดงถึงแอปพลิเคชันที่เปิดกิจกรรมการไลฟ์สด ค่านี้ต้องเป็นไปตามรูปแบบ android-app: scheme ที่มีชื่อแพ็กเกจ ค่านี้ช่วยให้การระบุแหล่งที่มาและการบัญชีมีความถูกต้อง |
| Intent.EXTRA_SUBJECT | ไม่บังคับ พารามิเตอร์นี้จะแสดงคำอธิบายแบบข้อความของไลฟ์สด โดยจะอยู่ในแพ็กเกจ Intent extras เป็น String คุณสามารถใช้ค่านี้เพื่อใส่คำอธิบายประกอบสตรีมด้วยข้อความจากแบรนด์ เช่น "ไลฟ์สดจากอุปกรณ์" |
การเปิดตัวขั้นตอนการไลฟ์สด
ทำตาม 2 ขั้นตอนต่อไปนี้เพื่อยืนยันความเข้ากันได้ของอุปกรณ์และเริ่มกิจกรรมแบบเรียลไทม์บนอุปกรณ์เคลื่อนที่จากแอป Android
ขั้นตอนที่ 1: ตรวจสอบการรองรับ
ลูกค้าควรยืนยันก่อนว่าสามารถเปิด Mobile Live Intent ได้โดยตรวจสอบว่ามีการติดตั้งแอป YouTube บนอุปกรณ์และเวอร์ชันของแอป YouTube รองรับการไลฟ์สด ตัวอย่างโค้ดต่อไปนี้กำหนด 2 วิธีในการดำเนินการดังกล่าว
เมธอด
canResolveMobileLiveIntentจะยืนยันว่าอุปกรณ์รองรับ Mobile Live IntentvalidateMobileLiveIntentจะเรียกใช้เมธอดcanResolveMobileLiveIntentในบริบทของคำสั่งif-else- หากอุปกรณ์รองรับ Intent อุปกรณ์จะเปิดใช้งานขั้นตอนไลฟ์สดได้
- หากอุปกรณ์ไม่รองรับ Intent อุปกรณ์อาจแจ้งให้ผู้ใช้ติดตั้งหรืออัปเกรดแอป 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);
}