Tworzenie sesji i zarządzanie nimi

Sesje stanowią podstawę interfejsu Picker API, zapewniając bezpieczny i kontrolowany umożliwia użytkownikom wybieranie zdjęć i albumów z ich biblioteki Zdjęć Google. Z tego przewodnika dowiesz się, jak tworzyć sesje ankietowania, nimi zarządzać i skutecznie je przeprowadzać, aby umożliwić płynny wybór zdjęć w aplikacji.

Zanim rozpoczniesz

  • Skonfiguruj aplikację:włącz interfejs API i skonfiguruj uwierzytelnianie. Zobacz Skonfiguruj aplikację, aby poznać szczegóły. kroków.
  • Zapoznaj się z funkcją: przeczytaj, jak zacząć korzystać z interfejsu Picker API. znajdziesz poniżej opis całego procesu wyboru zdjęć.
  • Sprawdź wymagane zakresy autoryzacji: praca z sesjami wymaga Zakres: photospicker.mediaitems.readonly. Więcej informacji o zakresach Więcej informacji znajdziesz w sekcji Zakresy autoryzacji.

Cykl życia sesji

Interfejs Picker API udostępnia metody tworzenia, pobierania informacji o usunąć sesje. Po uwierzytelnieniu użytkowników możesz używać sesji do zarządzania w cyklu wyboru zdjęć.

  1. Utwórz sesję, aby umożliwić użytkownikowi wybranie elementów multimedialnych.
  2. Przeprowadź ankietę w ramach sesji, aby sprawdzić, kiedy użytkownik skończono wybierać elementy multimedialne.
  3. Wyświetl listę i pobierz elementy multimedialne.
  4. Wyczyść sesję, usuwając ją.

Utwórz sesje

Utwórz sesję, aby użytkownicy mogli bezpiecznie wybierać zdjęcia bezpośrednio z aplikacji Zdjęcia Google i udostępniać je w Twojej aplikacji.

Funkcja sessions.create generuje nową sesję, zwracając unikalny pickerUri, który które możesz prezentować użytkownikom. Sesja pozostanie aktywna do czasu, gdy użytkownik udało się wybrać elementy multimedialne albo upłynął limit czasu sesji.

Ograniczenia sesji

Pamiętaj o limitach sesji. Interfejs Picker API nakłada limity na liczbę sesji, które możesz utworzyć, aby zapewnić odpowiedzialne korzystanie i zapobiec nadużyciom. Poniżej w normalnych okolicznościach nie jest prawdopodobne, że osiągniesz te limity. Zalecamy jednak aktywnie śledzić i usuwać sesje, aby uniknąć problemów.

Przeprowadzaj ankiety i monitoruj sesje

Po utworzeniu sesji okresowo sprawdzaj punkt końcowy sessions.get, aby uzyskać stan sesji. W odpowiedzi zwracana jest właściwość mediaItemsSet. true, gdy użytkownik zakończy zaznaczanie.

Pamiętaj o używaniu efektywnego odpytywania. Odpowiedź sessions.get zawiera parametr pollingConfig obiekt. Użyj tych pól, aby uniknąć zbędnych danych i zapewniają wygodę użytkowników:

  • pollInterval: optymalne odstępy odpytywania
  • timeoutIn: czas oczekiwania

Więcej informacji znajdziesz w sekcji Przykładowy proces odpytywania.

Usuwanie i czyszczenie sesji

sessions.delete usuwa sesję, zwykle używana do czyszczenia po użytkowniku zakończył(a) wybieranie multimediów lub sesja wygasła.

Sprawdzoną metodą jest usuwanie sesji po wybraniu elementów multimedialnych przez użytkownika. a aplikacja pobrała element multimedialny bajtów.

Przykładowy przepływ odpytywania

To jest przykład tworzenia i odpytywania sesji. Po pierwszym uwierzytelnieniu utwórz nową sesję.

  1. Utwórz sesję: zadzwoń pod numer sessions.create, aby rozpocząć nową sesję, a następnie uzyskać pickerUri.
  2. Pokaż użytkownikowi pickerUri: wyświetl adres URL lub wygeneruj kod QR który użytkownik ma zeskanować.
  3. Ankietowanie sesji:
    1. Użyj zalecanego parametru pollInterval z pollingConfig.
    2. Sprawdź, czy mediaItemsSet jest prawdziwe.
      1. Jeśli true, przejdź do listy wybranych elementów multimedialnych.
      2. Jeśli false, kontynuuj sondowanie, aż osiągniesz timeoutIn.
    3. Łatwo radź sobie z limitami czasu i anulowaniami.
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}

Oto przykładowa odpowiedź:

{
  "id": string,
  "pickerUri": string,
  "pollingConfig": {
    object (PollingConfig)
  },
  "mediaItemsSet": boolean
}

Wyświetl użytkownikowi pickerUri, a potem rozpocznij ankietowanie sesji.

Sprawdź, czy w odpowiedzi znajdują się te informacje:

  • mediaItemsSet: wartość „PRAWDA”, jeśli użytkownik zakończył wybieranie elementów multimedialnych
  • pollingConfig.pollInterval: zalecany czas oczekiwania przed kolejnym głosowaniem
  • pollingConfig.timeoutIn: łączny czas oczekiwania przed przekroczenie limitu czasu

Jeśli mediaItemsSet ma wartość fałsz i nie osiągnięto wartości timeoutIn, poczekaj na pollInterval, a potem ponownie przeprowadź ankietę.

Jeśli mediaItemsSet ma wartość prawda, przejdź do wyświetlania listy wybranych elementów multimedialnych.

Jeśli limit czasu został osiągnięty, limit czasu wynosi timeoutIn.