ویدئوی زنده

اطلاعات چندرسانه‌ای، مانند ویدیوی زنده، می‌تواند در مواقع بحرانی برای تماس‌گیرندگان اورژانس مفید باشد. برای مثال:

  • حوادث رانندگی: یک ویدیوی زنده از صحنه می‌تواند به آنها در درک وسایل نقلیه درگیر کمک کند.
  • آتش‌سوزی‌ها: برای درک میزان آتش‌سوزی و خسارت.
  • فوریت‌های پزشکی: راهنمایی کاربران در انجام احیای قلبی ریوی (CPR) برای نجات جان انسان‌ها

اکنون ELS می‌تواند پیامکی که توسط تماس‌گیرنده ارسال می‌شود و درخواست ویدیوی زنده از کاربر را دارد، رهگیری کرده و یک تجربه ویدیویی یکپارچه ارائه دهد. از آنجایی که این قابلیت مخصوص مواقع اضطراری است، این مزیت را دارد که مجوز دوربین باید در طول مدت زمان اضطراری صادر شود.

اهداف اصلی ما با این ویژگی، ارائه موارد زیر به کاربران است:

  • تجربه ویدیوی زنده بدون اصطکاک و بدون مجوزهای پیچیده
  • تجربه‌ای پایدار برای همه کاربران اندروید

چگونه کار می‌کند؟

جریان ویدیوی زنده ELS، نشان می‌دهد که چگونه یک تماس اضطراری یا پیامک از یک کاربر اندروید، ELS را فعال می‌کند که شامل یک توکن ویدیوی زنده جدید است. هنگامی که نرم‌افزار تماس‌گیرنده این توکن را شناسایی می‌کند و آن را از طریق یک پیامک حاوی لینکی به یک پخش زنده ویدیویی WebRTC به کاربر اندروید ارسال می‌کند، ELS می‌تواند یک تجربه ویدیویی یکپارچه ارائه دهد.

راهنمای ادغام

۱. دریافت

پس از به‌روزرسانی پیکربندی ELS خود برای فعال کردن ویدیوی زنده، در صورتی که تلفن کاربر از این ویژگی پشتیبانی کند، فیلد live_video_token را در پیام‌های HTTPS ELS دریافت خواهید کرد. این ویژگی از دستگاه‌های اندروید ۸ اوریو به بعد پشتیبانی می‌کند.

این توکن یک شناسه تولید شده توسط دستگاه است که با هر تماس یا پیامک تغییر می‌کند و شامل موارد زیر است:

  • ۶ کاراکتر تصادفی
  • الفبایی-عددی
  • حروف بزرگ

۲. دعوت

وقتی توکن را شناسایی کردید، آن را در URL، مانند یک پارامتر URL، در پیامک حاوی لینک به پخش زنده ویدیوی خود ارسال کنید، برای مثال: https://example.com/live?token=AFZ791 . ELS پیامک‌های دریافتی را در طول تماس‌ها یا پیامک‌های اضطراری شناسایی کرده و به دنبال توکن ویدیوی زنده مطابق با آن می‌گردد، در این مورد: AFZ791 .

وقتی دستگاه یک URL معتبر و توکن را تشخیص دهد، به کاربر پنجره‌ای نمایش داده می‌شود که از او می‌پرسد آیا مایل به پذیرش درخواست است یا خیر. اگر روی Accept کلیک کند، لینک ارسال شده در پیامک درخواست شما در یک تجربه وب‌ویو یکپارچه باز می‌شود.

۳. تجربه ویدیوی زنده

لینک ویدیوی زنده شما باید از دو تجربه پشتیبانی کند:

الف. تجربه مبتنی بر مرورگر وب:

این ممکن است شامل رابط کاربری سفارشی شما باشد، برای مثال:

  • دکمه‌ها
  • درخواست‌های موقعیت مکانی
  • گفتگوها و رضایت‌نامه‌ها

ب. تجربه یکپارچه:

برای این کار باید:

  • تمام دکمه‌ها را حذف کنید زیرا رویدادهای لمسی کار نخواهند کرد
  • مستقیماً و بدون هیچ دیالوگی وارد جریان ویدیو شوید

تشخیص

شما می‌توانید با مشاهده‌ی عامل کاربری حاوی Live حالت یکپارچه را تشخیص دهید.

مثالی از عامل کاربری در تجربه مرورگر موبایل: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36

مثالی از عامل کاربری در تجربه وب یکپارچه: Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.000 Mobile Safari/537.36 Live/25.23.10

در جاوا اسکریپت این کار را می‌توان با موارد زیر انجام داد:

if (navigator.userAgent.includes("Live")) {
    <!-- Render integrated experience -->
} else {
    <!-- Render your your own custom UI -->
}

مجوزها

  • برای ویدیوی زنده‌ی یکپارچه، باید مجوز دوربین صادر شود، شما باید طبق معمول از طریق جاوا اسکریپت این مجوزها را درخواست کنید.
  • مجوزهای مکان، صدا و سایر موارد به طور خودکار رد می‌شوند.

قلاب‌ها

برای ارائه بهترین تجربه کاربری، در تجربه یکپارچه، عناصر رابط کاربری برای چرخاندن دوربین و روشن و خاموش کردن چراغ قوه فراهم خواهد شد.

نام تابع بازگشت توضیحات
دوربین switchCamera Promise<bool> در حالت بارگذاری، با دوربین رو به عقب (حالت رو به جلو = محیط) شروع کنید، زیرا در مواقع اضطراری بیشترین کاربرد را دارد. هر بار که تابع فراخوانی می‌شود، بین دوربین‌های موجود جابجا شوید. در صورت موفقیت‌آمیز بودن جابجایی دوربین، true برگردانید.
چراغ قوه toggleFlashlight Promise<bool> هر بار که تابع فراخوانی می‌شود، چراغ قوه را روشن و خاموش می‌کند. در صورت موفقیت‌آمیز بودن روشن و خاموش شدن چراغ قوه، true را برمی‌گرداند.
چراغ قوه isFlashlightAvailable bool بسته به در دسترس بودن چراغ قوه برای حالت فعلی دوربین، مقدار true یا false را برمی‌گرداند. پس از فراخوانی switchCamera، فرض می‌شود مقدار بازگشتی، به محض اینکه Promise مربوط به switchCamera برقرار شود، نشان‌دهنده‌ی وضعیت به‌روز شده‌ی در دسترس بودن است.
چراغ قوه isFlashlightOn bool وقتی چراغ قوه روشن است true و در غیر این صورت false را برمی‌گرداند. پس از فراخوانی toggleFlashlight، فرض می‌شود مقدار برگشتی، به محض اینکه Promise مربوط به toggleFlashlight برقرار شود، نشان‌دهنده‌ی به‌روزرسانی چراغ قوه در حالت مورد نظر است.