डिवाइस ढूँढने की सुविधा
Find APIs का उपयोग या तो जुड़े हुए डिवाइस पर उसे ढूँढने का संकेत शुरू कराने के लिए करें, या जब डिवाइस ऐप से iPhone ढूँढने को कहे तब उसका जवाब देने के लिए।
ये दो विपरीत दिशाओं में चलने वाले workflow हैं और इनके APIs अलग हैं:
| Workflow | शुरुआत कौन करता है | ऐप की ज़िम्मेदारी | पूरा होने का संकेत |
|---|---|---|---|
| डिवाइस ढूँढें | होस्ट ऐप | DeviceFindAPI से जुड़े डिवाइस का firmware-defined संकेत शुरू या बंद करें। | Completion command स्वीकार होने की सूचना देता है। समर्थित डिवाइस बाद में deviceDidReportFound भेज सकता है। |
| iPhone ढूँढें | जुड़ा हुआ डिवाइस | Delegate callbacks मिलने पर iPhone पर ध्वनि, vibration या UI शुरू/बंद करें। | उपयोगकर्ता के iPhone ढूँढ लेने पर FindPhoneStateReportingAPI से परिणाम डिवाइस को बताएँ। |
सुविधा का सारांश
डिवाइस ढूँढें
जुड़े AIBuds डिवाइस पर उसे ढूँढने का संकेत शुरू करें
डिवाइस ढूँढना रोकें
जुड़े AIBuds डिवाइस पर चल रहा locate indication बंद करें
iPhone मिलने की सूचना दें
डिवाइस से आए find-iPhone अनुरोध के पूरा होने की सूचना दें
AI की सहायता से लागू करें
इस वर्कफ़्लो को AI से लागू करें
आधिकारिक “AIBuds खोज वर्कफ़्लो लागू करें” स्किल से वर्कफ़्लो को अपने ऐप के अनुसार लागू करें।
https://docs-aibuds.github.io/hi/skills/implement-aibuds-find-workflow को पढ़ें और निर्देशों का पालन करें। इस स्किल से “AIBuds खोज वर्कफ़्लो लागू करें” को इस iOS प्रोजेक्ट में लागू करें और परिणाम सत्यापित करें।शुरुआत करें
डिवाइस ढूँढने की सुविधा उपयोग करने के लिए:
- डिवाइस से जुड़ें — लक्ष्य AIBuds डिवाइस के साथ उपयोग योग्य connection बनाएँ।
- दिशा चुनें — तय करें कि ऐप डिवाइस ढूँढ रहा है या डिवाइस से आए find-iPhone अनुरोध का जवाब दे रहा है।
- Protocol और capability support जाँचें — डिवाइस ढूँढने के commands के लिए
DeviceFindAPIउपयोग करें औरsupportsFindDevice == trueहोना सुनिश्चित करें; iPhone मिल जाने की सूचना देने के लिएFindPhoneStateReportingAPIउपयोग करें। - सही अंतिम संकेत संभालें — Command स्वीकार होने को डिवाइस या iPhone वास्तव में मिल जाने का प्रमाण न मानें।
मुख्य अवधारणाएँ
डिवाइस ढूँढें
- डिवाइस ढूँढें: जुड़े डिवाइस से locate indication शुरू करने का अनुरोध करता है।
- डिवाइस ढूँढना रोकें: जुड़े डिवाइस से वह indication बंद करने का अनुरोध करता है।
- डिवाइस मिलने का event: समर्थित होने पर
deviceDidReportFound(_:)डिवाइस से आने वाला अलग terminal event है।
DeviceFindAPI पहले से जुड़े डिवाइस पर काम करता है। Controls दिखाने या command भेजने से पहले supportsFindDevice जाँचें। Connected डिवाइस capability report न करे तो property का default false होता है। यह API Bluetooth discovery या आस-पास के डिवाइस scan नहीं करता।
iPhone ढूँढें
deviceDidRequestStartFindingPhone(_:)ऐप से iPhone-side alert शुरू करने को कहता है।deviceDidRequestStopFindingPhone(_:)ऐप से वह alert बंद करने को कहता है।- उपयोगकर्ता के iPhone ढूँढ लेने पर अनुरोध करने वाले डिवाइस को परिणाम बताने के लिए
notifyPhoneFound(_:)call करें।
Protocol संदर्भ
Locate-device commands DeviceFindAPI के माध्यम से उपलब्ध हैं:
- Swift
- Objective-C
guard let device = device as? DeviceFindAPI else {
print("Device does not support DeviceFindAPI")
return
}
guard device.supportsFindDevice else {
print("Connected device does not support find-device commands")
return
}id<AIBudsDeviceFindAPI> device = (id<AIBudsDeviceFindAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceFindAPI)]) {
NSLog(@"Device does not support AIBudsDeviceFindAPI");
return;
}
if (!device.supportsFindDevice) {
NSLog(@"Connected device does not support find-device commands");
return;
}विपरीत दिशा वाला find-iPhone workflow, डिवाइस से अनुरोध आने के बाद FindPhoneStateReportingAPI उपयोग करता है:
- Swift
- Objective-C
guard let reporter = device as? FindPhoneStateReportingAPI else {
print("Device cannot receive an iPhone-found report")
return
}id<AIBudsFindPhoneStateReportingAPI> reporter =
(id<AIBudsFindPhoneStateReportingAPI>)self.device;
if (![reporter conformsToProtocol:@protocol(AIBudsFindPhoneStateReportingAPI)]) {
NSLog(@"Device cannot receive an iPhone-found report");
return;
}बेहतर तरीके
- दोनों दिशाएँ अलग रखें: iPhone-side alert लागू करने के लिए
DeviceFindAPIउपयोग न करें। - Protocol और capability support जाँचें: आवश्यक protocol की पुष्टि करें और locate-device controls दिखाने से पहले
supportsFindDeviceजाँचें। - स्वीकृति और परिणाम अलग रखें: सफल completion केवल command processing की पुष्टि करता है, लक्ष्य वास्तव में मिल जाने की नहीं।
- रोकने का विकल्प दें: उपयोगकर्ता को active device या iPhone indication बंद करने दें।
- UI को main queue पर अपडेट करें: Callbacks से होने वाले UIKit बदलाव main queue पर भेजें।
ध्यान देने योग्य बातें
- Locate-device commands के दौरान लक्ष्य डिवाइस connected और reachable रहना चाहिए।
- डिवाइस की ध्वनि, vibration या अन्य indication का व्यवहार firmware तय करता है।
- Find-iPhone अनुरोध के लिए iPhone-side ध्वनि, vibration और UI की ज़िम्मेदारी ऐप की है।
supportsFindDevice == falseका अर्थ feature unsupported होना या डिवाइस द्वारा capability report न किया जाना हो सकता है।- दोनों में से कोई protocol authoritative active-state या duration property नहीं देता।