Przejście z wersji przedpremierowej pakietów SDK Vertex AI w Firebase na pakiety SDK Firebase AI Logic


Firebase AI Logic i jego pakiety SDK dla klientów były wcześniej nazywane „Vertex AI in Firebase”. Aby lepiej odzwierciedlać nasze rozszerzone usługi i funkcje (np. obsługujemy teraz Gemini Developer API!), zmieniliśmy nazwę i przekształciliśmy nasze usługi w Firebase AI Logic.

Aby bezpiecznie uzyskiwać dostęp do modeli generatywnej AI od Google bezpośrednio z aplikacji mobilnych lub aplikacji internetowych, możesz teraz wybrać dostawcę „Gemini API” – Agent Platform Gemini API (formerly Vertex AI), który jest dostępny od dawna, lub Gemini Developer API. Oznacza to, że możesz teraz korzystać z Gemini Developer API, która zapewnia bezpłatny poziom z rozsądnymi limitami i limitami żądań.

Omówienie kroków migracji do pakietów SDK Firebase AI Logic

  • Krok 1. Wybierz najlepszego dostawcę „Gemini API” dla swojej aplikacji i przypadków użycia.

  • Krok 2. Włącz wymagane interfejsy API.

  • Krok 3. Zaktualizuj bibliotekę używaną w aplikacji.

  • Krok 4. Zaktualizuj inicjowanie w aplikacji.

  • Krok 5. Zaktualizuj kod w zależności od używanych funkcji.

Krok 1. Wybierz najlepszego dostawcę „Gemini API” dla swojej aplikacji.

W ramach tej migracji możesz wybrać dostawcę „Gemini API”:

  • Starsze pakiety SDK „Vertex AI in Firebase” mogły używać tylko Agent Platform Gemini API (formerly Vertex AI).

  • Nowe pakiety SDK Firebase AI Logic pozwalają wybrać, którego dostawcę „Gemini API” chcesz wywoływać bezpośrednio z aplikacji mobilnej lub internetowej – Gemini Developer API czy Agent Platform Gemini API (formerly Vertex AI).

Sprawdź różnice między korzystaniem z 2 dostawców Gemini API, zwłaszcza w zakresie obsługiwanych funkcji, cen i limitów liczby żądań. Na przykład Gemini Developer API nie obsługuje udostępniania plików za pomocą adresów URL Cloud Storage, ale może być dobrym wyborem, jeśli chcesz skorzystać z bezpłatnego poziomu i rozsądnego limitu.

Krok 2. Włącz wymagane interfejsy API.

Aby korzystać z wybranego dostawcy „Gemini API”, sprawdź, czy w projekcie Firebase są włączone wszystkie wymagane interfejsy API.

Pamiętaj, że w projekcie możesz mieć włączonych obu dostawców interfejsów API jednocześnie.

  1. Zaloguj się w Firebasekonsoli, a potem wybierz projekt w Firebase.

  2. W konsoli Firebase otwórz Usługi AI > Logika AI.

  3. Kliknij Rozpocznij, aby uruchomić proces, który pomoże Ci skonfigurować wymagane interfejsy API i zasoby w projekcie.

  4. Wybierz dostawcę „Gemini API”, którego chcesz używać z pakietami SDK Firebase AI Logic. W każdej chwili możesz skonfigurować i używać innego dostawcę interfejsu API.

    • Gemini Developer API – płatności opcjonalne (dostępne w bezpłatnym abonamencie Spark)
      Przepływ pracy w konsoli włączy wymagane interfejsy API i utworzy klucz interfejsu API Gemini w projekcie.
      Nie dodawaj tego klucza interfejsu API Gemini do bazy kodu aplikacji. Więcej informacji

    • Agent Platform Gemini API (formerly Vertex AI) – wymagane płatności (wymaga planu cenowego Blaze z płatnościami według wykorzystania)
      Proces w konsoli włączy w Twoim projekcie wymagane interfejsy API.

  5. Przejdź do kolejnych sekcji tego przewodnika po migracji, aby dowiedzieć się, jak zaktualizować bibliotekę i inicjowanie w aplikacji.

Krok 3. Zaktualizuj bibliotekę używaną w aplikacji

Zaktualizuj bazę kodu aplikacji, aby korzystać z biblioteki Firebase AI Logic.

Swift

  1. W Xcode, po otwarciu projektu aplikacji, zaktualizuj pakiet Firebase do wersji 12.5.0 lub nowszej, korzystając z jednej z tych opcji:

    • Opcja 1. Zaktualizuj wszystkie pakiety: kliknij File (Plik) > Packages (Pakiety) > Update to Latest Package Versions (Zaktualizuj do najnowszych wersji pakietów).

    • Opcja 2. Zaktualizuj Firebase osobno: przejdź do pakietu Firebase w sekcji Package Dependencies (Zależności pakietów). Kliknij prawym przyciskiem myszy pakiet Firebase, a następnie wybierz Update Package (Zaktualizuj pakiet).

  2. Sprawdź, czy pakiet Firebase jest teraz w wersji 12.5.0 lub nowszej. Jeśli nie, sprawdź, czy określone wymagania dotyczące pakietu umożliwiają aktualizację do wersji 12.5.0 lub nowszej.

  3. W Edytorze projektu wybierz cel aplikacji, a następnie otwórz sekcję Frameworks, Libraries, and Embedded Content (Frameworki, biblioteki i treści osadzone).

  4. Dodaj nową bibliotekę: kliknij przycisk +, a następnie dodaj FirebaseAILogic z pakietu Firebase.

  5. Po zakończeniu migracji aplikacji (patrz pozostałe sekcje tego przewodnika) usuń starą bibliotekę:
    Wybierz FirebaseVertexAI-Preview, a następnie naciśnij przycisk –.

Kotlin

  1. W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) zastąp stare zależności (w odpowiednich przypadkach) tymi poniżej.

    Pamiętaj, że łatwiej może być przenieść bazę kodu aplikacji (patrz pozostałe sekcje tego przewodnika) przed usunięciem starej zależności.

    // BEFORE
    dependencies {
      implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:35.0.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. Zsynchronizuj projekt aplikacji na Androida z plikami Gradle.

Pamiętaj, że jeśli nie chcesz używać Firebase Android BoM, wystarczy dodać zależność dla biblioteki firebase-ai i zaakceptować najnowszą wersję sugerowaną przez Android Studio.

Java

  1. W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) zastąp stare zależności (w odpowiednich przypadkach) tymi poniżej.

    Pamiętaj, że łatwiej może być przenieść bazę kodu aplikacji (patrz pozostałe sekcje tego przewodnika) przed usunięciem starej zależności.

    // BEFORE
    dependencies {
      implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:35.0.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. Zsynchronizuj projekt aplikacji na Androida z plikami Gradle.

Pamiętaj, że jeśli nie chcesz używać Firebase Android BoM, wystarczy dodać zależność dla biblioteki firebase-ai i zaakceptować najnowszą wersję sugerowaną przez Android Studio.

Web

  1. Pobierz najnowszą wersję pakietu Firebase JS SDK dla aplikacji internetowych za pomocą npm:

    npm i firebase@latest

    LUB

    yarn add firebase@latest
  2. Wszędzie tam, gdzie zaimportowano bibliotekę, zaktualizuj instrukcje importowania, aby używać firebase/ai.

    Pamiętaj, że przed usunięciem starych importów może być łatwiej przenieść bazę kodu aplikacji (patrz pozostałe sekcje tego przewodnika).

    // BEFORE
    import { initializeApp } from "firebase/app";
    import { getVertexAI, getGenerativeModel } from "firebase/vertexai-preview";
    
    
    // AFTER
    import { initializeApp } from "firebase/app";
    import { getAI, getGenerativeModel } from "firebase/ai";

Dart

  1. Zaktualizuj pakiet firebase_ai w pliku pubspec.yaml, uruchamiając to polecenie w katalogu projektu Flutter:

    flutter pub add firebase_ai
  2. Ponownie skompiluj projekt Fluttera:

    flutter run
  3. Po zakończeniu migracji aplikacji (patrz pozostałe sekcje tego przewodnika) usuń stary pakiet:

    flutter pub remove firebase_vertexai

Unity

Obsługa Unity nie była dostępna od „Vertex AI in Firebase”.

Dowiedz się, jak zacząć korzystać z pakietu Firebase AI Logic SDK na potrzeby Unity.

Krok 4. Zaktualizuj inicjowanie w aplikacji

Kliknij Gemini API dostawcę, aby wyświetlić na tej stronie treści i kod dostawcy.

Zaktualizuj sposób inicjowania usługi dla wybranego dostawcy interfejsu API i utwórz instancję GenerativeModel.

Swift


import FirebaseAILogic

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.8-flash")

Kotlin


// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-3.8-flash")

Java


// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-3.8-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(ai, { model: "gemini-3.8-flash" });

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-3.8-flash');

Unity

Pomoc dotycząca Unity nie była dostępna od „Vertex AI in Firebase”.

Dowiedz się, jak zacząć korzystać z pakietu SDK Firebase AI Logic w Unity.

Pamiętaj, że w zależności od używanej funkcji nie zawsze możesz utworzyć instancję GenerativeModel. Aby przesyłać strumieniowo dane wejściowe i wyjściowe za pomocą Gemini Live API, utwórz instancję LiveModel.

Krok 5. Zaktualizuj kod w zależności od używanych funkcji

W tym kroku opisujemy zmiany, które mogą być wymagane w zależności od używanych funkcji.

  • Jeśli używasz adresów URL Cloud Storage i podczas tej migracji przełączysz się na Gemini Developer API, musisz zaktualizować żądania multimodalne, aby uwzględniały pliki jako dane wbudowane (lub używać adresów URL YouTube w przypadku filmów).

  • W wersjach GA pakietów SDK „Vertex AI in Firebase” wprowadziliśmy kilka zmian. Te same zmiany są wymagane w przypadku korzystania z Firebase AI Logicpakietów SDK. Przejrzyj poniższe listy, aby sprawdzić, czy musisz wprowadzić jakieś zmiany w kodzie, aby dostosować go do pakietu SDK Firebase AI Logic.

Wymagany w przypadku wszystkich języków i platform

  • Wywoływanie funkcji
    Jeśli ta funkcja została wdrożona przed udostępnieniem ogólnym, musisz zaktualizować sposób definiowania schematu. Zalecamy zapoznanie się ze zaktualizowanym przewodnikiem po wywoływaniu funkcji, aby dowiedzieć się, jak pisać deklaracje funkcji.

  • Generowanie uporządkowanych danych wyjściowych (np. JSON) za pomocą responseSchema
    Jeśli ta funkcja została wdrożona przed GA, musisz wprowadzić zmiany w sposobie definiowania schematu. Zalecamy zapoznanie się z nowym przewodnikiem po ustrukturyzowanych danych wyjściowych, aby dowiedzieć się, jak pisać schematy JSON.

  • Limit czasu

    • Zmieniliśmy domyślny limit czasu dla żądań na 180 sekund.

Wymagane w zależności od platformy lub języka

Swift

  • Wyliczenia

    • Zastąpiono większość typów enum typami struct ze zmiennymi statycznymi. Ta zmiana zapewnia większą elastyczność w rozwijaniu interfejsu API w sposób zgodny wstecznie. Jeśli używasz instrukcji switch, musisz teraz uwzględnić przypadek default:, aby uwzględnić nieznane lub nieobsługiwane wartości, w tym nowe wartości, które zostaną dodane do pakietu SDK w przyszłości.

    • Zmieniono nazwę wyliczenia BlockThreshold na HarmBlockThreshold. Ten typ to teraz struct.

    • Usunięto przypadki unknown i unspecified z tych wyliczeń (obecnie struct): HarmCategory, HarmBlockThreshold, HarmProbability, BlockReason i FinishReason.

    • Zastąpiono wyliczenie ModelContent.Part protokołem o nazwie Part, aby umożliwić dodawanie nowych typów w sposób zapewniający zgodność wsteczną. Ta zmiana jest bardziej szczegółowo opisana w sekcji Części treści.

  • Części treści

    • Usunęliśmy protokół ThrowingPartsRepresentable i uprościliśmy inicjatory dla ModelContent, aby uniknąć sporadycznych błędów kompilatora. Obrazy, które nie są prawidłowo zakodowane, będą nadal powodować błędy podczas używania w generateContent.

    • Zastąpiono przypadki ModelContent.Part tymi typami struct zgodnymi z protokołem Part:

      • .text do TextPart
      • .data do InlineDataPart
      • .fileData do FileDataPart
      • .functionCall do FunctionCallPart
      • .functionResponse do FunctionResponsePart
  • Kategoria szkodliwości

    • Zmieniliśmy element HarmCategory, aby nie był już zagnieżdżony w typie SafetySetting. Jeśli odnosisz się do niego jako SafetySetting.HarmCategory, możesz zastąpić to określenie słowem HarmCategory.
  • Opinie dotyczące bezpieczeństwa

    • Usunęliśmy typ SafetyFeedback, ponieważ nie był używany w żadnej z odpowiedzi.
  • Metadane cytowania

    • Zmieniono nazwę właściwości citationSources na citations w: CitationMetadata.
  • Łączna liczba znaków podlegających opłacie

    • Zmieniono właściwość totalBillableCharacters w CountTokensResponse, aby była opcjonalna, co odzwierciedla sytuacje, w których nie są wysyłane żadne znaki.
  • Odpowiedź kandydata

    • Zmieniono nazwę CandidateResponse na Candidate, aby dopasować ją do innych platform.
  • Konfiguracja generowania

    • Zmieniono publiczne właściwości GenerationConfig na internal. Wszystkie te ustawienia można nadal konfigurować w inicjatorze.

Kotlin

  • Wyliczenia

    • Zastąpiliśmy zajęcia enum i sealed zwykłymi zajęciami. Ta zmiana zapewnia większą elastyczność w rozwijaniu interfejsu API w sposób zgodny wstecznie.

    • Zmieniono nazwę wyliczenia BlockThreshold na HarmBlockThreshold.

    • Usunięto wartości z tych wyliczeń: HarmBlockThreshold, HarmProbability, HarmSeverity, BlockReason i FinishReason.

  • Metody obiektu Blob

    • Zmieniliśmy nazwy wszystkich metod, które zawierały znak Blob, tak aby zamiast niego używały znaku InlineData.
  • Ustawienia bezpieczeństwa

    • Pole method zostało zmienione na dopuszczające wartość null.
  • Klasa czasu trwania

    • Usunęliśmy wszystkie przypadki użycia klasy Duration w Kotlinie i zastąpiliśmy je klasą long. Ta zmiana zapewnia lepszą interoperacyjność z Javą.
  • Metadane cytatu

    • Wszystkie pola zadeklarowane wcześniej w CitationMetadata zostały opakowane w nową klasę o nazwie Citation. Cytaty znajdziesz na liście citations w aplikacji CitationMetadata. Ta zmiana pozwala lepiej dopasować typy na różnych platformach.
  • Licz tokeny

    • Pole totalBillableCharacters zostało zmienione na dopuszczające wartość null.
  • Łączna liczba znaków podlegających opłacie

    • Zmieniliśmy właściwość totalBillableCharacters w CountTokensResponse na opcjonalną, aby odzwierciedlić sytuacje, w których nie są wysyłane żadne znaki.
  • Tworzenie instancji modelu

    • Przeniesiono parametr requestOptions na koniec listy parametrów, aby był zgodny z innymi platformami.
  • Live API

    • Usunięto wartość UNSPECIFIED dla klasy wyliczeniowej ResponseModality. Zamiast tego użyj null.

    • Zmieniono nazwę LiveGenerationConfig.setResponseModalities na LiveGenerationConfig.setResponseModality.

    • Usunęliśmy klasę LiveContentResponse.Status i zamiast tego zagnieździliśmy pola stanu jako właściwości klasy LiveContentResponse.

    • Usunęliśmy klasę LiveContentResponse i zamiast niej udostępniliśmy podklasy LiveServerMessage, które odpowiadają odpowiedziom z modelu.

    • Zmieniono wartość zwracaną z LiveModelFutures.connect na ListenableFuture<LiveSessionFutures> zamiast ListenableFuture<LiveSession>.

Java

  • Wyliczenia

    • Zastąpiliśmy zajęcia enum i sealed zwykłymi zajęciami. Ta zmiana zapewnia większą elastyczność w rozwijaniu interfejsu API w sposób zgodny wstecznie.

    • Zmieniono nazwę wyliczenia BlockThreshold na HarmBlockThreshold.

    • Usunięto wartości z tych wyliczeń: HarmBlockThreshold, HarmProbability, HarmSeverity, BlockReason i FinishReason.

  • Metody obiektu Blob

    • Zmieniliśmy nazwy wszystkich metod, które zawierały znak Blob, tak aby zamiast niego używały znaku InlineData.
  • Ustawienia bezpieczeństwa

    • Pole method zostało zmienione na dopuszczające wartość null.
  • Klasa czasu trwania

    • Usunęliśmy wszystkie przypadki użycia klasy Duration w Kotlinie i zastąpiliśmy je klasą long. Ta zmiana zapewnia lepszą interoperacyjność z Javą.
  • Metadane cytatu

    • Wszystkie pola zadeklarowane wcześniej w CitationMetadata zostały opakowane w nową klasę o nazwie Citation. Cytaty znajdziesz na liście citations w aplikacji CitationMetadata. Ta zmiana pozwala lepiej dopasować typy na różnych platformach.
  • Licz tokeny

    • Pole totalBillableCharacters zostało zmienione na dopuszczające wartość null.
  • Łączna liczba znaków podlegających opłacie

    • Zmieniliśmy właściwość totalBillableCharacters w CountTokensResponse na opcjonalną, aby odzwierciedlić sytuacje, w których nie są wysyłane żadne znaki.
  • Tworzenie instancji modelu

    • Przeniesiono parametr requestOptions na koniec listy parametrów, aby był zgodny z innymi platformami.
  • Live API

    • Usunięto wartość UNSPECIFIED dla klasy wyliczeniowej ResponseModality. Zamiast tego użyj null.

    • Zmieniono nazwę LiveGenerationConfig.setResponseModalities na LiveGenerationConfig.setResponseModality.

    • Usunęliśmy klasę LiveContentResponse.Status i zamiast tego zagnieździliśmy pola stanu jako właściwości klasy LiveContentResponse.

    • Usunęliśmy klasę LiveContentResponse i zamiast niej udostępniliśmy podklasy LiveServerMessage, które odpowiadają odpowiedziom z modelu.

    • Zmieniono LiveModelFutures.connect, aby zwracać ListenableFuture<LiveSessionFutures> zamiast ListenableFuture<LiveSession>.

  • Zmieniono różne metody konstruktora Java, aby zwracały instancję swojej klasy zamiast void.

Web

  • Wyliczenia

    • Usunięto wartości z tych wyliczeń: HarmCategory, BlockThreshold, HarmProbability, HarmSeverity, BlockReason i FinishReason.
  • Powód zablokowania

    • Zmieniono pole blockReason w PromptFeedback na opcjonalne.

Zmiany są wymagane tylko wtedy, gdy zaczynasz używać Gemini Developer API (zamiast Agent Platform Gemini API (formerly Vertex AI)):

  • Ustawienia bezpieczeństwa

    • Usunięto użycia nieobsługiwanego znaku SafetySetting.method.
  • Dane wbudowane

    • Usunięto przypadki użycia nieobsługiwanego elementu InlineDataPart.videoMetadata.

Dart

  • Wyliczenia

    • Usunęliśmy wartości z tych wyliczeń: HarmCategory, HarmProbability, BlockReason i FinishReason.
  • Część danych

    • Zmieniliśmy nazwę funkcji DataPart na InlineDataPart, a funkcji static data na inlineData, aby była zgodna z innymi platformami.
  • Opcje żądania

    • Usunięto RequestOptions, ponieważ timeout nie działało. W najbliższej przyszłości dodamy go ponownie, ale zostanie on przeniesiony do typu GenerativeModel, aby dopasować go do innych platform.
  • Sekwencje zatrzymania

    • Zmieniono parametr stopSequences w GenerationConfig na opcjonalny i domyślnie ustawiony na null zamiast pustej tablicy.
  • Cytowania

    • Zmieniono nazwę właściwości citationSources na citations w CitationMetadata. Typ CitationSource został zmieniony na Citation, aby był zgodny z innymi platformami.
  • Niepotrzebne typy, metody i właściwości publiczne

    • Usunięto te typy, metody i właściwości, które zostały udostępnione nieumyślnie: defaultTimeout, CountTokensResponseFields, parseCountTokensResponse, parseEmbedContentResponse, parseGenerateContentResponse, parseContent, BatchEmbedContentsResponse, ContentEmbedding, EmbedContentRequest i EmbedContentResponse.
  • Zliczanie tokenów

    • Usunęliśmy z funkcji countTokens dodatkowe pola, które nie są już potrzebne. Wystarczy contents.
  • Tworzenie instancji modelu

    • Przenieśliśmy parametr systemInstruction na koniec listy parametrów, aby dostosować go do innych platform.
  • Funkcja osadzania

    • Usunęliśmy z modelu nieobsługiwaną funkcję wektorów dystrybucyjnych (embedContent i batchEmbedContents).

Unity

Pomoc dotycząca Unity nie była dostępna w aplikacji „Vertex AI in Firebase”.

Dowiedz się, jak rozpocząć korzystanie z pakietu SDK Firebase AI Logic dla Unity.

Możliwe błędy związane z migracją

Podczas migracji do wersji GA Firebase AI Logic możesz napotkać błędy, jeśli nie wprowadzisz wszystkich wymaganych zmian opisanych w tym przewodniku.

Błąd 403: Requests to this API firebasevertexai.googleapis.com ... are blocked.

Jeśli pojawi się błąd 403 z komunikatem Requests to this API firebasevertexai.googleapis.com ... are blocked., zwykle oznacza to, że klucz interfejsu Firebase API w pliku konfiguracyjnym lub obiekcie Firebase nie ma wymaganego interfejsu API na liście dozwolonych w przypadku usługi, której próbujesz użyć.

Upewnij się, że klucz interfejsu API Firebase używany przez aplikację zawiera wszystkie wymagane interfejsy API na liście dozwolonych „Ograniczenia interfejsu API”. W przypadku Firebase AI Logic klucz interfejsu API Firebase musi mieć na liście dozwolonych co najmniej interfejs API Firebase AI Logic. Ten interfejs API powinien zostać automatycznie dodany do listy dozwolonych klucza interfejsu API po włączeniu wymaganych interfejsów API w konsoli Firebase.

Wszystkie klucze interfejsu API możesz wyświetlić w panelu Interfejsy API i usługi > Dane logowania w konsoli Google Cloud.


Prześlij opinię o korzystaniu z usługi Firebase AI Logic