Ambiyans API, uygulamanızın ambiyans cihazlarını bir kullanıcının Google Fotoğraflar hesabına bağlamasını ve seçtiği fotoğrafları göstermesini sağlar.
Ambient API Akışı
Ambient API'nin bir cihazı bağlamak ve ardından medya öğelerini almak ve görüntülemek için nasıl çalıştığına dair döküm aşağıda verilmiştir:
Mevcut cihaz olup olmadığını kontrol edin (önerilir): Yeni bir cihaz oluşturmadan önce, mevcut kullanıcı için bir cihazın mevcut olup olmadığını kontrol etmeniz önerilir. Uygulamanız, dahili kullanıcınız ile uygulamanız üzerinden oluşturduğu tüm cihazlar için Google tarafından sağlanan
deviceIdarasında eşleme yapmalıdır. Kullanıcı için birdeviceIdbulunursa yetkilendirme jetonunu yenilemeye (gerekirse) devam edebilirsiniz.OAuth 2.0 yetkilendirmesini başlatın (ve isteğe bağlı olarak cihaz oluşturun): Yetkilendirme kodu isteyerek TV ve Sınırlı Giriş Cihazları için OAuth 2.0 akışını başlatın.
Yeni cihaz oluşturma: Uygulamanız,
CreateDeviceişlevini çağırarak ve geçerli bir v4 UUID sağlayarak kullanıcının Google Fotoğraflar hesabında bir cihaz oluşturur.Cihaz başarıyla oluşturulduktan sonra API, Google tarafından atanan bir
deviceIdiçeren birAmbientDevicenesnesi döndürür. Uygulamanızın budeviceIddeğerini depolamasının ve kullanıcılarınızla ilişkilendirmesinin çok önemli olduğunu unutmayın.settingsUri'ü gösterin:AmbientDevicenesnesi birsettingsUriiçerir. Bu URI'yi kullanıcıya genellikle mobil cihazını kullanarak tarayabileceği bir QR kodu olarak sunun. Bu URI, kullanıcıyı ambiyans cihazında görüntülemek istediği medya kaynaklarını (ör. albümler) yapılandırabileceği Google Fotoğraflar uygulamasına yönlendirir.mediaSourcesSetiçin anket: Uygulamanız, ortam cihazının durumunu kontrol etmek içinGetDeviceyöntemini düzenli olarak çağırarakdeviceIddeğerini sağlamalıdır.AmbientDeviceyanıtındakimediaSourcesSetalanını izleyin. Başlangıçta yanlış olur.Kullanıcı Google Fotoğraflar uygulamasında medya kaynaklarını başarıyla seçtikten sonra bu alan true olarak değişir.
AmbientDeviceyanıtı, anket sıklık kılavuzu olarak kullanmanız gereken birpollIntervaliçeren birpollingConfigiçerir.Medya öğelerini getirme:
mediaSourcesSetdoğru değerini döndürdüğünde uygulamanız, kullanıcı tarafından seçilen medya öğelerini getirmeye başlayabilir.deviceIddeğerini sağlayarakListMediaItemsyöntemini çağırın. API,AmbientMediaItemnesnesinin listesini içeren birListMediaItemsResponsedöndürür. HerAmbientMediaItem,id,createTimeve ek meta veriler içeren birMediaFilenesnesi gibi ayrıntılar içerir.MediaFile, bir medya öğesinin gerçek baytlarını almak için kullanabileceğiniz birbaseUrliçerir. EkbaseUrlparametreleri hakkında ayrıntılı bilgi için Medya öğelerini listeleme ve getirme kılavuzunu inceleyin.Medya öğelerini görüntüleme: Medya içeriğini ambiyans cihazına indirip görüntülemek için
MediaFile'dakibaseUrl'ü kullanın.
Dikkat Edilecek Önemli Noktalar
Cihaz sınırı ve yönetimi:
- Cihaz sınırlamaları: Uygulamanızın kullanıcısı başına 100 cihaz sınırı olduğunu unutmayın.
- Cihaz etkinliği ve jetonlar: Cihazların ve kullanıcı yetkilendirme jetonlarının yaşam döngüsünü yönetmeniz gerekir. Cihazların ne kadar süre boyunca etkin kalacağını ve bir cihaz etkin olmadığında veya jetonun süresi dolduğunda jeton yenileme veya yeniden yetkilendirme işlemlerini nasıl yöneteceğinizi düşünün.
Cihaz oluşturma ve yönetme başlıklı kılavuzda daha fazla bilgi verilmektedir.
Medya öğeleriyle çalışma:
- Medya öğesi kullanımı: Gerekli kimlik doğrulama veya parametreler dahil olmak üzere
baseUrl'ü kullanarak medya öğesi içeriğini nasıl düzgün bir şekilde alıp işleyeceğinizi öğrenin. - Hata işleme: Cihazlar için
NOT_FOUND, medya kaynakları ayarlanmamışsaFAILED_PRECONDITIONve cihaz sınırlarına ulaşıldığındaRESOURCE_EXHAUSTEDgibi senaryolar da dahil olmak üzere API çağrıları için güçlü bir hata işleme yöntemi uygulayın.
Medya öğelerini listeleme ve getirme kılavuzunda daha fazla ayrıntı verilmiştir.
Sonraki Adımlar
- Uygulamanızı yapılandırın: Gerekli kimlik bilgilerine sahip olduğunuzu ve uygulamanızı TV ve Sınırlı Giriş Cihazları için OAuth 2.0'a göre yapılandırdığınızı doğrulayın.
- Ambient API Referans Dokümanlarını inceleyin: Mevcut tüm yöntemler, istek ve yanıt parametreleri ve hata kodları için ayrıntılı referans dokümanlarını keşfedin.