تفعيل واجهة برمجة التطبيقات Geospatial API لتطبيق iOS

اضبط إعدادات تطبيقك كي يتمكّن من استخدام Geospatial API.

المتطلبات الأساسية

احرص على فهم مفاهيم الواقع المعزّز الأساسية وكيفية ضبط جلسة ARCore قبل المتابعة.

إذا كنت تريد تشغيل نموذج تطبيق يوضّح الوظيفة الموضّحة هنا، اطّلِع على الدليل السريع لميزة ARCore Geospatial على نظام التشغيل iOS.

اطّلِع على مقدمة عن واجهة برمجة التطبيقات Geospatial API للحصول على مزيد من المعلومات حول Geospatial API.

إذا كنت حديث العهد بالتطوير باستخدام ARCore، يمكنك الاطّلاع على البدء للحصول على معلومات عن متطلبات البرامج والأجهزة والمتطلبات الأساسية ومعلومات أخرى خاصة بالأنظمة الأساسية التي تستخدمها.

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

قبل استخدام نظام تحديد الموقع البصري (VPS) في تطبيقك، عليك أولاً تفعيل ARCore API في مشروع جديد أو حالي على Google Cloud. تتولّى هذه الخدمة استضافة نقاط الربط الجغرافية وتخزينها وحلّها.

يُفضَّل استخدام طريقة التفويض بدون مفتاح، ولكن يمكن أيضًا استخدام طريقة التفويض باستخدام مفتاح واجهة برمجة التطبيقات.

إضافة المكتبات المطلوبة إلى تطبيقك

بعد منح تطبيقك الإذن بطلب ARCore API، عليك إضافة مكتبات لتفعيل الميزات الجغرافية المكانية في تطبيقك.

عليك تحديث Podfile لتطبيقك ليتضمن إصدار ARCore SDK وإصدار iOS المتوافق. ولإجراء ذلك:

  1. أضِف platform وpod التاليَين إلى Podfile مشروعك:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.46.0'
    

    يمكنك أيضًا تحديد platform :ios, '10.0' إذا كنت تريد إتاحة الإصدار 10 من نظام التشغيل iOS، ولكن يُرجى العِلم أنّ واجهة برمجة التطبيقات Geospatial API لن تعمل إلا في وقت التشغيل على الإصدار 11 من نظام التشغيل iOS أو الإصدارات الأحدث.

  2. افتح نافذة Terminal وشغِّل pod install من المجلد الذي يتوفّر فيه مشروع Xcode.

    يؤدي ذلك إلى إنشاء ملف .xcworkspace الذي تستخدمه لإنشاء التطبيق وتشغيله.

تأكَّد من أنّ بيئة التطوير تستوفي متطلبات حزمة تطوير البرامج (SDK) لـ ARCore، كما هو описан في البدء السريع.

تفعيل الإمكانات الجغرافية المكانية في إعدادات الجلسة

التحقّق من توافق الجهاز

لا تتوافق بعض الأجهزة المتوافقة مع ARCore مع واجهة برمجة التطبيقات Geospatial API، كما هو описан في الدليل السريع.

استخدِم GARSession.isGeospatialModeSupported: للتحقّق من الجهاز، كما هو موضّح في ما يلي:

if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
  [self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
  return;
}

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
  [self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
                                                  (int)error.code]];
  return;
}

طلب أذونات تحديد الموقع الجغرافي من المستخدم في وقت التشغيل

يجب أن يطلب تطبيقك أذونات الموقع الجغرافي التالية في وقت التشغيل، قبل ضبط الجلسة:

التحقّق من مدى توفّر البيانات الجغرافية المكانية في الموقع الجغرافي الحالي للجهاز

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

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

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