Android应用或游戏集成facebook登陆完整流程

上线google play一般都会集成第三方facebook登陆,google登陆和google支付功能,下面我们就来详细介绍每个功能是如何实现的。

一.首先我们来看看facebook登陆实现:

  1. 输入如下网站进入facebook开发者平台:https://developers.facebook.com/
  2. 登陆facebook开发者账号,然后点击我的应用->添加应用

   3.输入应用名TCTest,点击创建应用编号,完成人机验证

4.创建应用成功后会进入控制台,TCTest就是我们创建的应用名称,应用编号就是我们的app_id,然后选择facebook登陆点击设置进入

5.选择Android应用进入

6.后面都是点击下一步

7.输入应用包名和启动的Activity,点击sava,然后点击继续即可

会弹出如下提示,直接选择使用此包名

8.依次点击下一步,facebook会让我们输入散列秘钥,我们把自己的散列秘钥填写进去,点击save和继续就可以了。散列秘钥获取的方法如下:

public static String printKeyHash(Activity context) {
    PackageInfo packageInfo
;
   
String key = null;
    try
{
        String packageName = context.getApplicationContext().getPackageName()
;
       
packageInfo = context.getPackageManager().getPackageInfo(packageName,PackageManager.GET_SIGNATURES);
       
Log.e("Package Name=", context.getApplicationContext().getPackageName());
        for
(Signature signature : packageInfo.signatures) {
            MessageDigest md = MessageDigest.getInstance(
"SHA");
           
md.update(signature.toByteArray());
           
key = new String(Base64.encode(md.digest(), 0));
           
Log.e("Key Hash=", key);
       
}
    }
catch (PackageManager.NameNotFoundException e1) {
        Log.e(
"Name not found", e1.toString());
   
} catch (NoSuchAlgorithmException e) {
        Log.e(
"No such an algorithm", e.toString());
   
} catch (Exception e) {
        Log.e(
"Exception", e.toString());
   
}
   
return key;

9.然后一直点击下一步,最后会出现下图,点击返回就可以了

10.点击左边导航栏设置->基本,按照facebook提示填写基本信息然后保存

11.保存的时候会出现如下提示,这个不用管,选择使用此包名就可以

12.点击左边导航栏的应用审核,下图中的是否对外公开,我们选择是

11.点击对外公开时会弹出如下提示框,选择我们的应用类型,然后点击确认

12.我们再看看右上角的状态是否改变为已发布,如果是已发布状态,我们就可以开始测试了

13.facebook登陆的代码集成

13.1.添加facebook的依赖

api 'com.facebook.android:facebook-login:[4,5)'

13.2,初始化facebook

AppEventsLogger.activateApp(getApplication());

mLogger = AppEventsLogger.newLogger(this);

requestWindowFeature(Window.FEATURE_NO_TITLE);

callbackManager = CallbackManager.Factory.create();

13.3.登陆时调用facebook登陆方法

callbackManager = CallbackManager.Factory.create();

LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {

    @Override

    public void onSuccess(LoginResult loginResult) {

        Debug.d("loginResult" + loginResult.toString());

        accessToken = AccessToken.getCurrentAccessToken();

        token = accessToken.getToken();

        fbuid = accessToken.getUserId();



    }



    @Override

    public void onCancel() {

        Debug.d( "User Cancel");

    }



    @Override

    public void onError(FacebookException exception) {

        Debug.d( "Error--------:" + exception);

    }

});

LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile"));

 

13.4在onActivityResult方法中调用

callbackManager.onActivityResult(requestCode, resultCode, data);

 

到这里facebook的所有的流程都已经弄好了,可以开始测试了。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值