Unity接入FaceBook 如何获取FaceBook SDKUnity导入Facebook SDKUnity代码
如何获取FaceBook SDK
注册前的准备工作
由于国内网络无法直接打开Facebook页面,因此需要一个较稳定的VPN,我使用的是SS,但是类似的软件还有很多,大家可以视自己的情况而定。
创建开发者账号
登录Facebook开发者后台
创建自己的应用
1.点击右上角【创建应用】
2.创建好应用后记录AppId并进入设置界面
3.点击添加平台,添加Android并填写Google Play 包名、类名、密钥散列(其中类名与密钥散列可以通过Unity中导入的Facebook SDK中获得。)
4.下载Facebook SDK的Unity版本
1.双击Facebook SDK导入Unity(如需FaceBook SDK Demo 则保留Example目录,否者删除)
2.点击Unity菜单Facebook->Edit Settings
3.设置Edit Settings
*需要将FaceBook里的应用名,应用编号,客户端口令(再设置->高级里)填入对应的括号里
*在Android Build FaceBook Settings中的ClassName(类名)、Debug Android Key Hash(密钥散列)填入Facebook后台
注意坑点: 在Unity中生成的散列是错误的,后续出包后拉起FaceBook会提示密钥错误并且会把正确的密钥告诉你
可能出现错误导致无法获取Android Build FaceBook Settings里面的信息
1,报错Keytool not found.Make sure that Java is installed,and that Java tools are in your path:
这里要求jdk要使用jdk8。且要配置jdk环境变量。
2.报错OpenSSL not found,Make sure that OpenSSL is installed,and that it is in your path:
需要配置OpenSSL
上述下载的为非安装包,解压后,我直接丢到C盘根目录了。
系统环境变量Path中新建 C:openssl-0.9.8e_X64bin
3.配置好后,重启Unity,Android Build FaceBook Settings出现信息后,点击一下Regenerate Android Manifest
1.初始化
FB.Init()
初始化成功后,FB.IsInitialized为true
2.登录
Facebook的功能都跟权限挂钩的,提供了两种方式的登录, LogInWithReadPermissions(读取权限) 和 LogInWithPublishPermissions(发布权限)。
你可以根据自己需要的接入的功能选择登录方式,并传入权限参数。
这里我用LogInWithReadPermissions
3.获取用户信息
FB.API("me?fields=id,name,picture,gender", HttpMethod.GET, (Result) =>//me?fields=id,name,picture,gender为想获取的用户信息{ if (result != null) { //Result.RawResult是Json数据,里面含了用户信息 }});