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

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

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

قبل المتابعة، تأكد من فهم مفاهيم الواقع المعزّز الأساسية وكيفية ضبط جلسة ARCore.

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

راجِع مقدمة عن واجهة برمجة التطبيقات الجغرافية المكانية للحصول على مزيد من المعلومات حول واجهة برمجة التطبيقات الجيوفضائية.

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

تفعيل ARCore API

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

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

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

بعد السماح لتطبيقك بطلب واجهة برمجة التطبيقات ARCore، يجب إضافة مكتبات لتفعيل الميزات الجيوفضائية في تطبيقك.

يجب تحديث "Podfile" في تطبيقك ليتضمن حزمة ARCore SDK وإصدارات iOS المتوافقة. لإجراء ذلك، يُرجى اتّباع الخطوات التالية:

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

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

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

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

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

تأكّد من أنّ بيئة التطوير تستوفي متطلبات حزمة ARCore SDK، كما هو موضّح في دليل البدء السريع.

تفعيل الإمكانات الجيوفضائية في إعداد الجلسة

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

لا تتوافق بعض الأجهزة التي تدعم ARCore أيضًا مع واجهة برمجة التطبيقات Geospatial API، كما هو موضح في دليل quickstart.

استخدِم 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;
}

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

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

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

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

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

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