我們如何渲染xamarin.Android中的google登錄按鈕以在xamarin表單應用程序中呈現。有沒有什麼辦法可以在不使用xamarin表單中的Auth url的情況下實現它。渲染谷歌登錄xamarin表單應用程序中的按鈕
0
A
回答
1
我們該如何渲染xamarin.Android中的google登錄按鈕才能在xamarin表單應用程序中呈現。有沒有什麼辦法可以在不使用xamarin表單中的Auth url的情況下實現它。
我不確定您的「Auth Url」是否指示哪種方法進行身份驗證。
通過android應用,我們可以使用谷歌SDK來實現這一點。使用GoogleApiClient
將Google登錄集成到我們的應用中,首先我們需要將包Xamarin.GooglePlayServices.Basement,Xamarin.GooglePlayServices.Auth和Xamarin.GooglePlayServices.Identity安裝到您的Android項目中,然後您可以查看此官方文檔:Integrating Google Sign-In into Your Android App。
由於您使用Xamarin.Forms,你可以這樣創建例如自定義登錄按鈕:
public class MySignInButton : Button
{
}
而且渲染這樣的:
[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");
}
}
}
在XAML中,可以使用該按鈕是這樣的:
<local:MySignInButton Text="Sign In" />
不要忘記在Android項目的清單中添加<activity android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity" />
。
我在這裏使用自定義渲染器,因爲您要求在您的問題中呈現登錄按鈕,我想您可能還需要樣式按鈕或類似的東西,否則使用DependencyService將在這種情況下更專業我的想法是。
並且不要忘記實施你的MainActivity
的android項目的OnActivityResult
。如果還有其他問題,請發表評論。
相關問題
- 1. Xamarin表單谷歌登錄
- 2. 關於渲染谷歌按鈕登錄模態的自舉使用Firefox V34
- 3. Facebook的登錄按鈕停止渲染
- 4. Xamarin表單Facebook登錄按鈕
- 5. 登錄谷歌沒有xamarin
- 6. 谷歌加登錄android應用程序
- 7. 谷歌應用程序登錄文件
- 8. Xamarin Android谷歌加登錄登錄
- 9. 傳遞表單參數到谷歌登錄(谷歌應用程序引擎)
- 10. 如何在谷歌應用程序中設置谷歌登錄?
- 11. 如何刪除即時谷歌加登錄與Gplus按鈕渲染/
- 12. 谷歌登錄按鈕不起作用
- 13. 谷歌登錄按鈕按檢測ios
- 14. 登錄谷歌沒有谷歌登錄按鈕,但用戶憑據
- 15. 品牌指引谷歌登錄按鈕
- 16. 谷歌登錄按鈕與AngularJS
- 17. Android谷歌加號登錄按鈕
- 18. 谷歌登錄按鈕沒有發生
- 19. 谷歌+登錄按鈕autorization屏幕
- 20. 圓角谷歌登錄按鈕 - android
- 21. 單擊按鈕後在單頁應用程序中渲染Rails部分
- 22. 「登錄谷歌」日食kepler按鈕does'nt打開谷歌登錄窗口?
- 23. 使用反應材質凸起按鈕進行谷歌登錄
- 24. 谷歌圖表在Ember.js中渲染
- 25. 谷歌登錄Android應用程式
- 26. 谷歌應用程序腳本 - 繪圖作爲按鈕打開谷歌表格
- 27. 如何在iPhone應用程序中使用谷歌AdSense登錄?
- 28. 如何從應用程序登錄按鈕登錄Facebook?
- 29. 如何使用谷歌登錄信息登錄到我的應用程序
- 30. 谷歌+登錄iOS應用程序拒絕使用谷歌SDK v3.x
謝謝,我會試試這個.. –
@Grace Feng - 尋找困難,在OnActivityResult中實現什麼。你能在Github上發佈一個示例代碼,以便其他人可以參考嗎? –
@ MobleJoseph,只需查看[官方文檔](https://developers.google.com/identity/sign-in/android/sign-in),Xamarin.Android也有類似的實現。 –