cocos 游戏对接Facebook 分享功能心得总结(Android版)

IDE 环境是Android studio 

1.Android studio 环境设置:

a.打开项目中的build.gradle 添加mavenCentral()到respositories 中

b.同时添加compile 'com.facebook.android:facebook-android-sdk:[4,5)' 到dependencies{} 中

2.添加Facebook 应用编号

a.打开string.xml文件 添加facebook_app_id 为应用编号

b.打开AndroidMainfest.xml文件

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

c.最后将

<!-- fb-sdk -->
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<provider
    android:name="com.facebook.FacebookContentProvider"
    android:authorities="com.facebook.app.FacebookContentProvider2144277925803909"
    android:exported="true" />
<activity
    android:name="com.facebook.CustomTabActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.in
rkk1(rkk1) 05-29 17:03:42
tent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="fb2144277925803909" />
    </intent-filter>
</activity>

<!-- fb_sdk_end-->

3.在示例应用Facebook开发者资料页添加生成秘钥散列keytool ,Windows环境需要安装

JDK,下载OpenSSL 

Mac 操作系统中,运行:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Windows 操作系统中,运行:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64

注意:这里有一个方便快捷的生成秘钥散列的方法:

获取哈希值的方法:

下载 openssl-0.9.8k_WIN32  下载地址:http://download.csdn.net/detail/h7870181/5054864    下载完成后,解压到C盘根目录

进入cmd  粘贴以下字符串,keystore默认密码为android 注意不要写错了。出来一串字符则为我们所需要的哈希值。

C:\openssl-0.9.8k_WIN32>keytool -export -alias myAlias -keystore C:\Users\Admini
strator\.android\debug.keystore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -bina

ry | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e

4.分享代码实现:

activity中初始化以及添加分享事件

import com.facebook.CallbackManager;
import com.facebook.share.widget.ShareDialog;
import com.facebook.share.Sharer;
import com.facebook.FacebookCallback;

import com.facebook.FacebookException;

private void initFacebook() {
        //抽取成员变量
        callbackManager = CallbackManager.Factory.create();
        shareDialog = new ShareDialog(this);
        // this part is optional
        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {
                //分享成功的回调,在这里做一些自己的逻辑处理
            }
            @Override
            public void onCancel() {
            }
            @Override
            public void onError(FacebookException error) {
            }
  });
}

//

public void shareToFacebook(View view) {
        //这里分享一个链接,更多分享配置参考官方介绍:https://developers.facebook.com/docs/sharing/android
        if (ShareDialog.canShow(ShareLinkContent.class)) {
            ShareLinkContent linkContent = new ShareLinkContent.Builder()
                    .setContentUrl(Uri.parse("https://developers.facebook.com"))
                    .build();
            shareDialog.show(linkContent);
        }
    }

//

protected void onActivityResult(int reqcode,int resultcode,Intent data){

    super.onActivityResult(reqcode,resultcode,data);

    callbackManager.onActivityResult(requestCode, resultCode, data);

}

根据以上步骤可实现Android 版Facebook 的分享功能,后面将结束 ios 版Facebook的分享功能!

参考网站:https://developers.facebook.com/docs/android/getting-started#----


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值