التحقّق من توفّر VPS في الموقع الحالي للجهاز

تستخدِم واجهة برمجة التطبيقات Geospatial API مجموعة من بيانات VPS وGPS لإنشاء عمليات تحويل جيوفضائية عالية الدقة. ويمكن استخدام واجهة برمجة التطبيقات في أي مكان يتمكّن الجهاز من تحديد موقعه الجغرافي:

  • في المناطق التي تكون فيها دقة نظام تحديد المواقع العالمي (GPS) منخفضة، مثل المساحات الداخلية والبيئات الحضرية الكثيفة، ستعتمد واجهة برمجة التطبيقات على تغطية VPS لإنشاء عمليات تحويل عالية الدقة.
  • في البيئات الخارجية التي تتضمّن عددًا قليلاً من العوائق العلوية أو لا تتضمّن أيّ منها، قد تتمكّن واجهة برمجة التطبيقات Geospatial API من استخدام بيانات الموقع الجغرافي المتاحة من نظام تحديد المواقع العالمي (GPS) لإنشاء عمليات تحويل بيانات جغرافية بدقة عالية.

يمكنك تحديد مدى توفّر VPS في موضع أفقي معيّن قبل بدء جلسة الواقع المعزّز واستخدامه لإنشاء تجارب أكثر تحديدًا، مثل تقديم "Enter AR". فقط عندما يكون VPS متاحًا.

تفعيل واجهة برمجة تطبيقات ARCore

يجب أن يفعّل تطبيقك واجهة برمجة التطبيقات ARCore API للتحقّق من توفّر VPS.

التحقّق من توفّر الخادم الظاهري في تطبيقك

يمكن استخدام واجهة برمجة التطبيقات Geospatial API في أي مكان يمكن للجهاز تحديد موقعه الجغرافي فيه. إذا كانت تجربة الواقع المعزّز تعتمد على تغطية VPS، يمكنك استخدام GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: للحصول على GARVPSAvailabilityFuture، وهي مهمة غير متزامنة تتحقّق من توفّر VPS في موضع أفقي معيّن. بعد الحصول على GARVPSAvailabilityFuture، يمكنك الحصول على النتيجة من خلال الاستطلاع أو من خلال طلب معاودة الاتصال.

إجراء استطلاع للنتيجة

استخدِم GARFuture.state للحصول على حالة Future. هناك ثلاث حالات مختلفة:

  • GARFutureStatePending: لم تكتمل العملية بعد، لذا لا يمكن معرفة أي نتيجة.
  • GARFutureStateCancelled: تم إلغاء العملية من قِبل GARFuture#cancel. لن يتم مطلقًا الاتصال بأي معاودة اتصال مسجَّلة.
  • GARFutureStateDone: اكتملت العملية. استخدِم GARVPSAvailabilityFuture.result للحصول على النتيجة.

يمكنك مواصلة التحقّق من GARFuture.state إلى أن تكتمل المهمة.

الحصول على النتيجة من خلال معاودة الاتصال

يمكنك أيضًا الحصول على نتيجة Future من خلال مكالمة تلقائية. استخدِم GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: وأضِف completionHandler. سيتمّ استدعاء completionHandler هذا في سلسلة المحادثات الرئيسية بعد وقت قصير من توفّر الحالة GARFutureStateDone في Future.

إلغاء Future

استخدِم GARFuture#cancel لمحاولة إلغاء Future. بسبب موازاة سلاسل المحادثات، قد لا تنجح محاولة الإلغاء التي أجريتها. تعرض الدالة GARFuture#cancel القيمة YES إذا كانت هذه المحاولة ناجحة، وتعرض NO في الحالات الأخرى.

استخدام واجهة برمجة التطبيقات Geospatial API بدون تغطية VPS

يمكن أيضًا استخدام واجهة برمجة التطبيقات Geospatial API في المناطق التي لا يوجد بها تغطية VPS. في البيئات الخارجية مع وجود عوائق قليلة أو عدم وجود عوائق علوية، قد يكون نظام تحديد المواقع العالمي (GPS) كافيًا لإنشاء وضعية بدقة عالية.

الخطوات التالية