अपने iOS ऐप्लिकेशन के लिए Geospatial API को चालू करना

अपने ऐप्लिकेशन की सेटिंग कॉन्फ़िगर करें, ताकि वह Geospatial API का इस्तेमाल कर सके.

ज़रूरी शर्तें

आगे बढ़ने से पहले, पक्का करें कि आपने बुनियादी एआर (ऑगमेंटेड रिएलिटी) सिद्धांत और ARCore सेशन को कॉन्फ़िगर करने का तरीका समझ लिया है.

अगर आपको यहां बताए गए फ़ंक्शन दिखाने वाला कोई सैंपल ऐप्लिकेशन चलाना है, तो iOS के लिए ARCore जियोस्पेशियल क्विकस्टार्ट देखें.

भौगोलिक एपीआई के बारे में ज़्यादा जानकारी के लिए, भौगोलिक डेटा के एपीआई के बारे में जानकारी देखें.

अगर आपने ARCore के साथ ऐप्लिकेशन डेवलप करने का काम पहले नहीं किया है, तो इस्तेमाल किए जा रहे प्लैटफ़ॉर्म के लिए सॉफ़्टवेयर और हार्डवेयर की ज़रूरी शर्तों, ज़रूरी शर्तों, और अन्य जानकारी के लिए शुरू करना देखें.

ARCore API चालू करना

अपने ऐप्लिकेशन में विज़ुअल पोज़िशनिंग सिस्टम (वीपीएस) का इस्तेमाल करने से पहले, आपको Google Cloud के नए या मौजूदा प्रोजेक्ट में ARCore API चालू करना होगा. जियोस्पेशियल ऐंकर को होस्ट करने, सेव करने, और समस्या ठीक करने की ज़िम्मेदारी इस सेवा की है.

कुंजी के बिना पुष्टि करने की सुविधा को प्राथमिकता दी जाती है, लेकिन एपीआई पासकोड से अनुमति देने की सुविधा भी काम करती है.

अपने ऐप्लिकेशन में ज़रूरी लाइब्रेरी जोड़ना

ऐप्लिकेशन को ARCore एपीआई को कॉल करने की अनुमति देने के बाद, आपको अपने ऐप्लिकेशन में जियोस्पेशियल सुविधाएं चालू करने के लिए लाइब्रेरी जोड़नी होंगी.

ARCore SDK और काम करने वाले iOS वर्शन को शामिल करने के लिए, अपने ऐप्लिकेशन के Podfile को अपडेट करें. ऐसा करने के लिए:

  1. अपने प्रोजेक्ट के Podfile में ये platform और pod जोड़ें:

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

    अगर आपको iOS 10 के साथ काम करना है, तो आपके पास platform :ios, '10.0' के बारे में बताने का विकल्प भी है. ध्यान रखें कि भौगोलिक एपीआई सिर्फ़ 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;
}

रनटाइम के दौरान, उपयोगकर्ता से जगह की जानकारी की अनुमतियां मांगें

सेशन को कॉन्फ़िगर करने से पहले, आपके ऐप्लिकेशन को रनटाइम के दौरान जगह की जानकारी की इन अनुमतियों का अनुरोध करना होगा:

डिवाइस की मौजूदा जगह पर भौगोलिक डेटा की उपलब्धता देखना

भौगोलिक डेटा के बदलाव को तय करने के लिए, भौगोलिक एपीआई वीपीएस और जीपीएस, दोनों का इस्तेमाल करता है. इसलिए, एपीआई का इस्तेमाल तब तक किया जा सकता है, जब तक डिवाइस अपनी जगह की जानकारी हासिल कर लेता है. इनडोर स्पेस और घना शहरी वातावरण जैसे कम जीपीएस कवरेज वाले इलाकों में, यह एपीआई ज़्यादा सटीक बदलाव जनरेट करने के लिए VPS कवरेज पर भरोसा करेगा. सामान्य स्थितियों में, वीपीएस करीब 5 मीटर की स्थिति सटीक और 5 डिग्री घूमने की सटीक जानकारी दे सकता है. GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: का इस्तेमाल करके, पता लगाएं कि दी गई जगह में VPS कवरेज है या नहीं.

भौगोलिक एपीआई का इस्तेमाल उन इलाकों में भी किया जा सकता है जहां वीपीएस कवरेज नहीं है. अगर खुली जगह में हवाई जहाज़ से होने वाली कोई रुकावट नहीं आती है, तो जगह बदलने के लिए जीपीएस काफ़ी मददगार हो सकता है.

आगे क्या करना है