En İyi Uygulamalar
AIBuds özellikleri Bluetooth komutlarını, aygıtın sunduğu Wi-Fi iş akışlarını, AI hizmetlerini, medya işlemeyi ve isteğe bağlı tanılama modüllerini kapsar. Güvenilir bir entegrasyon her SDK çağrısını bağımsız bir istek saymak yerine bu sınırları görünür kılar.
Modül Sınırlarını Açık Tutun
AIBudsFoundation, paylaşılan modelleri, yetenekleri ve değer türlerini içerir.AIBuds, aygıt keşfi, bağlantı ve aygıta yönelik özellik protokollerini yönetir.- AI modülleri, servis sağlayıcı yapılandırmasını ve AI oturumu yaşam döngülerini yönetir.
- Günlükleme, AI analiz panosu, canlı yayın, çökme raporlayıcı ve video sabitleme isteğe bağlı işletim veya medya modülleridir.
- Ürün paketin tamamını bilinçli olarak kullanıyorsa
AIBudsAllInOneuygundur; modüler ürünler yalnızca kullandıkları bileşenleri entegre etmelidir.
Ürün politikasını SDK katmanının dışında tutun. Arayüz denetleyicileri işi bir koordinatöre yaptırmalı; bu sahip etkin aygıtı, geri çağrıları, oynatıcıyı, içe aktarıcıyı veya AI oturumunu tamamlanana kadar saklamalıdır.
Tek Bir SDK Sahibi Belirleyin
Seçilen modülleri uygulama yaşam döngüsünde bir kez başlatın; yapılandırmayı, delegeleri, servis sağlayıcı seçimini ve isteğe bağlı eklenti kaydını tek yerde tutun. Başlatma için doğru kaynak olarak Yapılandırma sayfasını kullanın; özellik sayfaları alternatif başlatma yollarına dönüşmemelidir.
Hazır Olma Durumunu ve Yeteneği Denetleyin
Bağlı bir aygıt her özelliği desteklemek zorunda değildir. Bir işlem çağırmadan önce:
- Hedef aygıtın hâlâ etkin ve hazır olduğunu doğrulayın.
DeviceInfoAPIveyaLiveStreamingAPIgibi özellik protokolüne uyumu denetleyin.- Varsa özelliğe özgü yetenek özelliğini denetleyin.
- Komut hatasını yetenek tespiti olarak kullanmak yerine kullanılamıyor durumunu gösterin.
Yeniden bağlandıktan veya aygıt değiştirdikten sonra bu koşulları tekrar değerlendirin. Yetenekleri hesap genelindeki ürün ayarları gibi önbelleğe almayın.
Kabul ile Tamamlanmayı Ayırın
Birçok geri çağrı daha büyük bir işlemin yalnızca bir aşamasını bildirir. OTA'yı başlatmak, aygıt moduna girmek, RTSP adresini almak ve medya indirmeyi tamamlamak farklı kilometre taşlarıdır.
idle -> preparing -> active/progress -> finishing -> completed | failed | cancelledNihai sonucu yalnızca belgelenmiş son geri çağrı belirlemelidir. Başarılı başlatma geri çağrısı, %100 ilerleme veya ara URL uçtan uca başarı olarak sunulmamalıdır. Bu ayrım özellikle OTA, Kamera OTA, Medya Dosyası İçe Aktarma, Canlı Yayın, AI ses kaydı, eşzamanlı çeviri ve açık başlatma/durdurma özelliklerinde önemlidir.
Temizlemeyi Yinelenebilir Hale Getirin
Uzun süren her iş akışına tek bir sahip ve başarı, hata, iptal, sayfadan ayrılma, bağlantı kopması veya arka plana geçiş sonrasında güvenle tekrar çağrılabilen tek bir temizleme yolu verin. Temizleme genellikle şunları içerir:
- destekleniyorsa aygıta yönelik oturumu durdurmak;
- yerel oynatıcıyı, yayıncıyı, kaydediciyi veya işleyiciyi durdurup serbest bırakmak;
- abonelikleri iptal edip gözlemcileri kaldırmak;
- bekleyen arayüz işlerini geçersiz kılmak;
- geri çağrıları ve geçici dosyaları temizlemek;
- arayüzü nihai sonuca göre geri yüklemek.
Bir görünümün kaybolmasını ara katman veya aygıt işinin durduğu anlamına saymayın.
Geri Çağrı Kuyruğunu Belirtilmemiş Sayın
API açıkça bir kuyruk garantisi vermiyorsa UIKit güncellemelerini ana kuyruğa gönderin; kod çözme, dosya G/Ç, ayrıştırma ve diğer maliyetli işleri bu kuyruktan uzaklaştırın. Başka bir SDK geri çağrısını eşzamanlı beklerken SDK geri çağrısını asla engellemeyin.
Ağ Geçişlerini Hesaba Katın
Medya Dosyası İçe Aktarma, Kamera OTA ve RTSP Canlı Yayın aygıtın erişim noktasına bağlanabilir. iPhone'un internet rotası değişebilir ve erişim noktasının kaybı Bluetooth durumundan bağımsızdır. Mevcut aşamayı gösterin, işlem yapılabilir ilk hatayı koruyun ve yalnızca belgelenmiş güvenli bir sınırdan yeniden başlatın.
Hassas Verileri Bilinçli Yönetin
AI dökümleri, kayıtlar, çeviriler, raporlar, günlükler, çökme raporları, medya ve analiz panosu sayfaları kullanıcı verisi içerebilir.
- Saklama ve silme politikalarını tanımlayın.
- Tanılama araçlarını amaçlanan derlemeler ve ağlarla sınırlandırın.
- Kimlik bilgilerini ve tanımlayıcıları günlüklerden çıkarın.
- Yalnızca etkin özelliklerin gerektirdiği izinleri isteyin.
- Yüklemeleri ve harici AI işlemeyi ürünün gizlilik tasarımında görünür kılın.
- Geçici SDK çıktısını yanlışlıkla uzun süreli depolamaya taşımayın.
Yetkili Çıktıyı ve Geri Dönüşleri Koruyun
Bir iş akışı özgün ve işlenmiş çıktı ürettiğinde türetilmiş dosya doğrulanana kadar özgün dosyayı saklayın. Örneğin video sabitleme hatası, indirilen kaynak dosyayı mutlaka geçersiz kılmaz.
Yetkili durum olarak genel sonuç modellerini ve nihai geri çağrıları kullanın. Demo etiketleri, çıkarılan durum kodları ve arayüz ilerlemesi yalnızca sunum göstergesidir; SDK sözleşmesinin yerine geçmez.
Entegrasyon İnceleme Listesi
- Başlatma ve isteğe bağlı eklenti kaydının tek bir sahibi var.
- Her özellik hazır olma durumunu, protokol uyumunu ve yeteneği denetliyor.
- Ara geri çağrılar ile nihai sonuçlar ayrı tutuluyor.
- UIKit değişiklikleri ana kuyrukta çalışıyor.
- Uzun süren iş akışlarının yinelenebilir temizleme yolu var.
- Erişim noktası ve internet rotası değişiklikleri kullanıcı deneyimine yansıtılıyor.
- İsteğe bağlı işleme başarısız olduğunda özgün medya korunuyor.
- Tanılama verileri ürünün gizlilik politikasına uyuyor.
- Fiziksel aygıt testleri kesinti, bağlantı kopması, yeniden deneme ve sayfadan ayrılmayı kapsıyor.
- Her SDK güncellemesinden sonra API Reference ve özellik kılavuzu yeniden denetleniyor.