FaceBook 三方分享 之 添加Android平台 的 密钥散列

版权声明:本博客为博主原创,欢迎大佬批评指点! https://blog.csdn.net/qq_31332467/article/details/77975435

需要添加 FaceBook 分享,于是准备添加平台和添加包应用。1.【先看下FaceBook如何申请和操作】2.【介绍如何生成 密钥散列--重点!!】3.是如何继承到ShareSdk中


1.【先看下FaceBook如何申请和操作】

转自http://bbs.mob.com/forum.php?mod=viewthread&tid=19148


1、点击连接https://developers.facebook.com/进去facebook的后台,注册账户申请应用;
2、新建应用,如下图:

 
 
 
3、添加Android平台,如下界面都是必须要填写的: 
点击添加平台选择android的话,如下所示填写包名、类名和keyhash、设置完之后保存更改;
 
Contact Email 填写您经常运行的邮箱就好,有什么结果会通知此邮箱的;
Google Play Package Name:项目的包名
Class Name:主入口类
Key Hashes:这个keyHashes是很重要的,这个你可以通过工具来获取。
4、下面在设置里面配置回调地址,回调地址必须要与工程内的ShareSDK.xml配置的保持一致:
 
点击添加产品选择facebook登录,如下图所示
 
如图所以配置的地址必须与项目中配置的回调地址相同
 

5、在点击应用审核选项,如下图开关打开YES:
 
然后再点击提交应用,如下图所示选择publish_actions
 
添加完之后如下图所示,下面开始配置下需要审核的内容
 
6、添加了权限之后,点击全部旁边的填写具体描述的按钮,选择第一个选项,再选择手机,用英语描述下开发者自己项目里做登录或者分享的步骤,让facebook那边的人可以按照您的步骤找到分享或登录的按钮,点击测试登录或者分享,如下图

 

录制的视频的样式可以参考这个链接录制http://www.tudou.com/programs/view/d_etTMG0PUo
fb客户端先退出,然后分享的时候再登录,体现客户端登录,并且有图文编辑界面,分享后可以看到分享的内容;
测试前必须要添加测试者账号进行测试,否则是没有权限添加的,添加位置如下所示
 
7、保存了之后,下面是提交app应用,上传个apk就好的
 

点击后facebook就已经提交审核了,这个就等facebook的邮件即可;
1.在分享的时候不能帮用户填写分享内容text,也就是说text先设置空,分享是在图文编辑界面让用户自己输入内容,可以等审核过后再改成您想分享的内容;
2.在登录的时候默认只有客户端登录,不要网页登录,客户端登录keyhash必须设置正确才可以的,不然也容易被拒绝,我们的sdk默认可以优先客户端登录;
3.在提交审核之前一定要用注册应用的帐号先使用appkey分享成功一次才行,分享测试可以在Roles内添加测试账号,分享成功后在时间线查看审核的时候会有用;

                                                                                                                        2.【是介绍如何生成 密钥散列】

1.先导入一个jar 包,sun.misc.BASE64Decoder.jar ,主要是采用BASE64Encoder编码。

BASE64:http://download.csdn.net/download/qq_31332467/9977998

 /**
     * <P>密钥散列</P>
     */
    private void initKeyhashs() {
        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "包名", PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                BASE64Encoder encoder = new BASE64Encoder();
                String key = encoder.encode(md.digest());
                BBLog.LogE("initKeyhashs", key);
            }
        } catch (PackageManager.NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }
    }

3.【是如何集成到ShareSdk中】

1.Facebook同样也需要集成sharesdk集成文档请参考:

eclipse用户可参照:http://wiki.mob.com/sdk-share-android-3-0-0/

android studio用户可参照:http://bbs.mob.com/thread-22130-1-1.html


 1. 首先在官网下载ShareSDK For Android,参照上述链接文档的提示进行集成,已下载的文件需按照文档提示放置在规定的位置,集成后的目录文件如下所示:

3.Facebook开发平台申请的申请的appkeyapps ecretsharesdk.xml文件配置好,如下图


需要注意的是标记处的回调地址需要跟Facebook开发平台配置的一致,此地址未作限制,能点击打开即可;此处是代码中的主要配置部分;




猜你喜欢

转载自blog.csdn.net/qq_31332467/article/details/77975435