Nearby Connections یک API شبکه همتا به همتا است که به برنامهها اجازه میدهد بدون در نظر گرفتن اتصال به شبکه، به راحتی دادهها را در زمان واقعی پیدا کنند، به آن متصل شوند و با دستگاههای مجاور مبادله کنند.
چند نمونه از موارد استفاده:
- تخته سفید مشارکتی: ایده ها را با شرکت کنندگان در نزدیکی روی تخته سفید مجازی مشترک یادداشت کنید.
- بازی چند نفره محلی: یک بازی چند نفره راهاندازی کنید و از سایر کاربران اطراف دعوت کنید تا به آن بپیوندند.
- بازی چند صفحهای: از تلفن یا رایانه لوحی بهعنوان کنترلکننده بازی برای اجرای بازیهای نمایش داده شده در دستگاه اندرویدی با صفحهنمایش بزرگ، مانند Android TV، استفاده کنید.
- انتقال فایل آفلاین: عکس ها، ویدیوها یا هر نوع داده دیگری را به سرعت و بدون نیاز به اتصال شبکه به اشتراک بگذارید.
معرفی
Nearby Connections تبلیغات، کشف و ارتباط بین دستگاههای اطراف را به صورت کاملاً آفلاین امکانپذیر میکند. اتصالات بین دستگاهها با پهنای باند بالا، تأخیر کم و کاملاً رمزگذاری شدهاند تا امکان انتقال سریع و ایمن دادهها را فراهم کنند.
هدف اصلی این API ارائه یک پلتفرم ساده، قابل اعتماد و کارآمد است. API از ترکیبی از فناوریهای بلوتوث، BLE و Wi-Fi استفاده میکند و از نقاط قوت هر یک استفاده میکند و در عین حال نقاط ضعف مربوطه را دور میزند. این به طور موثری ابهامات بلوتوث و وای فای را در طیف وسیعی از پلتفرمها و نسخههای سیستمعامل انتزاعی میکند و به توسعهدهندگان این امکان را میدهد تا روی ویژگیهایی که برای کاربرانشان مهم است تمرکز کنند.
نمای کلی API
استفاده از API به دو مرحله تقسیم می شود: قبل از اتصال و پس از اتصال.
در مرحله قبل از اتصال، تبلیغکنندگان خودشان را تبلیغ میکنند، در حالی که کشفکنندگان آگهیدهندگان نزدیک را کشف میکنند و درخواستهای اتصال را ارسال میکنند. درخواست اتصال از کشف کننده به تبلیغ کننده، یک جریان احراز هویت متقارن را آغاز می کند که منجر به پذیرش (یا رد کردن) درخواست اتصال از سوی هر دو طرف می شود.
پس از پذیرش درخواست اتصال توسط دو طرف، اتصال برقرار شده در نظر گرفته می شود و دستگاه ها وارد مرحله پس از اتصال می شوند که طی آن دو طرف می توانند داده ها را مبادله کنند.
تبلیغات و کشف
تبلیغکنندگان برای سایر اکتشافات قابل مشاهده خواهند بود و زمانی که تبلیغکننده جدیدی پیدا شد یا گم شد، به کاشفان اطلاع داده میشود.
ایجاد ارتباطات
زمانی که کاشف میخواهد به تبلیغکننده نزدیک متصل شود، کاشف میتواند درخواست اتصال کند.
هر دو طرف از روند شروع اتصال مطلع خواهند شد و هر دو این فرصت را خواهند داشت که اتصال را بپذیرند یا رد کنند.
هنگامی که هر دو طرف پاسخ دادند، نتیجه به هر یک اطلاع داده می شود. اگر هر دو طرف اتصال را پذیرفتند، اتصال برقرار شده در نظر گرفته می شود و انتقال داده می تواند آغاز شود.
تبادل داده ها
پس از برقراری ارتباط، استفاده بیشتر از API متقارن است، بنابراین دیگر تمایزی بین Advertiser و Discoverer وجود ندارد.
اکنون هر دو طرف می توانند داده ها را مبادله کنند. 3 نوع Payloads پشتیبانی شده وجود دارد:
- بایت ها: آرایه های بایت محدود به 32k; این ها برای ارسال چیزهایی مانند فراداده یا پیام های کنترلی خوب هستند.
- فایل: فایل با هر اندازه. اینها با حداقل کپی در مرزهای فرآیند از برنامه به رابط شبکه منتقل می شوند.
- جریان: جریانی از دادهها که در جریان تولید میشوند، مانند موارد صوتی/تصویری ضبطشده، بدون اندازه نهایی از قبل.
دریافت کنندگان از داده های دریافتی جدید و هرگونه به روز رسانی پیشرفت، لغو یا شکست مطلع خواهند شد.
اتصالات ایجاد شده تمام دوبلکس هستند، به این معنی که تبلیغ کنندگان و کاشفان می توانند به طور همزمان داده ها را ارسال و دریافت کنند.
جمع آوری داده ها
هنگام استفاده از سرویسهای Google Play Nearby SDK، تجزیه و تحلیل استفاده برای بهبود تجربه جمعآوری میشود.
- معیارهای عملکرد: تأخیر کشف و اتصال، قابلیت اطمینان و توان عملیاتی هنگام اسکن و اتصال به دستگاهها با استفاده از Nearby SDK جمعآوری میشوند.
- اطلاعات دستگاه: مدل دستگاه، کشور، نسخه ساخت و نام بسته برنامه جمعآوری شده و با معیارهای عملکرد مرتبط میشوند تا بخشهای منطقهای و دستگاه خاص شناسایی شوند.
کاربران نهایی میتوانند با رفتن به تنظیمات > Google > استفاده و عیبیابی، این مجموعه را مجاز یا رد کنند.