Android
本文旨在介绍如何设置 Facebook 身份验证,让您的游戏可以使用 Player Network 登录鉴权服务通过 Facebook 渠道登录。
前提条件
1. 在 Facebook 开发者平台上配置应用
1. 注册账号
在为应用配置平台之前,请注册 Facebook 开发者账号并在 Facebook App Dashboard 创建应用。
-
在 Facebook 注册账号并根据提示完成账号认证(Email 或手机认证)。
-
在 Meta for Developers 激活开发者账号。
-
同意协议并继续。
-
完成手机验证。
-
确认邮箱。
-
完成注册。
-
在 Meta for Developers 将 Facebook SDK 添加到项目。
2. 创建应用
-
在右上角点击 Create App。
-
填写基本信息:
- App name - INTLConfig.ini 配置文件中的
FACEBOOK_DISPLAYNAME
。 - App contact email - 主要联系邮箱,用于接收由 Facebook 方发送,关于该应用的各种通知。
- App name - INTLConfig.ini 配置文件中的
-
应用类型选择为 Authenticate and request data from users with Facebook Login。
-
选择 Business,如果未显示则请继续下一步。
-
同意并继续。
-
检查概览, 点击 Go to Dashboard 即可完成 app 创建。
3. 配置应用
按照 Facebook 规范输入隐私协议 URL、用户数据删除和服务条款 URL。如果您不遵守 Facebook 规范,Facebook 可能会在您的应用程序发布后禁用您的应用程序。
已提交到 Facebook 的应用可以继续使用 Facebook Login For Gaming,未提交的新 App 只能使用 Facebook Login。更多详情,请参见 Facebook Login For Gaming。
-
在左侧导航栏中,点击 App Settings > Basic 查看应用程序的基本信息,如 App ID 和 App secret。
-
在 Privacy Policy URL 字段中,输入隐私协议的网址。
-
在 User Data Deletion 字段中,选择数据删除说明 URL,并根据用户的数据删除说明输入网址。
-
在 Terms of Service 字段中,输入服务条款网页的 URL。
-
点击 Add Platform,选择 Android 添加 Android 应用程序。
-
直接输入配置,或点击平台配置界面右上角的 Quick Start,根据指南设置配置。
注意关于 Key Hashes 生成方法,请参见 Facebook 官方指南。
-
点击 Save Changes 保存配置。
配置 Facebook 登录
- 在 Facebook App Dashboard,点击 Use cases > Customize。
- 在 Facebook Login 下选择 Settings。
- 在 Valid OAuth Redirect URIs,填写
https://common-web.intlgame.com/jssdk/facebooklogincallback.html
和https://test-common-web.intlgame.com/jssdk/facebooklogincallback.html
。 - 打开 Embedded Browser OAuth Login。
- 在页面底部点击 Save changes 保存配置。
4. 添加测试人员权限
在应用发布之前,只有测试用户或被添加到权限列表中的用户才能访问 Facebook 的功能。
- 在 Facebook App Dashboard 中,点击 Roles。
- 点击 Add Administrators/Add Developers/Add Testers 以添加各个角色。
5. 完成 Facebook 商务认证
某些 Meta 技术或功能需要通过 Meta 商务认证后才可以使用。如需商务认证,请联系 Player Network 助手。
- 获取 Player Network 控制台登录账号。
- 为游戏创建新项目,或加入已有项目。
- 下载 SDK。
- 接入 SDK。
- 在 Player Network 控制台添加 Facebook 为业务的登录鉴权方式。
步骤1:为 Facebook 登录配置 SDK
-
在
AndroidManifest
文件中,确保添加了所需权限。Facebook 需要访问网络。<uses-permission android:name="android.permission.INTERNET"/>
-
打开项目的 INTLConfig.ini 文件:
INTLConfig.ini[INTL environment]
# WARNING: You should change this URL to the production environment when you release your game.
INTL_URL = https://test.intlgame.com
GAME_ID = {INTL_GAME_ID}
SDK_KEY = {INTL_SDK_KEY}
[INTL Log]
LOG_LEVEL = 1
LOG_CONSOLE_OUTPUT_ENABLE = 1
LOG_FILE_OUTPUT_ENABLE = 1
LOG_ENCRYPT_ENABLE = 0
LOG_COMPRESS_ENABLE = 0
[Android LifeCycle]
LIFECYCLE = Facebook
[Facebook]
FACEBOOK_APP_ID = {INTL_FACEBOOK_APP_ID}
FACEBOOK_DISPLAYNAME = {INTL_APP_NAME}- 将 SDK 后端环境
INTL_URL
设置为https://test.intlgame.com
。 - 将
{INTL_GAME_ID}
和{INTL_SDK_KEY}
替换为 Player Network 控制台 分配的GAME_ID
和SDK_KEY
的值。 - 设置
LOG_LEVEL = 1
、LOG_CONSOLE_OUTPUT_ENABLE = 1
、LOG_FILE_OUTPUT_ENABLE = 1
、LOG_ENCRYPT_ENABLE = 0
和LOG_COMPRESS_ENABLE = 0
,以便在不加密或压缩输出的情况下输出控制台日志和日志文件。 - 在
LIFECYCLE
中添加 Facebook。有关更多信息,请参见 SDK 环境。 - 将
{INTL_FACEBOOK_APP_ID}
替换为 Facebook App ID。
- 将 SDK 后端环境