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

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

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

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

تفعيل ARCore API

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

التحقّق من توفُّر ملفات 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 في سلسلة المحادثات الرئيسية بعد فترة وجيزة من تغيير حالة Future إلى GARFutureStateDone.

إلغاء Future

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

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

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

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