本文档可帮助您为 v2 原生 C 或 C++ 设置 C++ 项目,并验证身份验证服务。
前期准备
您必须在 Google Play 管理中心内设置 Play 游戏服务。
应用要满足的前提条件
确保您应用的 build 文件使用以下值:
minSdkVersion为19或更高版本compileSdkVersion为28或更高版本
设置游戏项目
完成以下步骤以设置您的游戏项目。
更新 build.gradle
在应用级 build.gradle 文件中,执行以下操作:
确保已启用 prefab 构建功能。
添加 v2 原生 SDK(Beta 版)的依赖项:
com.google.android.gms:play-services-games-v2-native-c:21.0.0-beta1
示例如下:
android {
...
buildFeatures {
prefab true
}
...
}
dependencies {
...
implementation "com.google.android.gms:play-services-games-v2-native-c:21.0.0-beta1"
}
更新 CMakeLists.txt
在您的 CMakeLists.txt 文件中,添加如下代码:
find_package(com.google.android.gms.games.v2.c REQUIRED CONFIG)
// link games_static for -DANDROID_STL=c++_static or default
// link games_shared for -DANDROID_STL=c++_shared
target_link_libraries(
app PUBLIC com.google.android.gms.games.v2.c::games_static)
更新 AndroidManifest.xml
如需在
AndroidManifest.xml文件中定义 Play 游戏服务项目 ID,请添加以下代码行:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>为项目 ID 创建字符串资源。这样一来,您的游戏便可以在构建时访问该项目 ID。如需创建资源,请创建文件
project_root/app/src/main/res/values/games-ids.xml,并添加以下内容:<?xml version="1.0" encoding="utf-8"?> <resources> <string name="game_services_project_id" translatable="false">add your Project ID here</string> </resources>构建和测试游戏。如果成功,当您启动游戏时,游戏会显示登录提示或成功的登录横幅。
重新启动登录提示
如果玩家拒绝在游戏启动时自动显示初始 Play 游戏服务登录提示,他们可以在游戏会话期间改变主意。只要没有玩家通过身份验证,您就可以调用 PgsGamesSignInClient_signIn 来重新启动登录提示。
游戏服务器授权
玩家成功通过 Play 游戏服务身份验证后,您的游戏客户端可以请求服务器授权代码,您的后端游戏服务器可以使用该代码来与 Play 游戏服务进行安全通信。这样一来,您的游戏服务器就可以检索、更新和存储已通过身份验证的玩家的数据。您可以通过调用 PgsGamesSignInClient_requestServerSideAccess 函数来检索服务器授权代码。
如需了解详情,请参阅服务器访问指南。