تنظیمات پنل سرویس بلادرنگ

در این بخش شما با فعال‌سازی سرویس بلادرنگ در بکتوری آشنا خواهید شد و کار با تنظیمات مختلف آن را خواهید دید.

پیش‌نیازها

  1. در صورتی که با سرویس بلادرنگ آشنایی ندارید، به معرفی سرویس بلادرنگ مراجعه کنید.

فعال‌سازی سرویس

جهت فعال‌سازی سرویس بلادرنگ در پروژه خود، در صفحه اصلی پروژه مورد نظر، به بخش “بلادرنگ” بروید. در صورتی که تاکنون اقدام به فعال‌سازی نکرده باشید با تصویر زیر مواجه خواهید شد.

Enable realtime

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

Confirm dialog

پس از تایید نهایی سرویس شما فعال می‌شود و آماده استفاده خواهد بود.

در صورتی که استفاده شما از سرویس بلادرنگ در حد چت (دونفره، گروهی، کانال و …) باشد، نیازی به تنظیمات بیشتر وجود ندارد و می‌توانید مستقیما به سراغ SDK و شروع کار در کلاینت بروید. اما در صورتی که قصد ایجاد رقابت و بازی آنلاین دارید، بایستی به مطالعه این مستند ادامه دهید.

رقابت آنلاین در بکتوری

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

  1. شما به دنبال کاری مشابه چت هستید، یعنی کاربران شما ممکن است ساعت‌ها آنلاین باشند و هر از چندی، پیام‌هایی به یکدیگر منتقل کنند. و یا گروه تشکیل می‌دهند، پیام‌های گذشته گروه را می‌بینند و … در مستندات ما، همه این نیازها، به عنوان نیازمندی‌های چت نامیده می‌شود.
  2. شما در حال ساخت بازی آنلاین هستید و مفهوم رقابت آنلاین را پیاده‌سازی می‌کنید. رقابت آنلاین یعنی، تعدادی کاربر در یک بازه زمانی کوتاه (از چند دقیقه تا یکی دو ساعت) وارد یک بازی می‌شوند و در آن به رقابت می‌پردازند. در مستندات ما به یک رقابت چند نفره، Realtime Game (یا به اختصار Game) گفته می‌شود.

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

سرویس Match-Making

توجه: این بخش فقط برای رقابت آنلاین است و برای نیازمندی‌های چت کاربردی ندارد

جهت راه‌اندازی رقابت آنلاین، شما نیاز به سرویس Match-Making دارید. این سرویس به شما کمک ‌می‌کند تا انواع مختلف رقابت تعریف کنید، و کاربران سطح امتیاز مشابه بتوانند با یکدیگر بازی کنند. در صورتی که با این سرویس آشنایی ندارید، پیش از ادامه این مستند، مستند راه‌اندازی Match-Making را مطالعه کنید.

چرخه عمر (LifeCycle) رقابت آنلاین

توجه: این بخش فقط برای رقابت آنلاین است و برای نیازمندی‌های چت کاربردی ندارد

یک رقابت آنلاین در بکتوری چرخه عمری دارد که به صورت زیر است (فرض کنید یک بازی ۲ نفره دارید):

  1. کاربر ۱ درخواست Match-Making می‌دهد و در صف یافتن حریف قرار می‌گیرد
  2. کاربر ۲ که امتیاز نزدیکی با کاربر ۱ دارد نیز درخواست می‌دهد و بکتوری این دو را به عنوان رقیب هم انتخاب می‌کند
  3. از طریق SDK به هر دو کاربر خبر داده می‌شود که یک رقابت پیدا شده است و لیست بازیکنان (بازیکن ۱ و ۲) به هر دو اعلام می‌شود
  4. دو بازیکن، آمادگی خود را برای شروع رقابت اعلام می‌کنند (Accept). عمل Accept یا با پرسیدن از کاربر ۱ و ۲ انجام می‌شود و یا شما در SDK بدون اینکه به کاربر خود اعلام کنید، درخواست Accept را به بکتوری ارسال می‌کنید
  5. رقابت آنلاین آغاز می‌شود و شما می‌توانید با جابه‌جایی پیام بین این دو بازیکن، بازی را تا انتها ادامه دهید
  6. پس از اینکه برنده از دید اپلیکیشن شما مشخص شد، شما در پس‌زمینه از طریق گوشی کاربر ۱ و ۲ تکلیف برنده را تعیین خواهید کرد و از طریق SDK آن را به بکتوری اعلام می‌کنید (روش‌های دیگری برای تعیین برنده بازی وجود دارد که در ادامه مستند با آن‌ها آشنا خواهید شد)
  7. در صورتی که هر دو کاربر هم‌نظر باشند (جلوگیری از تقلب)، پیام پایان بازی به هر دو کاربر ارسال خواهد شد و می‌توانند نتیجه را به کاربر نمایش دهند

تنظیمات سرویس

توجه: این بخش فقط برای رقابت آنلاین است و برای نیازمندی‌های چت کاربردی ندارد

اگر سرویس بلادرنگ را در بخش‌های قبلی فعال کرده باشید، خواهید دید که پس از فعال‌سازی، به جای دکمه فعال‌سازی، تعدادی تنظیمات دیده می‌شود که می‌توانید مقدار آنها را تغییر دهید. تصویر زیر شکل اولیه‌ای که با آن مواجه خواهید شد را به شما نمایش می‌دهد:

Realtime initial settings

تنظیمات عمومی

تنظیمات وب‌هوک

Realtime advanced settings

مثال‌هایی از کاربرد ویژگی Webhook عبارتند از:

  1. در یک مسابقه سوال و جواب آنلاین، شما جواب را به کلاینت نمی‌دهید تا تقلب نکند، در عوض وقتی یکی از گزینه‌ها را انتخاب می‌کند، در یک کد در سرویس رایانش از سرویس بلادرنگ می‌خواهیم که جواب صحیح را به او اعلام کند.
  2. می‌خواهیم در سرور برنده را تشخیص دهیم، بنابراین یک webhook در رایانش ایجاد می‌کنیم که تمام اتفاقات بازی توسط سرویس بلادرنگ به او گزارش شود و تصمیم‌گیری کند.
  3. در Game امکان چت (با امکان چت عادی سرویس بلادرنگ متفاوت است) وجود دارد و می‌خواهیم پیام‌هایی که کلمات زشت دارد را فیلتر کنید.
  4. می‌خواهید وضعیت نقشه بازی را ذخیره کنید، کافیست تمام اتفاقات را از یک webhook عبور دهید و وضعیت نقشه را با هر حرکت بازیکنان به روزرسانی کنید. این ویژگی مثلا برای اتصال مجدد بازیکنانی که اینترنت‌شان قطع شده است، مناسب است. چون شما می‌توانید کلا نقشه فعلی را یکجا به او اعلام کنید.

گام بعدی

در صورتی که استفاده شما از سرویس بلادرنگ، برای نیازمندی‌های چت است:

در صورتی که قصد نوشتن یک بازی و رقابت آنلاین را دارید: