日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android项目集成谷歌账户登录

發布時間:2023/12/8 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android项目集成谷歌账户登录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 在做國外項目的時候,許多需要集成谷歌賬戶登錄功能。

????集成谷歌登錄后,能直接調用谷歌的賬戶登錄界面進行登錄操作(包括注冊新用戶、忘記密碼等),同時會把賬戶信息保存到設備的account?manager中進行管理,檢測設備是否已登錄了谷歌賬戶,獲取已登錄的谷歌賬戶的相關信息。

????集成谷歌賬戶登錄方式與國內集成qq、微信等第三方登錄有些類似,大體流程都是先去相應開發者平臺注冊,然后獲取到開發包(sdk或遠程依賴api等),最后按樣例代碼集成。

????谷歌登錄開發者平臺注冊地址為https://console.firebase.google.com/,并不是在https://console.developers.google.com/上進行注冊,一開始我也是參考網上的帖子?在谷歌的developers網站上進行注冊, 流但發現流程一直走不通,最后發現需要在firebase網站上進行注冊,具體流程直接上圖,簡單粗暴明了:

? ? 1.


? ? 2.


? ? 3.


4.


? ? 5.


? ? 6.


? ?通過上述6步就能獲取到一個google-service.json文件,把它拷貝的項目的根目錄下,如圖6,點圖6的CONTINUE按鈕,會有直接示例代碼。

? ? 下面是我的簡單測試代碼,需要的話可以參考一下:

public class MainActivity extends FragmentActivity implements View.OnClickListener {private static final String LOG_TAG = "GAccountDemo";private static final int RC_SIGN_IN = 0x100;private GoogleApiClient mGoogleApiClient;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SignInButton signInButton = findViewById(R.id.sign_in_button);signInButton.setSize(SignInButton.SIZE_STANDARD);signInButton.setOnClickListener(this);GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestId().requestProfile().requestEmail().build();mGoogleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(MainActivity.this, new GoogleApiClient.OnConnectionFailedListener() {@Overridepublic void onConnectionFailed(@NonNull ConnectionResult connectionResult) {}}).addApi(Auth.GOOGLE_SIGN_IN_API, gso).build();}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.sign_in_button:Intent intent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);startActivityForResult(intent, RC_SIGN_IN); //RC_SIGN_IN是requestcodebreak;}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == RC_SIGN_IN) {GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);handleSignInResult(result);}}private void handleSignInResult(GoogleSignInResult result) {if (result.isSuccess()) {GoogleSignInAccount account = result.getSignInAccount();Log.i(LOG_TAG, "id--------" + account.getId() + "----name----" + account.getDisplayName() + "---photo--" + account.getPhotoUrl());}} }

? ? 主module的guild.gradle中的依賴,注意保證三個依賴的版本一致性:

dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])compile 'com.google.firebase:firebase-core:11.2.0'compile 'com.google.firebase:firebase-auth:11.2.0'compile 'com.google.android.gms:play-services-auth:11.2.0' }

? ? 根目錄下的build.gradle:



? ? sha1的獲取方式就不在這復述了,網上有很多。最后,需要注意兩個事:

????????1.注冊網址需要翻墻;

????????2.測試手機需要翻墻且支持google?service。



總結

以上是生活随笔為你收集整理的Android项目集成谷歌账户登录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。