Wie können wir die Google-Schaltfläche in Xamarin.Android Render in xamarin Formen Anwendung gerendert werden. Gibt es eine Möglichkeit, dies zu erreichen, ohne die Auth-URL in Xamarin-Formularen zu verwenden?Render Google Anmelden Button in Xamarin Formen Anwendung
Antwort
Wie können wir die google anmelden Schaltfläche in Xamarin.Android in xamarin Formen Anwendung gerendert werden. Gibt es eine Möglichkeit, dies zu erreichen, ohne die Auth-URL in Xamarin-Formularen zu verwenden?
Ich bin nicht sicher, dass Ihre "Auth Url" angibt, welche Methode für die Authentifizierung.
Mit Android-App können wir Google SDK verwenden, um dies zu erreichen. Mit GoogleApiClient
, um Google Sign-In in unsere App zu integrieren, müssen wir zuerst das Paket Xamarin.GooglePlayServices.Basement, Xamarin.GooglePlayServices.Auth und Xamarin.GooglePlayServices.Identity in Ihrem Android-Projekt installieren, und dann können Sie sich dieses offizielle Dokument ansehen: .
public class MySignInButton : Button
{
}
Und Renderer wie folgt aus::
Da Sie Xamarin.Forms verwenden, können Sie Ihre benutzerdefinierten Anmeldeschaltfläche zum Beispiel wie folgt erstellen
[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");
}
}
}
In XAML Sie Über diese Schaltfläche wie folgt verwenden:
<local:MySignInButton Text="Sign In" />
vergessen Sie nicht hinzufügen <activity android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity" />
in Manifest des Android-Projekts.
Ich bin hier Custom Renderer verwenden, weil Sie fragen, für das Rendern einer Schaltfläche in Ihrer Frage, ich denke, Sie müssen auch Ihre Schaltfläche oder etwas ähnliches, sonst mit DependencyService wird professioneller in diesem Szenario sein meiner Meinung nach.
Und vergessen Sie nicht, die OnActivityResult
Ihrer MainActivity
von Android-Projekt zu implementieren. Bei weiteren Fragen hinterlassen Sie bitte einen Kommentar.
- 1. Anwendung Konfigurationsdatei in Xamarin Formen
- 2. Branding-Richtlinien Google Anmelden Button
- 3. Xamarin Formen - Force zeigen zurück Button
- 4. Anwendung Hintergrund Daten Synchronisierungsdienst in Xamarin Formen
- 5. Xamarin Formen Xamarin Android
- 6. Render 1000+ Formen in opengl
- 7. Xamarin Formen blättern Buttom
- 8. App.AppName in Xamarin Formen
- 9. hamburger menüprisma xamarin formen?
- 10. Xamarin Formen Bild Schaltfläche Problem
- 11. Xamarin Formen - Periodische Listenansicht Datenaktualisierung
- 12. Barcode Scannen in Xamarin Formen
- 13. Xamarin Formen Bindung Label
- 14. Zwei Schubladen Xamarin Formen
- 15. Xamarin Formen Messaging-Plugin
- 16. ASP.Net Identity Provider in Xamarin Formen
- 17. Xamarin Formulare Anmelden
- 18. Google Play Game-Dienste anmelden Button spuckt "Unbekannter Fehler"
- 19. render manuell dynamisch generierte Google 'plus einem' Button
- 20. set Höhe Eintrag gerendert xamarin Formen ios
- 21. Knopf Randfarbe Xamarin Formen zeigte nicht
- 22. xamarin Formen arbeiten mit mvvmcross
- 23. Xamarin Formen mit MVC-Architektur
- 24. Xamarin Formen Grid Sizing Problem
- 25. Xamarin Formen wp81 Statusleiste Hintergrundfarbe
- 26. Xamarin Formen - XLabs CustomRadioButton: ItemsSource
- 27. Schließen Xamarin Formen Navigation Schublade
- 28. Wie überlappen sich Xamarin-Formen?
- 29. Xamarin Formen XAML OnPlatform VerticalOptions
- 30. Xamarin Formen Splash-Screen-Problem
Danke ich werde dies ausprobieren .. –
@Grace Feng - Find hart, was in der OnActivityResult implementieren. Können Sie in Github einen Beispielcode posten, damit andere darauf verweisen können? –
@MobleJoseph, überprüfen Sie einfach das [offizielle Dokument] (https://developers.google.com/identity/sign-in/android/sign-in), Xamarin.Android hat ähnliche Implementierung. –