قبل البدء
قبل البدء في كتابة الرموز البرمجية باستخدام Nearby Connections API، يجب:
- تثبيت حزمة تطوير البرامج (SDK) الخاصة بخدمات Google Play.
- تنزيل نماذج الرموز البرمجية في Nearby Connections API code ومراجعتها
طلب الحصول على الأذونات
قبل استخدام Nearby Connections، يجب أن يطلب تطبيقك الأذونات المناسبة. أضِف الأذونات التالية إلى ملف AndroidManifest.xml:
<!-- Required for Nearby Connections --> <uses-permission android:maxSdkVersion="31" android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:maxSdkVersion="31" android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH" /> <uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:maxSdkVersion="28" android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:minSdkVersion="29" android:maxSdkVersion="31" android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_ADVERTISE" /> <uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:minSdkVersion="32" android:name="android.permission.NEARBY_WIFI_DEVICES" /> <uses-permission android:minSdkVersion="37" android:name="android.permission.ACCESS_LOCAL_NETWORK" /> <!-- Optional: only required for FILE payloads --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
بما أنّ
ACCESS_FINE_LOCATION و
BLUETOOTH_ADVERTISE و
BLUETOOTH_CONNECT و
BLUETOOTH_SCAN و
ACCESS_LOCAL_NETWORK
(مطلوب بدءًا من Android 17 للتطبيقات التي تستهدف الإصدار 37 من حزمة SDK أو إصدارًا أحدث باستخدام WIFI_LAN) و
READ_EXTERNAL_STORAGE
تُعدّ أذونات نظام خطيرة، يجب طلب هذه الأذونات
في وقت التشغيل، بالإضافة إلى إضافتها إلى ملف البيان، كما هو موضّح في مقالة طلب
الأذونات.
إذا لم يمنح المستخدم جميع الأذونات المطلوبة، سترفض Nearby Connections API السماح لتطبيقك ببدء الإعلان أو الاكتشاف.