एकता का उपयोग करके गुमनाम रूप से फायरबेस के साथ प्रमाणित करें

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

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

  1. इससे पहले कि आप Firebase Authentication का उपयोग कर सकें, आपको अपने Unity प्रोजेक्ट में Firebase Unity SDK (विशेष रूप से, FirebaseAuth.unitypackage ) जोड़ना होगा।

    Add Firebase to your Unity project में इन प्रारंभिक सेटअप चरणों के लिए विस्तृत निर्देश प्राप्त करें।

  2. अगर आपने अभी तक अपने ऐप को अपने फायरबेस प्रोजेक्ट से कनेक्ट नहीं किया है, तो फायरबेस कंसोल से ऐसा करें।
  3. अनाम प्रमाणन सक्षम करें:
    1. Firebase कंसोल में, प्रामाणिक अनुभाग खोलें।
    2. साइन-इन मेथड्स पेज पर, बेनामी साइन-इन मेथड को सक्षम करें।
    3. वैकल्पिक : यदि आपने अपने प्रोजेक्ट को पहचान प्लेटफ़ॉर्म के साथ Firebase प्रमाणीकरण में अपग्रेड किया है, तो आप स्वचालित क्लीन-अप को सक्षम कर सकते हैं। जब आप इस सेटिंग को सक्षम करते हैं, तो 30 दिनों से अधिक पुराने अज्ञात खाते स्वचालित रूप से हटा दिए जाएँगे। स्वचालित क्लीन-अप सक्षम वाली परियोजनाओं में, अनाम प्रमाणीकरण अब उपयोग सीमा या बिलिंग कोटा की ओर नहीं गिना जाएगा। स्वचालित सफाई देखें।

गुमनाम रूप से फायरबेस के साथ प्रमाणित करें

जब साइन-आउट किया गया उपयोगकर्ता ऐप सुविधा का उपयोग करता है जिसके लिए फायरबेस के साथ प्रमाणीकरण की आवश्यकता होती है, तो निम्न चरणों को पूरा करके उपयोगकर्ता को गुमनाम रूप से साइन इन करें:

FirebaseAuth क्लास सभी API कॉल्स के लिए गेटवे है। इसे FirebaseAuth.DefaultInstance के माध्यम से एक्सेस किया जा सकता है।
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
1. Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync को कॉल करें।
auth.SignInAnonymouslyAsync().ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("SignInAnonymouslyAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("SignInAnonymouslyAsync encountered an error: " + task.Exception);
    return;
  }

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

अनाम खाते को स्थायी खाते में बदलें

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

  1. जब उपयोगकर्ता साइन अप करता है, तो Firebase.Auth.FirebaseAuth.SignInAndRetrieveDataWithCredentialAsync विधियों में से किसी एक को कॉल करके, उपयोगकर्ता के प्रमाणीकरण प्रदाता के लिए साइन-इन प्रवाह पूर्ण करें, लेकिन इसमें शामिल नहीं है। उदाहरण के लिए, उपयोगकर्ता का Google ID टोकन, Facebook एक्सेस टोकन, या ईमेल पता और पासवर्ड प्राप्त करें।
  2. नए प्रमाणीकरण प्रदाता के लिए Firebase.Auth.Credential प्राप्त करें:

  3. साइन-इन उपयोगकर्ता के LinkWithCredentialAsync विधि के लिए Firebase.Auth.Credential ऑब्जेक्ट पास करें:

यदि LinkWithCredentialAsync को कॉल सफल हो जाता है, तो उपयोगकर्ता का नया खाता अनाम खाते के Firebase डेटा तक पहुंच सकता है।

स्वचालित सफाई

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

  • स्वचालित क्लीन-अप को सक्षम करने के बाद बनाए गए कोई भी अनाम खाते, निर्माण के 30 दिनों के बाद किसी भी समय स्वचालित रूप से हटाए जा सकते हैं।
  • स्वचालित क्लीन-अप को सक्षम करने से पहले बनाए गए अज्ञात खाते स्वचालित क्लीन-अप को सक्षम करने के 30 दिन बाद से स्वचालित रूप से हटाने के योग्य होंगे।
  • यदि आप स्वत: क्लीन-अप को बंद कर देते हैं, तो हटाए जाने के लिए शेड्यूल किया गया कोई भी अनाम खाता हटाए जाने के लिए शेड्यूल रहेगा। इन खातों की उपयोग सीमा या बिलिंग कोटा में गणना नहीं की जाती है।
  • यदि आप किसी अज्ञात खाते को किसी साइन-इन विधि से लिंक करके "अपग्रेड" करते हैं, तो खाता स्वचालित रूप से हटाया नहीं जाएगा।

यदि आप यह देखना चाहते हैं कि इस सुविधा को सक्षम करने से पहले कितने उपयोगकर्ता प्रभावित होंगे, और आपने अपने प्रोजेक्ट को पहचान प्लेटफ़ॉर्म के साथ Firebase प्रमाणीकरण में अपग्रेड कर लिया है, तो आप क्लाउड लॉगिंग में is_anon द्वारा फ़िल्टर कर सकते हैं।

अगले कदम

अब जबकि उपयोगकर्ता Firebase के साथ प्रमाणित कर सकते हैं, आप Firebase नियमों का उपयोग करके अपने Firebase डेटाबेस में डेटा तक उनकी पहुंच को नियंत्रित कर सकते हैं।