Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

एकता में फायरबेस प्रमाणीकरण के साथ आरंभ करें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

आप उपयोगकर्ताओं को एक या अधिक साइन-इन विधियों का उपयोग करके अपने गेम में साइन इन करने की अनुमति देने के लिए फायरबेस प्रमाणीकरण का उपयोग कर सकते हैं, जिसमें ईमेल पता और पासवर्ड साइन-इन, और फ़ेडरेटेड पहचान प्रदाता जैसे Google साइन-इन और फेसबुक लॉगिन शामिल हैं। यह ट्यूटोरियल आपको अपने गेम में ईमेल पता और पासवर्ड साइन-इन जोड़ने का तरीका दिखाते हुए फायरबेस प्रमाणीकरण के साथ आरंभ करता है।

शुरू करने से पहले

इससे पहले कि आप फायरबेस प्रमाणीकरण का उपयोग कर सकें, आपको यह करना होगा:

  • अपना एकता प्रोजेक्ट पंजीकृत करें और इसे फायरबेस का उपयोग करने के लिए कॉन्फ़िगर करें।

    • अगर आपका यूनिटी प्रोजेक्ट पहले से ही फायरबेस का उपयोग करता है, तो यह पहले से पंजीकृत है और फायरबेस के लिए कॉन्फ़िगर किया गया है।

    • यदि आपके पास एकता परियोजना नहीं है, तो आप एक नमूना ऐप डाउनलोड कर सकते हैं।

  • अपने Unity प्रोजेक्ट में Firebase Unity SDK (विशेष रूप से, FirebaseAuth.unitypackage ) जोड़ें।

ध्यान दें कि अपने यूनिटी प्रोजेक्ट में फायरबेस जोड़ने से फायरबेस कंसोल और आपके ओपन यूनिटी प्रोजेक्ट दोनों में कार्य शामिल हैं (उदाहरण के लिए, आप कंसोल से फायरबेस कॉन्फिग फाइल डाउनलोड करते हैं, फिर उन्हें अपने यूनिटी प्रोजेक्ट में ले जाते हैं)।

नए उपयोगकर्ता साइन अप करें

एक फ़ॉर्म बनाएं जो नए उपयोगकर्ताओं को उनके ईमेल पते और पासवर्ड का उपयोग करके आपके गेम के साथ पंजीकरण करने की अनुमति देता है। जब कोई उपयोगकर्ता फ़ॉर्म को पूरा करता है, तो उपयोगकर्ता द्वारा प्रदान किए गए ईमेल पते और पासवर्ड को मान्य करें, फिर उन्हें CreateUserWithEmailAndPasswordAsync विधि में पास करें:

auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
    return;
  }

  // Firebase user has been created.
  Firebase.Auth.FirebaseUser newUser = task.Result;
  Debug.LogFormat("Firebase user created successfully: {0} ({1})",
      newUser.DisplayName, newUser.UserId);
});

मौजूदा उपयोगकर्ताओं में साइन इन करें

एक ऐसा फॉर्म बनाएं जो मौजूदा उपयोगकर्ताओं को अपने ईमेल पते और पासवर्ड का उपयोग करके साइन इन करने की अनुमति देता है। जब कोई उपयोगकर्ता फ़ॉर्म को पूरा करता है, तो SignInWithEmailAndPasswordAsync विधि को कॉल करें:

auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("SignInWithEmailAndPasswordAsync encountered an error: " + task.Exception);
    return;
  }

  Firebase.Auth.FirebaseUser newUser = task.Result;
  Debug.LogFormat("User signed in successfully: {0} ({1})",
      newUser.DisplayName, newUser.UserId);
});

प्रमाणीकरण स्थिति परिवर्तन ईवेंट हैंडलर सेट करें और उपयोगकर्ता डेटा प्राप्त करें

साइन-इन और साइन-आउट इवेंट का जवाब देने के लिए, इवेंट हैंडलर को ग्लोबल ऑथेंटिकेशन ऑब्जेक्ट से अटैच करें। जब भी उपयोगकर्ता की साइन-इन स्थिति बदलती है तो इस हैंडलर को कॉल किया जाता है। क्योंकि हैंडलर प्रमाणीकरण ऑब्जेक्ट के पूरी तरह से इनिशियलाइज़ होने के बाद ही चलता है और किसी भी नेटवर्क कॉल के पूरा होने के बाद, साइन-इन किए गए उपयोगकर्ता के बारे में जानकारी प्राप्त करने के लिए यह सबसे अच्छी जगह है।

FirebaseAuth ऑब्जेक्ट के StateChanged फ़ील्ड का उपयोग करके ईवेंट हैंडलर को पंजीकृत करें। जब कोई उपयोगकर्ता सफलतापूर्वक साइन इन करता है, तो आप ईवेंट हैंडलर में उपयोगकर्ता के बारे में जानकारी प्राप्त कर सकते हैं।

void InitializeFirebase() {
  auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
  auth.StateChanged += AuthStateChanged;
  AuthStateChanged(this, null);
}

void AuthStateChanged(object sender, System.EventArgs eventArgs) {
  if (auth.CurrentUser != user) {
    bool signedIn = user != auth.CurrentUser && auth.CurrentUser != null;
    if (!signedIn && user != null) {
      DebugLog("Signed out " + user.UserId);
    }
    user = auth.CurrentUser;
    if (signedIn) {
      DebugLog("Signed in " + user.UserId);
      displayName = user.DisplayName ?? "";
      emailAddress = user.Email ?? "";
      photoUrl = user.PhotoUrl ?? "";
    }
  }
}

अगले कदम

अन्य पहचान प्रदाताओं और अनाम अतिथि खातों के लिए समर्थन जोड़ने का तरीका जानें: