Unity接入Facebook SDK--android篇

本文详细介绍如何在Unity项目中集成Facebook SDK,包括创建应用、下载SDK、配置环境、解决常见错误等步骤,以及登录、事件记录、分享功能的具体实现。

配置流程

1,开发者后台创建应用

https://developers.facebook.com/apps/

2,下载Unity版本SDK,导入Unity

https://developers.facebook.com/docs/unity/
下载的Unity package包包含sdk和demo工程。根据demo工程可以很容易进行代码移植。

3,Facebook SDK for Unity Reference

各种示例和API详细解说:Facebook SDK for Unity Reference

4,配置

Facebook–>Edit Settings打开配置界面
在这里插入图片描述

基本设置

AppName可以随便写
Facebook App Id为后台的应用编号
ClientToken为 后台中:设置–>高级页面 客户端口令

FB.Init()

使用默认即可

Android Build Facebook Setting

这部分的设置内容是自动生成的,无法手动输入,为了能够自动生成信息,需要配置好本地的环境,有以下需要注意的点:
1, 这里要求jdk要使用jdk8。且要配置jdk环境变量。
下图为笔者机器jdk设置
在这里插入图片描述
一开始红框处是勾选的,即使用unity安装包里面的jdk。报错Keytool not found.Make sure that Java is installed,and that Java tools are in your path
在这里插入图片描述
即要求配置jdk环境变量。
笔者先下载了jdk13,配置好后,Preferences浏览选择jdk目录的时候直接报错提示只支持jdk8。
于是只能换jdk8安装。

2,配置OpenSSL
未配置前,报错OpenSSL not found,Make sure that OpenSSL is installed,and that it is in your path。且无法生成Debug Android Key Hash的值
在这里插入图片描述
这里补充一下OpenSSL配置流程
2.1,下载
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/openssl-for-windows/openssl-0.9.8e_X64.zip
2.2 配置
上述下载的为非安装包,解压后,我直接丢到C盘根目录了。

2.2.1 系统环境变量Path中新建 C:\openssl-0.9.8e_X64\bin

2.2.2 新建系统环境变量OPENSSL_CONF,值为openssl.cnf的路径,笔者的是C:\openssl-0.9.8e_X64\openssl.cnf
在这里插入图片描述
上述无论是配置jdk还是OpenSSL,配置好后,重启Unity,便解决之前的报错提示。同时Debug Android Key Hash也会自动生成。需要复制该值,配置到FB开发者后台。
(补充:Android Key Hash的生成,详见该文。上面配置好OpenSSL,自动生成的Debug Android Key Hash其实是默认的keystore文件生成的散列值,当我们用自己的keystore文件出包后,进行FB登录后日志会报错,且会把正确的散列值打印出来,这个时候只需要把这个散列值再配置到开发者后台,就可以正确登录了。当然使用链接中提供的keytool命令也是可以获得正确的散列值的)

都设置好了。点击一下Regenerate Android Manifest
笔者最终生成的Android Manifest文件如下(涉及到包名和id的地方打了黑马):
在这里插入图片描述

上述都配置好后,把Class Name配置到FB后台(默认的是com.facebook.unity.FBUnityDeepLinkingActivity),有朋友说需要配置游戏真正的启动Activity名字。这里笔者用的默认的,暂时没有发现什么问题。

  • 20220620补充
    在使用13.2.0版本时报错clientToken没有设置(虽然我在设置界面配置了,但是打包后通过解包在andoirmanifest.xml中确实没看到,应该是这个版本的bug),需要手动在androidmanifest.xml中配置 <meta-data android:name="com.facebook.s
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iningwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值