Firebase Authentication का इस्तेमाल करके, उपयोगकर्ताओं को इसका इस्तेमाल करके आपके ऐप्लिकेशन में साइन इन करने की अनुमति दी जा सकती है या अन्य तरीकों से साइन-इन कर सकते हैं. इनमें ईमेल पता और पासवर्ड से साइन-इन करना शामिल है और फ़ेडरेटेड आइडेंटिटी प्रोवाइडर, जैसे कि Google साइन-इन और Facebook लॉगिन. यह ट्यूटोरियल आपको Firebase Authentication के साथ शुरू करने में मदद करता है. इसके लिए, यह आपको जोड़ने का तरीका बताता है ईमेल पता और पासवर्ड से साइन-इन करें.
अपने C++ प्रोजेक्ट को Firebase से कनेक्ट करें
इस्तेमाल करने से पहले Firebase Authentication आपको ये काम करने होंगे:
अपना C++ प्रोजेक्ट रजिस्टर करें और उसे Firebase का इस्तेमाल करने के लिए कॉन्फ़िगर करें.
अगर आपके C++ प्रोजेक्ट में पहले से ही Firebase का इस्तेमाल हो रहा है, तो इसका मतलब है कि वह पहले से रजिस्टर है और Firebase के लिए कॉन्फ़िगर किया गया.
अपने C++ प्रोजेक्ट में Firebase C++ SDK टूल जोड़ें.
ध्यान दें कि Firebase को C++ प्रोजेक्ट में जोड़ने पर, Firebase कंसोल खोलें और अपने खुले हुए C++ प्रोजेक्ट में (उदाहरण के लिए, कंसोल से Firebase कॉन्फ़िगरेशन फ़ाइलें चुनकर, उन्हें अपने C++ प्रोजेक्ट में ले जाएं.
नए उपयोगकर्ताओं के लिए साइन अप करें
एक ऐसा फ़ॉर्म बनाएं जिससे नए उपयोगकर्ता
ईमेल पता और पासवर्ड डालें. जब कोई उपयोगकर्ता यह फ़ॉर्म भर लेता है, तो
उपयोगकर्ता द्वारा दिया गया ईमेल पता और पासवर्ड, फिर उन्हें
CreateUserWithEmailAndPassword
तरीका:
firebase::Future<firebase::auth::AuthResult> result =
auth->CreateUserWithEmailAndPassword(email, password);
खाता बनाने के स्टेटस की जांच या तो रजिस्टर करके की जा सकती है
CreateUserWithEmailAndPasswordLastResult
फ़्यूचर ऑब्जेक्ट पर कॉलबैक या,
अगर आपको किसी तरह के अपडेट लूप में, गेम या ऐप्लिकेशन लिखना है, तो
अपडेट लूप में स्थिति की पोलिंग करते समय.
उदाहरण के लिए, भविष्य का इस्तेमाल करके:
firebase::Future<firebase::auth::AuthResult> result =
auth->CreateUserWithEmailAndPasswordLastResult();
// The lambda has the same signature as the callback function.
result.OnCompletion(
[](const firebase::Future<firebase::auth::AuthResult>& result,
void* user_data) {
// `user_data` is the same as &my_program_context, below.
// Note that we can't capture this value in the [] because std::function
// is not supported by our minimum compiler spec (which is pre C++11).
MyProgramContext* program_context =
static_cast<MyProgramContext*>(user_data);
// Process create user result...
(void)program_context;
},
&my_program_context);
या मतदान का उपयोग करने के लिए, अपने गेम के लूप अपडेट करें:
firebase::Future<firebase::auth::AuthResult> result =
auth->CreateUserWithEmailAndPasswordLastResult();
if (result.status() == firebase::kFutureStatusComplete) {
if (result.error() == firebase::auth::kAuthErrorNone) {
firebase::auth::AuthResult* auth_result = *result.result();
printf("Create user succeeded for email %s\n", auth_result.user.email().c_str());
} else {
printf("Created user failed with error '%s'\n", result.error_message());
}
}
मौजूदा उपयोगकर्ताओं को साइन इन करने की अनुमति है
एक ऐसा फ़ॉर्म बनाएं जिससे मौजूदा उपयोगकर्ता अपने ईमेल पते से साइन इन कर सकें
और पासवर्ड डालें. जब कोई उपयोगकर्ता फ़ॉर्म भर लेता है, तो
SignInWithEmailAndPassword
तरीका:
firebase::Future<firebase::auth::AuthResult> result =
auth->SignInWithEmailAndPassword(email, password);
साइन इन की कार्रवाई का नतीजा उसी तरह पाएं जिस तरह आपको साइन अप का नतीजा मिला था.
पुष्टि की स्थिति लिसनर सेट करें और खाते का डेटा पाएं
साइन-इन और साइन-आउट इवेंट का जवाब देने के लिए, दुनिया भर में मौजूद म्यूज़िक सुनने वाले व्यक्ति को अपने डिवाइस से जोड़ें ऑथेंटिकेशन ऑब्जेक्ट. जब भी उपयोगकर्ता साइन इन करता है, तब इस लिसनर को कॉल किया जाता है राज्य में बदलाव. क्योंकि लिसनर सिर्फ़ तब ही काम करता है, जब ऑथेंटिकेशन ऑब्जेक्ट होता है पूरी तरह से शुरू की गई और किसी भी नेटवर्क कॉल के पूरी होने के बाद, यह सबसे अच्छा विकल्प है साइन-इन किए हुए उपयोगकर्ता के बारे में जानकारी पाने का स्थान.
firebase::auth::AuthStateListener
को लागू करके लिसनर बनाएं
ऐब्सट्रैक्ट क्लास. उदाहरण के लिए, ऐसा लिसनर बनाने के लिए जिसे
जब कोई उपयोगकर्ता साइन इन कर लेता है:
class MyAuthStateListener : public firebase::auth::AuthStateListener {
public:
void OnAuthStateChanged(firebase::auth::Auth* auth) override {
firebase::auth::User user = auth.current_user();
if (user.is_valid()) {
// User is signed in
printf("OnAuthStateChanged: signed_in %s\n", user.uid().c_str());
const std::string displayName = user.DisplayName();
const std::string emailAddress = user.Email();
const std::string photoUrl = user.PhotoUrl();
} else {
// User is signed out
printf("OnAuthStateChanged: signed_out\n");
}
// ...
}
};
लिसनर को firebase::auth::Auth
ऑब्जेक्ट के
AddAuthStateListener
तरीका:
MyAuthStateListener state_change_listener;
auth->AddAuthStateListener(&state_change_listener);
अगले चरण
पहचान देने वाली दूसरी कंपनियों और पहचान छिपाने वाले मेहमान के लिए, सहायता जोड़ने का तरीका जानें खाते: