Nearby Connections هي واجهة برمجة تطبيقات للشبكات من خلال شبكة ند لند تسمح للتطبيقات بالبحث عن البيانات المجاورة والاتصال بها وتبادلها مع الأجهزة المجاورة في الوقت الفعلي، بغض النظر عن الاتصال بالشبكة.
في ما يلي بعض حالات الاستخدام:
- لوح المعلومات التعاوني: يمكنك مشاركة الأفكار مع المشاركين القريبين من لوح معلومات افتراضي مشترك.
- ألعاب الفيديو المتعددة اللاعبين على الجهاز: يمكنك إعداد لعبة متعدّدة اللاعبين ودعوة مستخدمين آخرين قريبين للانضمام إليها.
- تشغيل الألعاب على شاشات متعددة: استخدِم الهاتف أو الجهاز اللوحي كوحدة تحكّم ألعاب لتشغيل الألعاب المعروضة على جهاز Android ذي شاشات كبيرة، مثل Android TV.
- عمليات نقل الملفات بلا اتصال بالإنترنت: يمكنك مشاركة الصور أو الفيديوهات أو أي نوع آخر من البيانات بسرعة وبدون الحاجة إلى الاتصال بالشبكة.
المقدمة
تتيح ميزة Nearby Connections عرض الإعلانات والاستكشاف والاتصالات بين الأجهزة المجاورة بطريقة غير مباشرة بلا اتصال بالإنترنت. الاتصالات بين الأجهزة هي ذات معدل نقل بيانات مرتفع ووقت استجابة منخفض ومشفّرة بالكامل لتفعيل عمليات نقل البيانات بسرعة وأمان.
والهدف الأساسي من واجهة برمجة التطبيقات هذه هو توفير منصّة بسيطة وموثوقة وفعّالة. ضمن الخيارات المتقدّمة، تستخدم واجهة برمجة التطبيقات مزيجًا من تقنيات البلوتوث وBLE وWi-Fi، مستعينًا بنقاط القوة في كل منها، مع التحايل على نقاط الضعف لديها. يؤدي هذا إلى إزالة الاختلافات الرائعة بين البلوتوث وWi-Fi في مجموعة من الأنظمة الأساسية وإصدارات نظام التشغيل، ما يسمح للمطوّرين بالتركيز على الميزات التي تهم المستخدمين.
نظرة عامة على واجهة برمجة التطبيقات
ينقسم استخدام واجهة برمجة التطبيقات إلى مرحلتَين: الاتصال المسبق أو مرحلة ما بعد الاتصال.
في مرحلة ما قبل الاتصال، يعلِن المعلِنون عن أنفسهم بينما يكتشف المكتشفون المعلِنين القريبين ويرسلون طلبات الاتصال. يؤدي طلب الاتصال من مكتشف إلى معلن إلى بدء تدفق مصادقة متماثل يؤدي في كلا الجانبين إلى قبول (أو رفض) طلب الاتصال بشكل مستقل.
بعد قبول طلب الربط من جانبَي الطرفَين، يتم اعتبار الاتصال ساريًا على الأجهزة ويدخل الجهاز في مرحلة ما بعد الاتصال، وخلال هذه الفترة يتبادل الطرفان البيانات.
الإعلان والاستكشاف
سيصبح المعلِنون مرئيين لمستكشفين آخرين، وسيتم إشعار المكتشفين عند العثور على معلِن جديد أو عند فقدانه.
إنشاء علاقات
عندما يريد أحد المستخدمين العثور على معلِن في مكان قريب، يمكنه طلب التواصل معه.
سيتم إبلاغ كلا الطرفين بعملية بدء الاتصال، وسيتاح لكل منهما فرصة قبول الاتصال أو رفضه.
بعد تلقّي ردّ من الطرفين، سيتم إبلاغ كل طرف بالنتيجة. وإذا قبل كلا الطرفين الاتصال، يصبح الاتصال ساريًا، ويمكن أن يبدأ نقل البيانات بعد ذلك.
تبادل البيانات
بعد إنشاء اتصال بالإنترنت، يتوفّر قدر أكبر من الاستخدام في واجهة برمجة التطبيقات، لذلك لم يعد هناك فرق بين المعلن وأداة "اقتراحات".
يمكن لكلا الطرفين الآن تبادل البيانات. هناك 3 أنواع من الحمولات المتوافقة:
- وحدات البايت: تقتصر صفائف البايت على 32 ألف، وتكون هذه الملفات مفيدة لإرسال عناصر مثل البيانات الوصفية أو رسائل التحكّم.
- الملف: الملفات بمختلف أحجامها، ويتم نقلها من التطبيق إلى واجهة الشبكة بأقل قدر من النسخ على حدود العمليات
- ساحة المشاركات: مجموعة من البيانات التي يتم إنشاؤها بسرعة، كما هو الحال مع الصوت/الفيديو المسجّل، بدون حجم نهائي معروف مسبقًا.
سيتم إرسال إشعار إلى المستلِمين بالبيانات الجديدة الواردة وأي عمليات تقدُّم أو عمليات إلغاء أو حالات تعذُّر.
عملية الربط المُنشأة مزدوجة بالكامل، ما يعني أنّه يمكن للمعلِنين والمستكشفين إرسال البيانات واستلامها في الوقت نفسه.
تجميع البيانات
عند استخدام حزمة تطوير البرامج (SDK) لخدمات Google Play، يتم جمع إحصاءات الاستخدام لتحسين تجربة الاستخدام.
- مقاييس الأداء: يتم جمع بيانات وقت الاستجابة وإمكانية الاتصال والموثوقية وإمكانية معالجة البيانات عندما يتم البحث عن الأجهزة والاتصال بها باستخدام حزمة تطوير البرامج (SDK) القريبة.
- معلومات الجهاز: يتم جمع كل من طراز الجهاز والبلد وإصدار الإصدار واسم حزمة التطبيق وربطها بمقاييس الأداء لتحديد الشرائح على مستوى منطقة معيّنة.
يمكن للمستخدمين النهائيين السماح بهذه المجموعة أو رفضها من خلال الانتقال إلى الإعدادات > Google > الاستخدام وبيانات التشخيص.