اضبط إعدادات تطبيقك كي يتمكّن من استخدام Geospatial API.
المتطلبات الأساسية
تأكَّد من فهم مفاهيم الواقع المعزّز الأساسية وكيفية ضبط جلسة ARCore قبل المتابعة.
إذا أردت تشغيل نموذج تطبيق يوضّح الوظائف الموضّحة هنا، اطّلِع على الدليل السريع لميزة ARCore Geospatial على نظام التشغيل iOS.
اطّلِع على مقدمة عن واجهة برمجة التطبيقات Geospatial API للحصول على مزيد من المعلومات حول Geospatial API.
إذا كنت حديث العهد بالتطوير باستخدام ARCore، يمكنك الاطّلاع على البدء للحصول على معلومات عن متطلبات البرامج والأجهزة والمتطلبات الأساسية ومعلومات أخرى خاصة بالأنظمة الأساسية التي تستخدمها.
تفعيل واجهة برمجة تطبيقات ARCore
قبل استخدام نظام تحديد الموقع البصري (VPS) في تطبيقك، عليك أولاً تفعيل ARCore API في مشروع جديد أو حالي على Google Cloud. تتولّى هذه الخدمة استضافة نقاط الربط الجغرافية وتخزينها وحلّها.
يُفضَّل استخدام طريقة التفويض بدون مفتاح، ولكن يمكن أيضًا استخدام طريقة التفويض باستخدام مفتاح واجهة برمجة التطبيقات.
إضافة المكتبات المطلوبة إلى تطبيقك
بعد تفويض تطبيقك للاتصال بواجهة برمجة التطبيقات ARCore API، عليك إضافة مكتبات ل تفعيل الميزات المكانية الجغرافية في تطبيقك.
عدِّلPodfile
لتطبيقك لتضمين حزمة تطوير البرامج (SDK) لـ ARCore وإصدارات iOS
المتوافقة. ولإجراء ذلك:
أضِف
platform
وpod
التاليَين إلىPodfile
المشروع:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.48.0'
يمكنك أيضًا تحديد
platform :ios, '10.0'
إذا كنت تريد إتاحة الإصدار 10 من نظام التشغيل iOS، ولكن يُرجى العِلم أنّ واجهة برمجة التطبيقات Geospatial API لن تعمل إلا في وقت التشغيل على الإصدار 11 من نظام التشغيل iOS أو الإصدارات الأحدث.افتح نافذة 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;
}
طلب أذونات تحديد الموقع الجغرافي من المستخدم في وقت التشغيل
يجب أن يطلب تطبيقك أذونات الموقع الجغرافي التالية في وقت التشغيل، قبل ضبط الجلسة:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(ينطبق ذلك عندما يكون الإصدار من نظام التشغيل iOS >= 14)
التحقّق من مدى توفّر البيانات الجغرافية المكانية في الموقع الجغرافي الحالي للجهاز
بما أنّ Geospatial API تستخدِم مزيجًا من VPS ونظام تحديد المواقع العالمي (GPS) لتحديد عملية التحويل المكاني، يمكن استخدام واجهة برمجة التطبيقات ما دام الجهاز قادرًا على تحديد موقعه الجغرافي. في المناطق التي تكون فيها دقة نظام تحديد المواقع العالمي (GPS) منخفضة، مثل المساحات الداخلية والبيئات الحضرية الكثيفة، ستعتمد واجهة برمجة التطبيقات على تغطية VPS لإنشاء عمليات تحويل عالية الدقة. في الظروف العادية، من المتوقّع أن توفّر خدمة VPS دقة في تحديد الموقع تبلغ 5 أمتار تقريبًا ودقة في تحديد الاتجاه تبلغ 5 درجات. استخدِم GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
لتحديد ما إذا كان الموقع الجغرافي المحدّد يشمل تغطية VPS.
يمكن أيضًا استخدام واجهة برمجة التطبيقات Geospatial API في المناطق التي لا تتوفّر فيها تغطية VPS. في البيئات الخارجية التي تتضمّن عددًا قليلاً من العوائق العلوية أو لا تتضمّن أيّ منها، قد يكون نظام تحديد المواقع العالمي (GPS) كافيًا لإنشاء عملية تحويل بدقة عالية.
الخطوات التالية
- الحصول على تحويل البيانات الجغرافية لكاميرا الجهاز لتحديد الموقع الجغرافي الدقيق لجهاز المستخدم في العالم الحقيقي
- التحقّق من توفّر الخادم الظاهري في الموقع الجغرافي المحدّد للجهاز