Sitzungen sind das Herzstück der Picker API. Sie bieten Nutzern eine sichere und kontrollierte Möglichkeit, Fotos und Videos aus ihrer Google Fotos-Mediathek auszuwählen. In diesem Leitfaden erfahren Sie, wie Sie Sitzungen erstellen, verwalten und effektiv abfragen, um eine nahtlose Fotoauswahl in Ihrer App zu ermöglichen.
Vorbereitung
- App konfigurieren:Aktivieren Sie die API und richten Sie die Authentifizierung ein. Eine detaillierte Anleitung finden Sie unter App konfigurieren.
- Ablauf verstehen:Im Hilfeartikel Erste Schritte mit der Picker API finden Sie einen Überblick über den gesamten Prozess der Bildauswahl.
- Erforderliche Autorisierungsbereiche prüfen: Für die Arbeit mit Sitzungen ist der Bereich
photospicker.mediaitems.readonly
erforderlich. Weitere Informationen zu Bereichen finden Sie unter Autorisierungsbereiche.
Sitzungslebenszyklus
Die Picker API bietet Methoden zum Erstellen, Abrufen von Informationen zu und Löschen von Sitzungen. Nach der Authentifizierung der Nutzer können Sie mithilfe von Sitzungen den Lebenszyklus der Bildauswahl verwalten.
- Erstellen Sie eine Sitzung, damit Nutzer Medienelemente auswählen können.
- Prüfe die Sitzung, um festzustellen, ob der Nutzer die Auswahl der Medienelemente abgeschlossen hat.
- Medienelemente auflisten und abrufen
- Bereinigen Sie die Sitzung, indem Sie sie löschen.
Sitzungen erstellen
Erstellen Sie eine Sitzung, damit Ihre Nutzer Fotos direkt aus der Google Fotos App auswählen und in Ihrer App teilen können.
sessions.create
generiert eine neue Sitzung und gibt eine eindeutige pickerUri
zurück, die du deinen Nutzern präsentieren kannst. Die Sitzung bleibt aktiv, bis der Nutzer Medienelemente ausgewählt hat oder die Sitzung abläuft.
Sitzungen
Beachten Sie die Sitzungslimits. Die Picker API setzt Limits für die Anzahl der Sitzungen, die Sie erstellen können, um eine verantwortungsvolle Nutzung zu ermöglichen und Missbrauch zu verhindern. Unter normalen Umständen werden Sie diese Limits wahrscheinlich nicht erreichen. Sie sollten jedoch Sitzungen proaktiv erfassen und bereinigen, um Probleme zu vermeiden.
Sitzungen abfragen und überwachen
Nachdem eine Sitzung erstellt wurde, solltest du den sessions.get
-Endpunkt regelmäßig abfragen, um den Status einer Sitzung abzurufen. Das Attribut mediaItemsSet
in der Antwort gibt true
zurück, wenn der Nutzer seine Auswahl getroffen hat.
Verwenden Sie effiziente Abfragen. Die sessions.get
-Antwort enthält das pollingConfig
-Objekt. Mit den folgenden Feldern können Sie unnötige Aufrufe vermeiden und eine reibungslose Nutzererfahrung schaffen:
pollInterval
: optimale Polling-IntervalletimeoutIn
: Timeout-Dauer
Weitere Informationen finden Sie im Beispiel für einen Abfrageablauf.
Sitzungen löschen und bereinigen
sessions.delete
entfernt eine Sitzung. Diese Aktion wird in der Regel zum Bereinigen verwendet, nachdem der Nutzer die Medienauswahl abgeschlossen hat oder die Sitzung abgelaufen ist.
Es empfiehlt sich, Sitzungen zu löschen, sobald der Nutzer Medienelemente ausgewählt und deine App die Bytes des Medienelements abgerufen hat.
Beispiel für einen Abfrageablauf
Hier sehen Sie ein Beispiel für das Erstellen und Abfragen einer Sitzung. Nachdem du den Nutzer authentifiziert hast, erstellst du eine neue Sitzung.
- Sitzung erstellen:Rufe
sessions.create
auf, um eine neue Sitzung zu starten und diepickerUri
abzurufen. pickerUri
dem Nutzer präsentieren:Zeigen Sie die URL an oder generieren Sie einen QR-Code, den der Nutzer scannen kann. Hier finden Sie einen Überblick über die Auswahlmöglichkeiten für Nutzer.- Sitzung abfragen:
- Verwenden Sie das empfohlene pollInterval von
pollingConfig
. - Prüfen Sie, ob
mediaItemsSet
wahr ist.- Wenn
true
angezeigt wird, fahren Sie mit der Auflistung der ausgewählten Medienelemente fort. - Bei
false
wird die Abfrage fortgesetzt, bistimeoutIn
erreicht wird.
- Wenn
- Zeitüberschreitungen und Stornierungen ordnungsgemäß abwickeln.
- Verwenden Sie das empfohlene pollInterval von
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}
Sie sehen hier ein Beispiel:
{
"id": string,
"pickerUri": string,
"pollingConfig": {
object (PollingConfig)
},
"mediaItemsSet": boolean
}
Zeigen Sie dem Nutzer die pickerUri
und beginnen Sie dann mit der Abfrage der Sitzung.
Prüfen Sie die Antwort auf Folgendes:
mediaItemsSet
: „wahr“, wenn der Nutzer die Auswahl der Medienelemente abgeschlossen hatpollingConfig.pollInterval
: empfohlene Wartezeit bis zur nächsten UmfragepollingConfig.timeoutIn
: Gesamtzeit, die gewartet werden soll, bevor eine Zeitüberschreitung auftritt
Wenn mediaItemsSet
falsch ist und timeoutIn
nicht erreicht wurde, warte auf pollInterval
und wiederhole dann den Abruf.
Wenn mediaItemsSet
„wahr“ ist, fahre mit der Auflistung der ausgewählten Medienelemente fort.
Wenn timeoutIn
erreicht wird, reagieren Sie angemessen auf das Zeitlimit.