我有一个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. 登录Facebook - Xamarin
- 2. Xamarin Forms facebook登录Xamarin.Auth
- 3. 本地测试“Facebook登录”
- 4. Ionic Facebook登录为本地
- 5. Facebook的本地应用和Facebook登录
- 6. Facebook的应用程序内登录webapp
- 7. 登录PHP webapp
- 8. 登录到Facebook
- 9. 登录到Facebook
- 10. Xamarin - 如何使用facebook登录APP
- 11. Xamarin表单Facebook登录按钮
- 12. 如何使用facebook SDK Xamarin Android登录?
- 13. 只有iOS本地Facebook登录工作
- 14. 阵营本地渲染Facebook登录
- 15. Android - Facebook本地登录抛出ApiException
- 16. 访问facebook登录本地网站
- 17. 使用Facebook登录从本地主机
- 18. expressjs护照使用Facebook登录和本地登录
- 19. 注册Facebook/twitter,但用“本地”登录详细信息登录
- 20. 的Facebook的iOS SDK登录本地和UIWebView的登录
- 21. 集成Facebook登录与本地登录系统
- 22. Xamarin形式:如何创建一个Facebook登录本机体验
- 23. 登录到facebook bug
- 24. Facebook登录到本机模式从iOS6
- 25. Facebook桌面登录OAuth2(重定向到本地)问题
- 26. Facebook登录重定向到本地主机
- 27. facebook护照/本地护照冲突 - 无法使用facebook登录
- 28. 如何通过本地Facebook oauth登录Facebook?
- 29. Facebook脚本API登录
- 30. Facebook登录按钮文本
你怎么打包?使用webview并加载远程网站? – woelliJ
不知道,但可能你将不得不使用Xamarin Facebook SDK – Yupi
是的,在iOS中我使用WKWebView,但我想我将迁移到Forms –