بعد أن يمنح المستخدِم جميع الأذونات المطلوبة، يمكن أن يبدأ تطبيقك في الإعلان والاكتشاف حتى تتمكن من العثور على الأجهزة المجاورة.
أولاً، اختَر Strategy
لحالة الاستخدام الخاصة بك.
يحدِّد Strategy
الذي تختاره طوبولوجيا الربط لتطبيقك (واحد.
معلنًا لدى N من المكتشفين، أو M من المعلنين إلى N من المكتشفين).
على الأجهزة التي ستعرض الإعلانات، يمكنك الاتصال بالرقم startAdvertising()
مع تحديد الرقم المطلوب
Strategy
ومَعلمة serviceId
التي تحدِّد تطبيقك.
على الأجهزة التي ستعثر على المعلِنين القريبين، يمكنك الاتصال بـ startDiscovery()
من خلال
نفس Strategy
وserviceId
.
ويجب أن تحدِّد قيمة serviceId
تطبيقك بشكل فريد. كأفضل ممارسة، استخدم
اسم حزمة تطبيقك (على سبيل المثال، com.google.example.myapp
).
يوضّح المثال التالي كيفية الإعلان:
private void startAdvertising() { AdvertisingOptions advertisingOptions = new AdvertisingOptions.Builder().setStrategy(STRATEGY).build(); Nearby.getConnectionsClient(context) .startAdvertising( getLocalUserName(), SERVICE_ID, connectionLifecycleCallback, advertisingOptions) .addOnSuccessListener( (Void unused) -> { // We're advertising! }) .addOnFailureListener( (Exception e) -> { // We were unable to start advertising. }); }
المعلَمة ConnectionLifecycleCallback
هي معاودة الاتصال التي سيتم استدعاؤها
عندما يطلب المكتشفون الاتصال بالمعلن. الاطّلاع على إدارة
صفحة Connections (Connections) للاطّلاع على تفاصيل حول
في تحديد معاودة الاتصال هذه.
يوضّح المثال التالي كيفية اكتشاف ما يلي:
private void startDiscovery() { DiscoveryOptions discoveryOptions = new DiscoveryOptions.Builder().setStrategy(STRATEGY).build(); Nearby.getConnectionsClient(context) .startDiscovery(SERVICE_ID, endpointDiscoveryCallback, discoveryOptions) .addOnSuccessListener( (Void unused) -> { // We're discovering! }) .addOnFailureListener( (Exception e) -> { // We're unable to start discovering. }); }
المعلَمة EndpointDiscoveryCallback
هي معاودة الاتصال التي سيتم استدعاؤها
عند العثور على المعلنين القريبين أو فقدانهم الاطّلاع على إدارة
صفحة Connections (Connections) للاطّلاع على تفاصيل حول
في تحديد معاودة الاتصال هذه.
يمكنك الاتصال بالرقم stopAdvertising()
عندما لا تكون بحاجة إلى الإعلانات بعد الآن.
يمكنك stopDiscovery()
عندما لا تريد استكشاف المزيد من المحتوى.