Android
Google साइन इन को एकीकृत करें
खोज…
वाक्य - विन्यास
- newInstance () - Google Helper का एकल उदाहरण बनाने के लिए
- initGoogleSignIn () - Google लॉग इन आरंभ करने के लिए
- getGoogleAccountDetails () - खाता विवरण में लॉग इन करने के लिए
- signOut () - उपयोगकर्ता को लॉग आउट करने के लिए
- getGoogleClient () - GoogleApiClient का उपयोग करने के लिए
पैरामीटर
पैरामीटर | विस्तार |
---|---|
टैग | लॉगिंग करते समय एक स्ट्रिंग का उपयोग किया जाता है |
GoogleSignInHelper | सहायक के लिए एक स्थिर संदर्भ |
AppCompatActivity | एक गतिविधि संदर्भ |
GoogleApiClient | GoogleAPICient का एक संदर्भ |
RC_SIGN_IN | एक पूर्णांक गतिविधि परिणाम का प्रतिनिधित्व करता है स्थिर |
isLoggingOut | लॉग-आउट कार्य चल रहा है या नहीं, यह जांचने के लिए एक बूलियन |
Google साइन इन हेल्पर वर्ग के साथ
android
टैग से अपने build.gradle
से नीचे जोड़ें:
// Apply plug-in to app.
apply plugin: 'com.google.gms.google-services'
अपने उपयोग पैकेज में नीचे सहायक वर्ग जोड़ें:
/**
* Created by Andy
*/
public class GoogleSignInHelper implements GoogleApiClient.OnConnectionFailedListener,
GoogleApiClient.ConnectionCallbacks {
private static final String TAG = GoogleSignInHelper.class.getSimpleName();
private static GoogleSignInHelper googleSignInHelper;
private AppCompatActivity mActivity;
private GoogleApiClient mGoogleApiClient;
public static final int RC_SIGN_IN = 9001;
private boolean isLoggingOut = false;
public static GoogleSignInHelper newInstance(AppCompatActivity mActivity) {
if (googleSignInHelper == null) {
googleSignInHelper = new GoogleSignInHelper(mActivity, fireBaseAuthHelper);
}
return googleSignInHelper;
}
public GoogleSignInHelper(AppCompatActivity mActivity) {
this.mActivity = mActivity;
initGoogleSignIn();
}
private void initGoogleSignIn() {
// [START config_sign_in]
// Configure Google Sign In
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(mActivity.getString(R.string.default_web_client_id))
.requestEmail()
.build();
// [END config_sign_in]
mGoogleApiClient = new GoogleApiClient.Builder(mActivity)
.enableAutoManage(mActivity /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addConnectionCallbacks(this)
.build();
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
// An unresolvable error has occurred and Google APIs (including Sign-In) will not
// be available.
Log.d(TAG, "onConnectionFailed:" + connectionResult);
Toast.makeText(mActivity, "Google Play Services error.", Toast.LENGTH_SHORT).show();
}
public void getGoogleAccountDetails(GoogleSignInResult result) {
// Google Sign In was successful, authenticate with FireBase
GoogleSignInAccount account = result.getSignInAccount();
// You are now logged into Google
}
public void signOut() {
if (mGoogleApiClient.isConnected()) {
// Google sign out
Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
new ResultCallback<Status>() {
@Override
public void onResult(@NonNull Status status) {
isLoggingOut = false;
}
});
} else {
isLoggingOut = true;
}
}
public GoogleApiClient getGoogleClient() {
return mGoogleApiClient;
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Log.w(TAG, "onConnected");
if (isLoggingOut) {
signOut();
}
}
@Override
public void onConnectionSuspended(int i) {
Log.w(TAG, "onConnectionSuspended");
}
}
गतिविधि फ़ाइल में अपने OnActivityResult
कोड जोड़ें:
// [START onactivityresult]
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == GoogleSignInHelper.RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
googleSignInHelper.getGoogleAccountDetails(result);
} else {
// Google Sign In failed, update UI appropriately
// [START_EXCLUDE]
Log.d(TAG, "signInWith Google failed");
// [END_EXCLUDE]
}
}
}
// [END onactivityresult]
// [START signin]
public void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(googleSignInHelper.getGoogleClient());
startActivityForResult(signInIntent, GoogleSignInHelper.RC_SIGN_IN);
}
// [END signin]
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow