xamarin.AndroidのGoogleログインボタンをxamarinフォームアプリケーションでレンダリングするには、どうすればできますか?私たちがxamarin形式のAuth URLを使用せずに達成できる方法はありますか?レンダリングGoogleログインxamarinフォームアプリケーションのボタン
答えて
xamarin.AndroidのGoogleログインボタンをxamarinフォームアプリケーションでレンダリングする方法を教えてください。私たちがxamarin形式のAuth URLを使用せずに達成できる方法はありますか?
あなたの「認証URL」がどの認証方法を示しているかわかりません。
アンドロイドアプリでは、これを達成するためにGoogle SDKを使用できます。 GoogleApiClient
を使用してGoogleのサインインをアプリに統合するには、まずXamarin.GooglePlayServices.Basement、Xamarin.GooglePlayServices.Auth、Xamarin.GooglePlayServices.IdentityのパッケージをAndroidプロジェクトにインストールする必要があります。この公式の文書:Integrating Google Sign-In into Your Android Appをご覧ください。
あなたがXamarin.Formsを使用しているので、あなたはこのように例えばカスタムサインインボタンを作成することができます、XAMLで
[assembly: ExportRenderer(typeof(MySignInButton), typeof(SignInButtonRenderer))]
namespace GoogleSignInApp.Droid
{
public class SignInButtonRenderer : Xamarin.Forms.Platform.Android.ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Button> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
if (Control != null)
{
var gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DefaultSignIn)
.RequestEmail()
.Build();
var mGoogleApiClient = new GoogleApiClient.Builder((FormsAppCompatActivity)Forms.Context)
.EnableAutoManage((FormsAppCompatActivity)Forms.Context, new OnConnectionFailedListener())
.AddApi(Android.Gms.Auth.Api.Auth.GOOGLE_SIGN_IN_API)
.Build();
Control.Click += (sender, ee) =>
{
var signInIntent = Android.Gms.Auth.Api.Auth.GoogleSignInApi.GetSignInIntent(mGoogleApiClient);
((FormsAppCompatActivity)Forms.Context).StartActivityForResult(signInIntent, 9001);
};
}
}
}
}
public class OnConnectionFailedListener : Java.Lang.Object, IOnConnectionFailedListener
{
public void OnConnectionFailed(ConnectionResult result)
{
Log.Debug("error", "error");
}
}
}
あなたをこのような
public class MySignInButton : Button
{
}
レンダラこのように、このボタンを使用することができます。
<local:MySignInButton Text="Sign In" />
を忘れないでくださいアンドロイドプロジェクトのマニフェストに<activity android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity" />
を追加します。
私はあなたの質問にサインインボタンのレンダリングを依頼するため、カスタムレンダラーを使用しています。ボタンやそのようなものをスタイルする必要があるかもしれません。そうでなければDependencyServiceはこのシナリオ私の考えでは。
あなたのMainActivity
のAndroidプロジェクトのOnActivityResult
を実装することを忘れないでください。それ以上の質問があれば、コメントを残してください。
- 1. Xamarin iOSのバインディングライブラリビューコントローラのボタン私はxamarinフォームアプリケーションを作成していますクラッシュXamarinフォームアプリケーション
- 2. Xamarinフォームアプリケーションのパフォーマンスの改善
- 3. DB3とXamarinフォームアプリケーションの関連
- 4. XamarinフォームアプリケーションとAPIのリンク
- 5. Xamarinフォームアプリケーション用のグローバルスタイルの作成方法
- 6. XamarinフォームアプリケーションでSQLiteの操作を結合
- 7. C#Windowsフォームアプリケーション、readlineのボタン名
- 8. Xamarinフォームアプリケーションでスプラッシュイメージを変更する
- 9. 削除ボタンSQLデータベースWindowsフォームアプリケーション
- 10. Xamarin PCLレンダリング
- 11. Xamarinがログインする
- 12. XamarinフォームfacebookログインXamarin.Auth
- 13. Xamarinフォーム - HTML/JavaScriptへのレンダリング
- 14. アンドロイド用のNavigationPageレンダリング。 Xamarinフォーム
- 15. Xamarin Forms AppとAzure Mobile AppsでFacebookとGoogleでログイン
- 16. xamarinのボタン隠し
- 17. Xamarin IOSボタンのID
- 18. ボタンのスタックレイアウトXamarinフォーム
- 19. ボタン用のXamarinカスタムレンダラー
- 20. Xamarinフォームのボタンが
- 21. Xamarin MasterDetailPageボタン
- 22. Xamarin Studio(Mac) - Windowsフォームアプリケーション? (Visual Studioのように)
- 23. Xamarinフォーム - プリズムバウンドプロパティ - レンダリング問題
- 24. XamarinフォームのGoogleマテリアルデザインエントリー
- 25. Xamarinは、Googleのナビゲーションドロワー
- 26. Xamarin Google Playサービス
- 27. Googleマップfor Xamarin
- 28. Xamarin google maps autocomplete
- 29. Googleのログイン - Firebase
- 30. Googleのログインは、
ありがとう、私はこれを試してみます.. –
@Grace Feng - 難しく、OnActivityResultで実装するものを見つける。他の人が参照できるようにGithubにサンプルコードを投稿できますか? –
@MobleJoseph、[official doc](https://developers.google.com/identity/sign-in/android/sign-in)をチェックするだけで、Xamarin.Androidにも同様の実装が行われます。 –