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

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

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

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

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

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

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

تفعيل ARCore API

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

يُفضَّل الحصول على الإذن بدون مفتاح، ولكن يتم أيضًا دعم تفويض مفتاح واجهة برمجة التطبيقات.

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

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

يجب تحديث Podfile لتطبيقك ليتضمن حزمة تطوير البرامج (SDK) ARCore ونظام التشغيل iOS المتوافق للإصدارات. ولإجراء ذلك:

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

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

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

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

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

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

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

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

لا تتوافق أيضًا بعض الأجهزة التي تدعم 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 لإنشاء عمليات تحويل عالية الدقة. في الظروف العادية، من المتوقع أن يوفر جهاز VPS دقة موضعية تبلغ 5 أمتار تقريبًا ودقة دوران بمقدار 5 درجات. استخدِم GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: لتحديد ما إذا كان موقع جغرافي معيّن يوفّر تغطية خدمة VPS.

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

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