L'API Ambient permet à votre application de connecter des appareils Ambient au compte Google Photos d'un utilisateur et d'afficher les photos sélectionnées.
Flux de l'API Ambient
Voici comment l'API Ambient fonctionne pour connecter un appareil, puis récupérer et afficher des éléments multimédias:
Rechercher un appareil existant (recommandé): avant de créer un appareil, nous vous recommandons de vérifier s'il existe déjà un appareil pour l'utilisateur actuel. Votre application doit maintenir un mappage entre votre utilisateur interne et le
deviceIdfourni par Google pour tous les appareils qu'il crée via votre application. Si undeviceIdest trouvé pour l'utilisateur, vous pouvez procéder à l'actualisation de son jeton d'autorisation (si nécessaire).Lancer l'autorisation OAuth 2.0 (et éventuellement créer un appareil): commencez le flux OAuth 2.0 pour les applications TV et d'appareils à entrée limitée en demandant un code d'autorisation.
Créer un appareil: votre application crée un appareil dans le compte Google Photos d'un utilisateur en appelant
CreateDeviceet en fournissant un UUID v4 valide.Une fois l'appareil créé, l'API renvoie un objet
AmbientDevicecontenant undeviceIdattribué par Google. Il est essentiel que votre application stocke cettedeviceIdet l'associe à vos utilisateurs.Afficher le
settingsUri: un objetAmbientDeviceinclut unsettingsUri. Présentez cet URI à l'utilisateur, généralement sous la forme d'un code QR, qu'il peut scanner à l'aide de son appareil mobile. Cet URI redirige l'utilisateur vers l'application Google Photos, où il peut configurer les sources multimédias (albums, par exemple) qu'il souhaite afficher sur son appareil en mode Veille.Interroger
mediaSourcesSet: votre application doit appeler régulièrement la méthodeGetDevice, en fournissantdeviceId, pour vérifier l'état de l'appareil ambiant. Surveillez le champmediaSourcesSetdans la réponseAmbientDevice. Il est initialement défini sur "false".Une fois que l'utilisateur a sélectionné les sources multimédias dans l'application Google Photos, ce champ est défini sur "true".
La réponse
AmbientDeviceinclut unpollingConfigavec unpollIntervalque vous devez utiliser comme référence pour votre fréquence d'interrogation.Récupérer des éléments multimédias: lorsque
mediaSourcesSetrenvoie la valeur "true", votre application peut commencer à extraire les éléments multimédias sélectionnés par l'utilisateur.Appelez la méthode
ListMediaItemsen fournissantdeviceId. L'API renvoie unListMediaItemsResponsecontenant une liste d'objetsAmbientMediaItem. ChaqueAmbientMediaIteminclut des informations telles qu'unid, uncreateTimeet un objetMediaFileavec des métadonnées supplémentaires.MediaFilecontient unbaseUrlque vous pouvez utiliser pour extraire les octets réels d'un élément multimédia. Pour en savoir plus sur les autres paramètresbaseUrl, consultez le guide Lister et récupérer des éléments multimédias.Affichage d'éléments multimédias: utilisez
baseUrlà partir deMediaFilepour télécharger et afficher le contenu multimédia sur l'appareil en mode Veille.
Considérations importantes à prendre en compte
Limite et gestion des appareils:
- Limites d'appareils: n'oubliez pas que votre application est limitée à 100 appareils par utilisateur.
- Activité et jetons de l'appareil: vous devrez gérer le cycle de vie des appareils et des jetons d'autorisation utilisateur. Tenez compte de la durée pendant laquelle les appareils restent actifs et de la manière dont vous gérerez les actualisations ou les réautorisations de jetons si un appareil devient inactif ou si le jeton expire.
Pour en savoir plus, consultez le guide Créer et gérer des appareils.
Utiliser des éléments multimédias:
- Utilisation d'un élément multimédia: découvrez comment récupérer et gérer correctement le contenu de l'élément multimédia à l'aide de
baseUrl, y compris toute authentification ou tout paramètre nécessaire. - Gestion des erreurs: implémentez une gestion des erreurs robuste pour les appels d'API, y compris des scénarios tels que
NOT_FOUNDpour les appareils,FAILED_PRECONDITIONsi les sources multimédias ne sont pas définies etRESOURCE_EXHAUSTEDsi les limites de l'appareil sont atteintes.
Pour en savoir plus, consultez le guide Lister et récupérer des éléments multimédias.
Étapes suivantes
- Configurez votre application:vérifiez que vous disposez des identifiants nécessaires et que vous avez configuré votre application pour OAuth 2.0 pour les applications TV et d'appareils à entrée limitée.
- Consultez la documentation de référence de l'API Ambient:explorez la documentation de référence détaillée pour toutes les méthodes, les paramètres de requête et de réponse, ainsi que les codes d'erreur disponibles.