欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

facebook登陆接入

程序员文章站 2024-01-02 17:37:10
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar...

因上周公司在做海外项目,需要接入facebook,目前完成了登陆接入,现在写出来,方便大家。

1.FaceBook开发者设置:
https://developers.facebook.com/docs/facebook-login/android/

网址需要翻,所以先做好准备。里面有两种方式,我用的Maven方式。

2.使用 Maven
1.在您的项目中,打开 your_app > Gradle Scripts > build.gradle (Project),确保下列存储库都添加到 buildscript { repositories {}} 中:

jcenter() 

2.在您的项目中,打开 your_app > Gradle Scripts > build.gradle (Module: app) 并将下列执行语句添加到 dependencies{} 部分,以便依赖于最新版的 Facebook 登录 SDK:

 implementation 'com.facebook.android:facebook-login:[5,6)'

3.构建项目。

3.编辑您的资源和清单
1.打开您的 /app/res/values/strings.xml 文件。
添加如下所示的代码:

<string name="facebook_app_id">[APP_ID]</string> <string name="fb_login_protocol_scheme">fb[APP_ID]</string>

2打开 /app/manifest/AndroidManifest.xml 文件。
在 application 元素后添加以下 uses-permission 元素:

  <uses-permission android:name="android.permission.INTERNET"/>

3.在 application 元素中添加以下 meta-data 元素、一个针对 Facebook 的 activity 元素以及一个针对 Chrome 自定义选项卡的 activity 元素和意向筛选条件:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" /> <activity android:name="com.facebook.CustomTabActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="@string/fb_login_protocol_scheme" /> </intent-filter> </activity>

4.软件包名称和默认类与应用进行关联,为应用提供开发和发布密钥散列,为应用启用单点登录
这些自己在上面开发者里面设置。

5.代码部分

package org.cocos2dx.cpp_empty_test;

import android.app.Activity;
import android.content.Intent;
import android.util.Log;

import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.login.LoginManager;
import com.facebook.login.LoginResult;

import java.util.Arrays;

public class facebookLogin  {
    private CallbackManager fbCallback;
    private static Activity mActivity;


    protected void onCreate(Activity activity) {
        mActivity = activity;
        fbCallback = CallbackManager.Factory.create();

        LoginManager.getInstance().registerCallback(fbCallback,
                new FacebookCallback<LoginResult>() {
                    @Override
                    public void onSuccess(LoginResult loginResult) {
                        // App code
                        String token = loginResult.getAccessToken().getToken();

                    }

                    @Override
                    public void onCancel() {
                        // App code

                    }

                    @Override
                    public void onError(FacebookException exception) {
                        // App code

                    }
                });
    }


    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        fbCallback.onActivityResult(requestCode, resultCode, data);
    }

    public static void facebookLogin(){
        LoginManager.getInstance().logInWithReadPermissions(mActivity, Arrays.asList("public_profile"));
    }
}

以上是登陆的基本功能,自己放假做了个demo,后续接入google登陆或支付,也会分享。

本文地址:https://blog.csdn.net/weixin_42495311/article/details/107432558

上一篇:

下一篇: