我有一個web應用程序,您可以使用Facebook和Google登錄。我現在將Webapp打包在本地Xamarin應用程序中(不是表格 - 我應該使用表格嗎?)。 如何創建原生Facebooklogin(使用facebook應用程序)而不是在webview中啓動facebook?本地Facebook登錄到Xamarin WebApp
0
A
回答
1
如何創建原生Facebooklogin(使用facebook應用程序)而不是在webview內啓動facebook?
您可以按照下面的步驟,以Facebook登錄功能添加到您的應用程序:
搜索
Xamarin.Facebook.Android
在NugetPackageManager
並將其添加到您的Xamarin.Android應用。添加
com.facebook.FacebookActivity
到您的清單:<application android:label="YourProjectName"> <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/ApplicationName" /> </application>
添加
facebook_app_id
到String.xml
:<resources> ... <string name="ApplicationName">YourProjectName</string> <string name="facebook_app_id">1429006317193169</string> </resources>
在你MainActivity.cs添加像下面
MetaData
和Permission
屬性:[assembly:MetaData("com.facebook.sdk.ApplicationId",Value = "@string/facebook_app_id")] [assembly:Permission(Name = Android.Manifest.Permission.Internet)] [assembly:Permission(Name = Android.Manifest.Permission.WriteExternalStorage)] namespace YourProjectName { ... }
添加
com.facebook.login.widget.LoginButton
您xaml
:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.facebook.login.widget.LoginButton android:id="@+id/btnLogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="30dp" android:layout_marginBottom="30dp" /> </LinearLayout>
註冊您的活動登錄回調:
public class MainActivity : Activity { ICallbackManager callbackManager; LoginButton btnLogin; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView (Resource.Layout.Main); callbackManager = CallbackManagerFactory.Create(); btnLogin = FindViewById<LoginButton>(Resource.Id.btnLogin); LoginManager.Instance.RegisterCallback(callbackManager, new MyCallbackResult()); } protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { int code = 0; if (resultCode == Result.Ok) { code = -1; } else if (resultCode == Result.FirstUser) { code = 1; } callbackManager.OnActivityResult(requestCode, code, data); } } public class MyCallbackResult : Java.Lang.Object, IFacebookCallback { public void OnCancel() { //login cancel callback } public void OnError(FacebookException p0) { //login error callback } public void OnSuccess(Java.Lang.Object p0) { //Login success callback } }
+0
嗨,謝謝你的回答。我使用Xamarin Forms,所以我將不得不嘗試使用本地頁面實現您的解決方案。我希望它能起作用。 –
相關問題
- 1. Ionic Facebook登錄爲本地
- 2. 本地測試「Facebook登錄」
- 3. Xamarin Forms facebook登錄Xamarin.Auth
- 4. 登錄PHP webapp
- 5. 登錄到Facebook
- 6. 陣營本地渲染Facebook登錄
- 7. 訪問facebook登錄本地網站
- 8. 使用Facebook登錄從本地主機
- 9. 如何使用facebook SDK Xamarin Android登錄?
- 10. Xamarin - 如何使用facebook登錄APP
- 11. 註冊Facebook/twitter,但用「本地」登錄詳細信息登錄
- 12. 登錄到facebook bug
- 13. Xamarin形式:如何創建一個Facebook登錄本機體驗
- 14. Facebook登錄重定向到本地主機
- 15. 如何通過本地Facebook oauth登錄Facebook?
- 16. facebook護照/本地護照衝突 - 無法使用facebook登錄
- 17. Facebook登錄按鈕文本
- 18. JBoss webapp登錄處理
- 19. Tomcat的登錄功能webapp
- 20. 反應本地Facebook登錄給出的錯誤不能得到auth/facebook
- 21. 將文章從webapp分享到本地facebook
- 22. Xamarin Android谷歌加登錄登錄
- 23. 登錄facebook登錄鏈接
- 24. php登錄和Facebook登錄
- 25. AUTO登錄到facebook iphone
- 26. 用java登錄到facebook
- 27. 自動登錄到facebook
- 28. 登錄到Facebook的api
- 29. Php上傳到Facebook沒有Facebook登錄
- 30. 使用omniouth-facebook和devise登錄到facebook
你怎麼打包?使用webview並加載遠程網站? – woelliJ
不知道,但可能你將不得不使用Xamarin Facebook SDK – Yupi
是的,在iOS中我使用WKWebView,但我想我將遷移到Forms –