Podcast arama ekranının temel işi, dinleyicinin bir program ya da bölüm seçmesini sağlamaktır. Önce bunu çözün. Sonucun ne olduğunu anlatmayan bir ekrana daha çok filtre eklemek, ekranı daha yararlı yapmaz.

Program ile bölümü ayırın

Program bir seridir. Bölüm ise o serinin tek bir kaydıdır. Bu ayrımı sonuçlarda açıkça gösterin. Program kartında ad, yayıncı ve kapak yeterli olabilir. Bölüm kartına program adını ve yayın tarihini de ekleyin. Bağlantıları başlığa değil, kalıcı bir kimliğe bağlayın. Başlık daha sonra değişebilir.

Planınıza üç örnek arama ekleyin: adı bilinen bir program, genel bir konu ve yazım hatası içeren bir kelime. İlk sürümünüzü denerken bu üç aramayı kullanın.

Gizli anahtarı sunucuda tutun

Tarayıcı veya mobil uygulama, sizin backend’inize istek göndersin. Podcast API’sine gizli anahtarla ulaşan katman bu backend olsun. Anahtarı herkese açık JavaScript dosyasına veya mobil uygulama paketine koymayın. Gizli bir form alanı da anahtarı korumaz.

Makul bir zaman aşımı belirleyin. Servise ulaşılamıyorsa arama metnini koruyup yeniden deneme seçeneği sunun. Servis hatasına “podcast bulunamadı” demeyin. Bu iki durumun çözümü farklıdır.

Sonraki sayfayı sözleşmeye göre alın

Küçük bir sonuç sayfasıyla başlayın. API’nin döndürdüğü sonraki sayfa değerini kullanın. Servis bir cursor veriyorsa bu değeri yorumlamadan geri gönderin. Yeni bir değer hesaplamaya çalışmayın. Arama değiştiğinde eski sonuç listesini temizleyin.

Podcast Index belgeleri, bir podcast veri servisinde bulunabilecek alanları ve endpoint gruplarını görmek için yararlı bir kaynaktır. Her sağlayıcının sözleşmesi ayrıdır. Alan adlarını bir servisten diğerine kontrol etmeden taşımayın.

Boş sonuç için bir çıkış yolu gösterin

Daha kısa bir arama veya başka bir sonuç türü önerin. Dinleyicinin katalog yapısını öğrenmesi gerekmemeli.

İlk adım olarak bir sonuç kartı ve bir hata durumu hazırlayın. Filtre sayısını artırmadan önce ikisini de anlaşılır hale getirin.

Podnivo henüz lansman öncesi aşamada. Podcast arama API’sini inceleyin ve entegrasyondan önce yayımlanan API sözleşmesini kontrol edin.