Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
דף זה תורגם על ידי Cloud Translation API.
Switch to English

אמת באמצעות Firebase באופן אנונימי באמצעות C ++

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

לפני שאתה מתחיל

  1. הוסף את Firebase לפרויקט C ++ שלך .
  2. אם עדיין לא חיברת את האפליקציה שלך לפרויקט Firebase שלך, עשה זאת ממסוף Firebase .
  3. הפעל אימות אנונימי:
    1. במסוף Firebase , פתח את החלק Auth .
    2. בדף שיטות כניסה , הפעל את שיטת הכניסה האנונימית .

אמת באמצעות Firebase באופן אנונימי

כאשר משתמש מחובר משתמש בתכונת אפליקציה הדורשת אימות באמצעות Firebase, היכנס למשתמש באופן אנונימי על ידי השלמת השלבים הבאים:

מחלקת Auth היא השער לכל שיחות ה- API.
  1. הוסף את קבצי הכותרת Auth ו- App:
    #include "firebase/app.h"
    #include "firebase/auth.h"
    
  2. בקוד האתחול שלך, צור מחלקת firebase::App מחלקת firebase::App .
    #if defined(__ANDROID__)
      firebase::App* app =
          firebase::App::Create(firebase::AppOptions(), my_jni_env, my_activity);
    #else
      firebase::App* app = firebase::App::Create(firebase::AppOptions());
    #endif  // defined(__ANDROID__)
    
  3. רכוש את firebase::auth::Auth מחלקה firebase::App עבור firebase::App שלך firebase::App . יש מיפוי אחד לאחד בין App Auth .
    firebase::auth::Auth* auth = firebase::auth::Auth::GetAuth(app);
    
  • התקשר Auth::SignInAnonymously .
    firebase::Future<firebase::auth::User*> result = auth->SignInAnonymously();
    
  • אם לתוכנית שלך יש לולאת עדכון שפועלת באופן קבוע (נניח ב 30 או 60 פעמים בשנייה), אתה יכול לבדוק את התוצאות פעם אחת לעדכון באמצעות Auth::SignInAnonymouslyLastResult :
    firebase::Future<firebase::auth::User*> result =
        auth->SignInAnonymouslyLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      if (result.error() == firebase::auth::kAuthErrorNone) {
        firebase::auth::User* user = *result.result();
        printf("Sign in succeeded for `%s`\n", user->display_name().c_str());
      } else {
        printf("Sign in failed with error '%s'\n", result.error_message());
      }
    }
    
    לחלופין, אם התוכנית שלך מונעת אירועים, ייתכן שתעדיף להירשם התקשרות חוזרת לעתיד .
  • להמיר חשבון אנונימי לחשבון קבוע

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

    1. כאשר המשתמש נרשם, השלם את זרימת הכניסה לספק האימות של המשתמש עד Auth::SignInWith משיטות Auth::SignInWith , אך לא כולל. לדוגמה, קבל את אסימון מזהה Google של המשתמש, אסימון גישה לפייסבוק או כתובת דוא"ל וסיסמה.
    2. קבל אישור auth::Credential ספק האימות החדש:

      כניסה של Google
      firebase::auth::Credential credential =
          firebase::auth::GoogleAuthProvider::GetCredential(google_id_token,
                                                            nullptr);
      
      כניסה לפייסבוק
      firebase::auth::Credential credential =
          firebase::auth::FacebookAuthProvider::GetCredential(access_token);
      
      כניסה באמצעות סיסמה בדוא"ל
      firebase::auth::Credential credential =
          firebase::auth::EmailAuthProvider::GetCredential(email, password);
      
    3. העבירו את האובייקט auth::Credential לשיטת LinkWithCredential של המשתמש LinkWithCredential :

      // Link the new credential to the currently active user.
      firebase::auth::User* current_user = auth->current_user();
      firebase::Future<firebase::auth::User*> result =
          current_user->LinkWithCredential(credential);
      

    אם השיחה ל- LinkWithCredential תצליח, החשבון החדש של המשתמש יכול לגשת לנתוני Firebase של החשבון האנונימי.

    הצעדים הבאים

    כעת, כשמשתמשים יכולים לבצע אימות באמצעות Firebase, תוכל לשלוט בגישה שלהם לנתונים במסד הנתונים שלך ב- Firebase באמצעות כללי Firebase .