שילוב התחברות עם Google: אימות OAuth לאפליקציות מובייל

נמאס לכם מהתקנה מסובכת של Google Sign-In באפליקציה הניידת שלכם? אנחנו בונים מערכת הרשאת Google Sign-In מוכנה לשימוש, תוך התחשבות בכל הניואנסים של ה-SDKs המודרניים ב-Android ו-iOS. הצוות שלנו מטפל בכל המחזור—מאינטגרציה ועד תמיכה—ומספק פתרון אמין ומאובטח בסמכות מלאה.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
שילוב התחברות עם Google: אימות OAuth לאפליקציות מובייל
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

פיתוח אימות באמצעות Google Sign-In

Google Sign-In הוא ספק ה-OAuth הנפוץ ביותר עבור אפליקציות מובייל OAuth 2.0. באנדרואיד, הוא עובד בצורה חלקה במיוחד דרך ה-API של Credential Manager (הגישה הנוכחית בגרסאות אנדרואיד מודרניות); ב-iOS, הוא דורש את ה-SDK הנפרד GoogleSignIn-iOS והגדרת URL Scheme. מורכבות: 1 מתוך 5, אבל יש כמה מלכודות טיפוסיות שאנשים נתקלים בהן במהלך האינטגרציה הראשונה. יישמנו את Google Sign-In בעשרות פרויקטים ואנחנו מכירים את כל הניואנסים — מבלבול עם Web Client ID ועד טיפול בהיעדר Google Play Services. קבלו ייעוץ על הפרויקט שלכם — נעריך את המורכבות.

המצב הנוכחי של ה-SDK

באנדרואיד, ה-SDK המיושן GoogleSignIn (com.google.android.gms:play-services-auth) מוחלף על ידי Credential Manager עם GetGoogleIdOption. ה-API הישן עדיין עובד, אבל גוגל ממליצה על מעבר. ה-API החדש מציג Bottom Sheet עם חשבונות Google של המכשיר — ממשק מקורי ללא הפניית דפדפן.

API גרסת אנדרואיד ממשק משתמש מחזור חיים
GoogleSignIn (מיושן) אנדרואיד 4.0+ דפדפן / WebView התמיכה הסתיימה
Credential Manager גרסאות מודרניות Bottom Sheet מקורי פעיל, מומלץ

ב-iOS — SDK של GoogleSignIn-iOS (pod GoogleSignIn, SPM google-signin-ios). דורש הוספת GIDClientID ל-Info.plist והגדרת URL Scheme להפניה חזרה לאחר האימות.

טעות נפוצה ב-iOS: URL Scheme שנשכח

בעת הגדרת GoogleSignIn-iOS, יש להוסיף URL Scheme ל-Info.plist בפורמט com.googleusercontent.apps.CLIENT_ID. ללא זה, האימות פותח את הדפדפן אך לא יכול לחזור לאפליקציה. פתרון: הוסיפו את המפתח CFBundleURLTypes ל-Info.plist עם מערך של schemes.

איך ליישם את Google Sign-In באנדרואיד?

// Credential Manager (современные версии Android)
val googleIdOption = GetGoogleIdOption.Builder()
    .setFilterByAuthorizedAccounts(false)
    .setServerClientId(WEB_CLIENT_ID) // Не Android client ID, а Web client ID
    .build()
val request = GetCredentialRequest.Builder()
    .addCredentialOption(googleIdOption)
    .build()
val result = credentialManager.getCredential(context, request)
val credential = result.credential as? CustomCredential
// Обрабатываем GoogleIdTokenCredential

// Credential Manager (современные версии Android) val googleIdOption = GetGoogleIdOption.Builder() .setFilterByAuthorizedAccounts(false) .setServerClientId(WEB_CLIENT_ID) // Не Android client ID, а Web client ID .build() val request = GetCredentialRequest.Builder() .addCredentialOption(googleIdOption) .build() val result = credentialManager.getCredential(context, request) val credential = result.credential as? CustomCredential // Обрабатываем GoogleIdTokenCredential הוא ה-Client ID עבור יישום האינטרנט ב-Google Cloud Console, לא עבור אנדרואיד. הבלבול הזה הוא מקור לשגיאת DEVELOPER_ERROR בריצה הראשונה.

אימות ID Token בשרת

הלקוח מעביר את WEB_CLIENT_ID לשרת. השרת מאמת אותו דרך נקודת הקצה tokeninfo של גוגל או מקומית באמצעות google-auth-library. ID Token מכיל sub (מזהה משתמש Google יציב), אימייל, שם, תמונה. sub הוא המפתח הראשי לזיהוי משתמש; האימייל יכול להשתנות.

למה Google Sign-In הוא הסטנדרט לאפליקציות מובייל?

חשבון Google קיים עבור 90% מבעלי מכשירי אנדרואיד. אינטגרציה דרך OAuth 2.0 מספקת נקודת כניסה אחת: משתמשים מאמתים ללא סיסמה, ואתם מקבלים נתונים מאומתים (אימייל, שם). זה מפחית את הנשירה בשלב ההרשמה ב-20–30% בהשוואה לטופס אימייל+סיסמה. בנוסף, גוגל מבטיחה אבטחה — ID Token חתום עם RSA SHA-256, המונע זיוף. זה חוסך עד 40% מזמן הפיתוח בהשוואה ליישום OAuth בעצמכם. מפחית עלויות תמיכה למשתמשים — פחות סיסמאות שנשכחות.

איך אנחנו משלבים את Google Sign-In במפתח פתוח

הצוות שלנו, עם ניסיון של 5+ שנים בפיתוח מובייל, ניגש למשימה באופן מקיף:

  1. ניתוח ועיצוב: קביעה אילו scopes נדרשים (אימייל, פרופיל, בתוספת scopes מותאמים אישית אם נדרשת גישה ל-Google Drive וכו'). הגדרת הפרויקט ב-Google Cloud Console (Web Client ID לאנדרואיד, iOS Client ID, Service Account לשרת).
  2. אינטגרציה בצד הלקוח:
    • אנדרואיד: חיבור API של Credential Manager, עיבוד התוצאה, חילוץ GoogleIdTokenCredential.
    • iOS: הגדרת GoogleSignIn-iOS, טיפול ב-callback דרך UIApplication.shared.open + URL Scheme.
    • טיפול במקרה קצה: אם Google Play Services חסרים (מכשירים ללא GMS), שימוש בפתרון חלופי להזנה ידנית.
  3. צד שרת: יישום אימות ID Token בשרת (Python / JavaScript / Kotlin). שמירת sub ואימייל, עדכון בכל התחברות.
  4. בדיקות: כתיבת בדיקות יחידה בצד הלקוח (mock ל-CredentialManager) ובדיקות אינטגרציה בשרת. תרחישי בדיקה: ביטול, token לא חוקי, פקיעת תוקף.
  5. פריסה וניטור: הגדרת רישום התחברויות דרך Firebase Analytics או Metrica. הוספת מסך טרום-בנייה למשתמשים עם שגיאות אימות.
פרמטר אנדרואיד (Credential Manager) iOS (GoogleSignIn-iOS)
מורכבות אינטגרציה נמוכה (API מקורי) בינונית (הגדרת URL Scheme, Info.plist)
ממשק אימות Bottom Sheet מקורי דפדפן / WebView
דורש Google Play Services כן לא
תמיכה במצב לא מקוון כן (מטמון token) כן (מטמון token)

מה כלול בעבודה

  • הגדרת הפרויקט ב-Google Cloud Console (Client ID לכל סביבה).
  • אינטגרציה באנדרואיד (Credential Manager) ו-iOS (GoogleSignIn-iOS) עם טיפול מלא בשגיאות.
  • אימות ID Token בשרת עם תיעוד API.
  • סביבת בדיקה עם יכולת סימולציית אימות.
  • העברה מה-API הישן (אם כבר יש לכם GoogleSignIn מיושם) — ללא אובדן סשנים של משתמשים.
  • שבועיים של תמיכה לאחר המסירה — אנחנו מתקנים באגים בחינם.

לוח זמנים: 4–7 ימי עסקים לאינטגרציה בסיסית (לקוח אחד + שרת). אם נדרשות מספר פלטפורמות (אנדרואיד, iOS, Web), עד 10 ימים. נעריך את הפרויקט שלכם ביום אחד.

הניסיון והערבויות שלנו

יישמנו את Google Sign-In ביותר מ-50 אפליקציות מובייל — מסטארטאפים ועד פתרונות ארגוניים (פינטק, מסחר אלקטרוני, רשתות חברתיות). מהנדסים מוסמכים (Google Associate Android Developer, Apple iOS Developer). אנחנו מבטיחים שהאינטגרציה עובדת: אם מתגלות שגיאות קריטיות בחלק שלנו לאחר המסירה, אנחנו מתקנים אותן תוך 24 שעות.

צרו קשר — קבלו ייעוץ על אינטגרציית Google Sign-In. נספר לכם אילו מלכודות קיימות בפרויקט שלכם ואיך להימנע מהן.