Cihaz Bulmaya Genel Bakış
Find API’lerini, bağlı cihazın kendisini bulmaya yönelik uyarı vermesini sağlamak veya cihaz uygulamanızdan iPhone’u bulmasını istediğinde yanıt vermek için kullanın.
Bunlar birbirine zıt iki akıştır ve farklı API’ler kullanır:
| Akış | Başlatan | Uygulamanın sorumluluğu | Tamamlanma sinyali |
|---|---|---|---|
| Cihazı bulma | Ana uygulama | DeviceFindAPI üzerinden bağlı cihazın firmware tarafından tanımlanan uyarısını başlatır veya durdurur. | Komut completion callback’i kabul edildiğini bildirir. Desteklenen cihaz daha sonra deviceDidReportFound olayını gönderebilir. |
| iPhone’u bulma | Bağlı cihaz | Delegate callback’lerine yanıt olarak iPhone tarafında ses, titreşim veya kullanıcı arayüzünü başlatır ya da durdurur. | Kullanıcı iPhone’u bulduktan sonra sonucu FindPhoneStateReportingAPI üzerinden bildirir. |
Özelliklere Genel Bakış
Cihazı Bulma
Bağlı AIBuds cihazında bulma işlemini başlatın
Cihaz Bulmayı Durdurma
Bağlı AIBuds cihazındaki bulma işlemini durdurun
iPhone’un Bulunduğunu Bildirme
Cihazdan gelen iPhone’u bulma isteğinin sonuçlandığını bildirin
AI desteğiyle uygulayın
Bu iş akışını AI ile uygulayın
Resmî “AIBuds Bulma Akışını Uygulama” becerisini kullanarak iş akışını uygulamanıza uyarlayın.
https://docs-aibuds.github.io/tr/skills/implement-aibuds-find-workflow adresini okuyup yönergeleri izleyin. Bu beceriyle “AIBuds Bulma Akışını Uygulama” iş akışını iOS projesinde uygulayıp doğrulayın.Başlarken
Cihaz bulma özelliğini kullanmak için şu adımları izleyin:
- Cihaza Bağlanın — Hedef AIBuds cihazıyla kullanılabilir bir bağlantı kurun.
- Akış Yönünü Seçin — Uygulamanın cihazı mı bulacağını, yoksa cihazdan gelen iPhone’u bulma isteğine mi yanıt vereceğini belirleyin.
- Protokol ve Yetenek Desteğini Denetleyin — Cihaz bulma komutları için
DeviceFindAPIkullanın vesupportsFindDevice == trueolmasını şart koşun; iPhone’un bulunduğunu bildirmek içinFindPhoneStateReportingAPIkullanın. - Doğru Bitiş Sinyalini Yönetin — Komutun kabul edilmesini fiziksel cihazın veya iPhone’un bulunduğuna dair kanıt olarak değerlendirmeyin.
Temel Kavramlar
Cihazı Bulma
- Cihazı Bul: Bağlı cihazdan bulma uyarısını başlatmasını ister.
- Cihaz Bulmayı Durdur: Bağlı cihazdan bu uyarıyı durdurmasını ister.
- Cihaz Bulundu Olayı: Desteklendiğinde
deviceDidReportFound(_:), cihaz tarafından gönderilen ayrı bir bitiş olayıdır.
DeviceFindAPI zaten bağlı olan cihaz üzerinde çalışır. Denetimleri göstermeden veya komut göndermeden önce supportsFindDevice değerini kontrol edin. Bağlı cihaz bu yeteneği bildirmezse özellik varsayılan olarak false olur. API, Bluetooth keşfi yapmaz veya yakındaki cihazları taramaz.
iPhone’u Bulma
deviceDidRequestStartFindingPhone(_:), uygulamadan iPhone tarafındaki uyarıyı başlatmasını ister.deviceDidRequestStopFindingPhone(_:), uygulamadan bu uyarıyı durdurmasını ister.- Kullanıcı iPhone’u bulduktan sonra sonucu isteği gönderen cihaza bildirmek için
notifyPhoneFound(_:)çağırın.
Protokol Referansı
Cihaz bulma komutlarına DeviceFindAPI üzerinden erişilir:
- 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;
}Ters yöndeki iPhone’u bulma akışı, cihazdan gelen istekten sonra FindPhoneStateReportingAPI kullanır:
- 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;
}En İyi Uygulamalar
- Akış Yönlerini Ayırın: iPhone tarafındaki uyarıyı gerçekleştirmek için
DeviceFindAPIkullanmayın. - Protokol ve Yetenek Desteğini Denetleyin: Gerekli protokolü doğrulayın ve cihaz bulma denetimlerini göstermeden önce
supportsFindDevicedeğerini kontrol edin. - Kabul ile Sonucu Ayırın: Başarılı completion komutun işlendiğini doğrular; hedefin fiziksel olarak bulunduğunu değil.
- Durdurma Yolu Sunun: Kullanıcıların etkin cihaz veya iPhone uyarısını durdurabilmesini sağlayın.
- Kullanıcı Arayüzünü Ana Kuyrukta Güncelleyin: Callback’lerde yapılan UIKit değişikliklerini ana kuyruğa yönlendirin.
Notlar
- Cihaz bulma komutları hedef cihazın bağlı ve erişilebilir kalmasını gerektirir.
- Cihaz tarafındaki ses, titreşim ve diğer uyarı davranışları firmware tarafından tanımlanır.
- iPhone bulma isteğinde kullanılan iPhone tarafındaki ses, titreşim ve kullanıcı arayüzünü uygulama yönetir.
supportsFindDevice == false, özelliğin desteklenmediği veya cihazın bu yeteneği bildirmediği anlamına gelebilir.- Protokollerin hiçbiri kesin etkin durum veya süre özelliği sunmaz.