खोज…


परिचय

एक NSUserActivity ऑब्जेक्ट का उपयोग सिस्टम के साथ ऐप में महत्वपूर्ण घटनाओं को समन्वयित करने के लिए किया जा सकता है। यह आईओएस और मैकओएस पर चलने वाले विभिन्न उपकरणों के बीच हैंडऑफ का आधार है। इसके अतिरिक्त, इसका उपयोग सार्वजनिक-अनुक्रमण में सुधार करने और किसी ऐप के लिए स्पॉटलाइट खोज परिणाम बनाने के लिए भी किया जा सकता है। IOS 10 के रूप में, इसका उपयोग आपके ऐप और सिरी के बीच बातचीत को समन्वित करने के लिए भी किया जा सकता है।

टिप्पणियों

गतिविधि के प्रकार

NSUserActivityTypes कुंजी के तहत समर्थित गतिविधि प्रकारों को आपके ऐप के Info.plist फ़ाइल में परिभाषित किया जाना चाहिए। गतिविधियां आपकी डेवलपर टीम आईडी से जुड़ी होती हैं, जिसका अर्थ है कि उन टीम आईडी के बीच गतिविधि समन्वय प्रतिबंधित है (जैसे "सफारी" "क्रोम" या इसके विपरीत से हैंडऑफ़ गतिविधि को स्वीकार नहीं कर सकता)।

वर्तमान गतिविधि बनना / इस्तीफा देना

एक गतिविधि को करंट के रूप में चिह्नित करना, जो वर्तमान में उपयोग कर becomeCurrent है, इसे becomeCurrent या स्पॉटलाइट इंडेक्सिंग के लिए उपलब्ध becomeCurrent है। एक समय में केवल एक गतिविधि चालू हो सकती है। आप resignCurrent को कॉल करके अमान्य के रूप में एक गतिविधि को निष्क्रिय कर resignCurrent

यदि आप किसी गतिविधि को invalidate करते हैं, तो उसी उदाहरण को फिर से चालू नहीं किया जा सकता है।

सिरीकिट के लिए प्रदान करते समय एक गतिविधि को वर्तमान के रूप में चिह्नित न करें।

अनुक्रमण खोजें

गतिविधियों को आपके ऐप के भीतर एक सामान्य-प्रयोजन अनुक्रमण तंत्र के रूप में उपयोग नहीं किया जाना है। इसके बजाय, उन्हें केवल उपयोगकर्ता द्वारा शुरू किए गए कार्यों के जवाब में उपयोग किया जाना चाहिए। अपने ऐप की सभी सामग्री को अनुक्रमित करने के लिए, CoreSpotlight का उपयोग करें।

एक NSUserActivity बनाना

NSUserActivity ऑब्जेक्ट बनाने के लिए, आपके ऐप को अपनी Info.plist फ़ाइल में इस प्रकार की गतिविधियों की घोषणा करनी चाहिए। समर्थित गतिविधियों को आपके आवेदन द्वारा परिभाषित किया गया है और यह अद्वितीय होना चाहिए। एक गतिविधि को रिवर्स-डोमेन स्टाइल नामकरण योजना (यानी "com.companyName.productName.activityName") का उपयोग करके परिभाषित किया गया है। यहाँ आपके Info.plist में एक प्रविष्टि कैसी दिख सकती है:

चाभी मूल्य
NSUserActivityTypes [सरणी]
- आइटम ० com.companyName.productName.activityName01
- वस्तु 1 com.companyName.productName.activityName02

एक बार जब आप सभी समर्थित गतिविधि प्रकारों को परिभाषित कर लेते हैं, तो आप अपने एप्लिकेशन के कोड में उन्हें एक्सेस और उपयोग करना शुरू कर सकते हैं।

NSUserActivity ऑब्जेक्ट बनाने के लिए आपको निम्नलिखित कार्य करने होंगे

// Initialize the activity object and set its type from one of the ones specified in your app's plist
NSUserActivity *currentActivity = [[NSUserActivity alloc] initWithActivityType:@"com.companyName.productName.activityName01"];

// Set the title of the activity.
// This title may be displayed to the user, so make sure it is localized and human-readable
currentActivity.title = @"Current Activity";

// Configure additional properties like userInfo which will be included in the activity
currentActivity.userInfo = @{@"informationKey" : @"value"};

// Configure the activity so the system knows what may be done with it
// It is important that you only set YES to tasks that your application supports
// In this example, we will only enable the activity for use with Handoff
[currentActivity setEligibleForHandoff:YES];
[currentActivity setEligibleForSearch:NO]; // Defaults to NO
[currentActivity setEligibleForPublicIndexing:NO]; // Defaults to NO

// Set this activity as the current user activity
// Only one activity may be current at a time on a device. Calling this method invalidates any other current activities.
[currentActivity becomeCurrent];

इसके बाद, ऊपर की गतिविधि हैंडऑफ़ के लिए उपलब्ध होनी चाहिए (हालांकि "हैंडऑफ़" को ठीक से संभालने के लिए अधिक काम करने की आवश्यकता है)।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow