Firebase AI Logic — הכנה מאובטחת בצד Google


מכינים את הפרויקט פעם אחת ומשאירים את קוד האפליקציה קטן

חזרה למדריך האפליקציה · English

השתמשו בפרויקט Firebase ייעודי לתרגול שבשליטתכם. התמונות צולמו בפרויקט קיים של המורה ב־24 באוקטובר 2026, לפני הפעלת AI Logic ו־App Check. חתכנו את התמונות כך שפרטי חשבון, מזהי פרויקט, מידע חיוב ופרטי גישה לא יופיעו בהן. הן מדגימות היכן פועלים, ואינן מעידות שפרויקט הדוגמה כבר מוגן. לא שינינו הגדרות בפרויקט לצורך הצילום.

1. רושמים אפליקציית Android ובוחרים ספק

  1. במסוף Firebase, בחרו את הפרויקט שלכם. פתחו את Project settings, עברו ל־General, ובאזור Your apps בחרו Add app > Android. רשמו את ה־applicationId המדויק מקובץ Gradle של המודול. בדוגמה שלנו: com.example.topic.
  2. הורידו את google-services.json של אפליקציית Android הזאת אל שורש מודול app, לצד קובץ Gradle שלו. אין צורך להדביק את תוכנו במדריך או בקוד Java. הקובץ מזהה את אפליקציית Firebase; הוא אינו קובץ הרשאות של service account.
  3. פתחו AI services > AI Logic > Get started, בחרו Gemini Developer API והשלימו את ההפעלה המודרכת. בדוגמה נשתמש במודל הטקסט gemini-3.8-flash; בדקו את רשימת המודלים העדכנית. קראו בעצמכם את מסכי בחירת הספק והחיוב לפני אישור.

בחירת ספק ב־Firebase AI Logic, עם האפשרות Gemini Developer API

לפרויקט כיתתי ללא אמצעי תשלום, בדקו שימוש בתוכנית Spark ואת זמינות המסלול ללא תשלום. בפרויקט שכבר נמצא ב־Blaze השימוש עשוי להיות מחויב: בחירת Developer API אינה מחזירה פרויקט ל־Spark. אין לשנות את תוכנית החיוב של פרויקט משותף כדי לבצע את התרגיל.

2. בודקים את ה־APIs ומבחינים בין שני סוגי מפתחות

במסוף Google Cloud, בחרו את אותו פרויקט ופתחו APIs & Services. תהליך ההגדרה המודרך אמור להפעיל את השירותים הדרושים. ב־Library בדקו את Firebase AI Logic API, ששמו הטכני firebasevertexai.googleapis.com, ואת Gemini API של הספק הנבחר (generativelanguage.googleapis.com). כפתור Enable פירושו שהשירות עדיין אינו מופעל בפרויקט הנבחר. השלימו את ההפעלה באמצעות תהליך ההגדרה של Firebase.

פרטי Firebase AI Logic API במסוף Cloud לפני הפעלה, עם שם השירות הטכני

מפתח ספק Gemini שנוצר בתהליך Firebase נשאר בצד השרת: אין לשים באפליקציה מפתח Gemini API או קובץ service-account JSON. מפתח Firebase שב־google-services.json הוא מזהה פרויקט ואפליקציה, ולא הוכחה שהבקשה מורשית. ב־APIs & Services > Credentials הגבילו את מפתח Firebase שבו משתמשת האפליקציה ל־Android apps, עם שם החבילה וטביעת SHA-1 של תעודת החתימה, ובחרו רק את ה־APIs הדרושים לאפליקציה, ובהם Firebase AI Logic API. את SHA-1 של ההתקנה הכיתתית מקבלים במשימת Gradle בשם signingReport. אם התלמידים בונים במחשבים שונים, הוסיפו לרשימת אפליקציות Android המותרות את SHA-1 של תעודת ה־debug מכל מחשב. אל תשנו מפתח משותף שמשמש אפליקציות אחרות. הנחיות הגבלת מפתחות ו־App Check.

3. מגינים על הבקשה באמצעות App Check

פתחו Security > App Check > Get started ובחרו את אפליקציית Android שרשמתם. במדריך הזה יש הגדרה כיתתית אחת, עם ספק App Check debug באמולטור או במכשיר התרגול. כל התקנה רושמת טוקן פרטי; Firebase מקבל אותו במקום לדרוש אימות של המכשיר. זה אינו תהליך התחברות של משתמש. בתהליך ההגדרה העדכני של AI Logic, האכיפה מופעלת אוטומטית. בפרויקט ישן צריך לבדוק את App Check > APIs > Firebase AI Logic ולהפעיל אכיפה במפורש. אין לעקוף בדיקה שנכשלה באמצעות כיבוי האכיפה. שלבי App Check הרשמיים.

מסך הפתיחה של Firebase App Check, לפני רישום

נכון למועד הבדיקה של המדריך, Google מציינת שאכיפת App Check תהיה חובה עבור AI Logic החל מ־2 בנובמבר 2026. נכין אותה כבר עכשיו. רשימת בדיקות האבטחה.

מוסיפים את הספריות

ב־Gradle Scripts, בקובץ build.gradle.kts (Project), הוסיפו את תוסף Google services לצד תוסף Android הקיים:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
 plugins {
     alias(libs.plugins.android.application) apply false
+    id("com.google.gms.google-services") version "4.5.0" apply false
 }

בקובץ build.gradle.kts (Module :app) הפעילו את התוסף והוסיפו את התלויות הבאות; משאירים את כל תלויות התבנית. בצעו Sync. ספריית Guava מספקת את ממשק ה־future וה־callback ב־Java. הדוגמה אינה משתמשת בהזרמת תשובות, ולכן אין צורך להוסיף לה ספרייה ייעודית להזרמה.

plugins {
     alias(libs.plugins.android.application)
+    id("com.google.gms.google-services")
 }

 android {
 }

 dependencies {
+    implementation(platform("com.google.firebase:firebase-bom:35.1.0"))
+    implementation("com.google.firebase:firebase-ai")
+    implementation("com.google.guava:guava:31.0.1-android")
+    implementation("com.google.firebase:firebase-appcheck-debug")
     implementation(libs.activity.ktx)
     implementation(libs.appcompat)
     implementation(libs.constraintlayout)

ב־app > manifests > AndroidManifest.xml, הוסיפו מעל <application>:

<uses-permission android:name="android.permission.INTERNET" />

רושמים את ההתקנה הכיתתית

מדריך האפליקציה מפעיל את ספק ה־debug ישירות ב־MainActivity, לפני יצירת מודל ה־AI. אין מחלקות עזר נוספות, תיקיות לפי גרסאות בנייה או שלבים ב־Play Console.

  1. המשיכו למדריך האפליקציה, הריצו את האפליקציה ולחצו פעם אחת Ask LLM.
  2. ב־Logcat סננו לפי DebugAppCheckProvider, והעתיקו באופן פרטי את טוקן ה־debug שנוצר.
  3. ב־Firebase > Security > App Check > Apps, פתחו את תפריט שלוש הנקודות של האפליקציה, בחרו Manage debug tokens ורשמו את הטוקן.
  4. לחצו שוב Ask LLM. הבקשה הראשונה עשויה להיכשל עד לרישום הטוקן.

כל התקנה של תלמיד מקבלת טוקן משלה. שמרו את הטוקן ואת אפליקציית התרגול המותקנת באופן פרטי, ובטלו את הטוקן בסיום התרגיל. מי שמחזיק בטוקן מורשה יכול להשתמש בו ממכשיר שלא עבר אימות. ההגדרה הזאת מיועדת לתרגול כיתתי. מדריך ספק debug באנדרואיד.

4. מגבילים שימוש ובודקים מוכנות

בחרו מגבלות קצב קטנות במכוון לתרגול ב־AI Logic, ובדקו את מכסות הספק ב־Cloud. אם החיוב מופעל, הגדירו התראות תקציב ובדקו אילו אמצעי הגבלת הוצאה זמינים: התראת תקציב היא הודעה, ולא תקרת הוצאה קשיחה. השבתת הכפתור באפליקציה מונעת לחיצות כפולות בטעות; היא אינה מגבלת שימוש בצד השרת. מכסות, התראות תקציב.

לפני הבקשה הראשונה בדקו: פרויקט, אפליקציה וקובץ הגדרות תואמים; APIs דרושים פעילים; ספק App Check מתאים וטוקן פרטי רשום; הגבלות מפתח Firebase תואמות לאפליקציה; הגדרות חיוב ומכסות מתאימות. אפשר להוסיף Firebase Authentication ואת מצב הדרישה למשתמש מחובר כשיש צורך במשתמשים אישיים; הדוגמה הקטנה אינה מפעילה אותם. במדריך הזה משאירים את template-only mode כבוי, מפני שהוא חוסם בקשות prompt ישירות. אפשרויות אבטחה והפצה.

אם בקשה נכשלת, קראו את התווית ואת Logcat: דחיית App Check מצריכה בדיקת ספק האימות ורישום הטוקן; API_KEY_SERVICE_BLOCKED מצריכה בדיקת רשימת ה־APIs המותרים למפתח; 404 עשוי להצביע על שם מודל שגוי או מודל שיצא משימוש; 429 מציין מגבלת קצב או מכסה. אין לפתור את השגיאות באמצעות פרסום מפתחות או ניסיונות חוזרים ללא הבחנה.

חזרה למדריך הכפתור והתשובה