การเริ่มต้นสตรีมแบบสดบน YouTube บนอุปกรณ์ Android

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

ตัวอย่าง

ขั้นตอนต่อไปนี้แสดงประสบการณ์ของผู้ใช้สำหรับแอปที่ทำ Deep Link ไปยังแอปพลิเคชัน YouTube ซึ่งผู้ใช้จะไปที่หน้าจอการตั้งค่าไลฟ์สดบนอุปกรณ์เคลื่อนที่

  1. ขั้นแรก ผู้ใช้จะกำหนดค่าไลฟ์สด โดยตั้งชื่อ โหมดความเป็นส่วนตัว และตัวเลือกอื่นๆ ของไลฟ์สด
  2. จากนั้นผู้ใช้จะไปยังหน้าจอรูปภาพขนาดย่อเพื่อตั้งค่าภาพขนาดย่อสำหรับไลฟ์สด
  3. สุดท้าย ผู้ใช้จะเริ่มไลฟ์สดและออกอากาศมุมมองจากกล้องหน้าหรือกล้องหลัง

หน้าจอการตั้งค่าไลฟ์สดบนมือถือ หน้าจอรูปภาพขนาดย่อ หน้าจอการออกอากาศไลฟ์สดบนมือถือ

ข้อกำหนดของอุปกรณ์

อุปกรณ์ 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 สำหรับมือถือด้วย

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 Intent

  • validateMobileLiveIntent จะเรียกใช้เมธอด 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);
}