Ana içeriğe geç

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şlatanUygulamanın sorumluluğuTamamlanma sinyali
Cihazı bulmaAna uygulamaDeviceFindAPI ü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 bulmaBağlı cihazDelegate 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ış

AI desteğiyle uygulayın

AI ile geliştirin

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.
Resmî beceriyi görüntüle

Başlarken

Cihaz bulma özelliğini kullanmak için şu adımları izleyin:

  1. Cihaza Bağlanın — Hedef AIBuds cihazıyla kullanılabilir bir bağlantı kurun.
  2. 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.
  3. Protokol ve Yetenek Desteğini Denetleyin — Cihaz bulma komutları için DeviceFindAPI kullanın ve supportsFindDevice == true olmasını şart koşun; iPhone’un bulunduğunu bildirmek için FindPhoneStateReportingAPI kullanın.
  4. 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
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
}

Ters yöndeki iPhone’u bulma akışı, cihazdan gelen istekten sonra FindPhoneStateReportingAPI kullanır:

Swift
guard let reporter = device as? FindPhoneStateReportingAPI else {
    print("Device cannot receive an iPhone-found report")
    return
}

En İyi Uygulamalar

  1. Akış Yönlerini Ayırın: iPhone tarafındaki uyarıyı gerçekleştirmek için DeviceFindAPI kullanmayın.
  2. Protokol ve Yetenek Desteğini Denetleyin: Gerekli protokolü doğrulayın ve cihaz bulma denetimlerini göstermeden önce supportsFindDevice değerini kontrol edin.
  3. Kabul ile Sonucu Ayırın: Başarılı completion komutun işlendiğini doğrular; hedefin fiziksel olarak bulunduğunu değil.
  4. Durdurma Yolu Sunun: Kullanıcıların etkin cihaz veya iPhone uyarısını durdurabilmesini sağlayın.
  5. 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.