BrainCloudCpp 5.3.0

BrainCloudCpp 5.3.0

测试已测试
Lang语言 C++C++
许可证 Apache-2.0
发布最后发布2024年5月

Paul WinterhalderbrainCloud Client Team 维护。



 
依赖项
SSKeychain>= 0
BrainCloudJsonCpp~> 1.2.1
SocketRocket~> 0.5
 

  • brainCloud 团队

brainCloud C++ 库

感谢下载 brainCloud C++ 客户端库!以下是一些开始使用时的注意事项。有关 brainCloud API 的更多信息,包括示例教程,可以在以下找到

http://getbraincloud.com/apidocs/

如果您尚未注册或想登录到 brainCloud 门户,可以在此操作

https://portal.braincloudservers.com/

在 Visual Studio 中构建

先决条件

  • git 或 brainCloud 下载的 zip 存档
  • Visual Studio 17 2022. 但 2013 年以后的版本都应该可以工作。
  • CMake https://cmake.com.cn/

步骤(命令行在 PowerShell 中执行)

  1. 在您的 PC 上某个位置克隆仓库,然后 cd 到它。

    git clone https://github.com/getbraincloud/braincloud-cpp.git
    cd braincloud-cpp
  2. 更新子模块,以便在构建时包含第三方库。

    git submodule update --init --recursive
  3. 创建一个离源构建文件夹,然后 cd 到它。

    mkdir build
    cd build
  4. 使用 cmake 生成解决方案。

    cmake ..

    您可以使用生成器命令指定 Visual Studio 版本

    cmake -G"Visual Studio 16 2019" ..
    cmake -G"Visual Studio 17 2022" ..

    或者如果您正在为 UWP 构建,则执行以下操作

     cmake -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0" -DCMAKE_GENERATOR_PLATFORM=x64 -DBUILD_TESTS=ON ..
  5. 从文件资源管理器中,输入"explorer .",在 Visual Studio 中打开 brainCloud.sln 文件并使用所需配置构建 brainCloud 项目。发布/调试/静态库或共享库等。

  6. 您也可以在壳命令行中构建 brainCloud.lib。

    cmake ..
    cmake --build . --target brainCloud

为 Linux 或 Mac 构建

先决条件

  • git 或 brainCloud 下载的 zip 存档
  • C++ 编译器
  • Ninja (可选,以实现更快的构建)
  • CMake https://cmake.com.cn/
  • libcurl-dev 与 openssl
  • pthread

步骤(命令行在 PowerShell 中执行)

  1. 在您的 PC 上某个位置克隆仓库,然后 cd 到它。
    git clone https://github.com/getbraincloud/braincloud-cpp.git
    cd braincloud-cpp
  2. 更新子模块,以便在构建时包含第三方库。
    git submodule update --init --recursive
  3. 创建一个离源构建文件夹,然后 cd 到它。
    mkdir build
    cd build
  4. 使用 cmake 生成解决方案,并指定是调试还是发布。
    cmake -DCMAKE_BUILD_TYPE=Release ..
    如果你正在为 XCode 生成,请按照以下步骤操作
    cmake -DCMAKE_GENERATOR=Xcode ..
  5. 构建 brainCloud
    make

或者,

cmake --build . --config Release

其他 IDE/构建系统支持

使用 cmake --help 查看可用的生成器。然后,使用以下命令:

cmake -G"CodeBlocks" ..
cmake -G Ninja ..

CLion

  1. 在 CLion 中打开 braincloud-cpp 文件夹。
  2. 在 Clion 中设置 CMake 选项 > 设置...对于 Windows,设置
-DSSL_ALLOW_SELFSIGNED=ON -DCMAKE_GENERATOR_PLATFORM=x64
  1. 选择构建 > 构建 'brainCloud' 或者,直接将 brainCloud 添加到你的 cmake 项目中(见下文)。

为 Android 构建

通过直接将 brainCloud 添加到你的 NDK 应用程序的 CMake 项目中执行以下步骤。

将 brainCloud 添加到您的应用程序的 CMake 项目中。

找到 CMakeLists.txt 所在的目录。例如,如果是 Android 项目,请在 YourAppDir/app/src/main/cpp/ 内执行以下步骤。

  1. 将存储库克隆到您的子模块中,例如在 ./thirdparty/ 路径。

    mkdir thirdparty
    cd thirdparty
    git submodule add https://github.com/getbraincloud/braincloud-cpp.git
  2. 更新子模块,以便在构建时包含所需库。

    cd braincloud-cpp
    git submodule update --init --recursive
  3. 将子目录添加到您的 CMakeLists.txt 中,例如

    add_subdirectory(./thirdparty/braincloud-cpp)
    target_link_libraries(${PROJECT_NAME} brainCloud) # Note the capital 'C'

    或者

     add_subdirectory(/path/to/braincloud-cpp ./builddir/braincloud-cpp)
     list(APPEND includes PUBLIC /path/to/braincloud-cpp/include/)
     list(APPEND includes PUBLIC /path/to/braincloud-cpp/libs/jsoncpp-1.0.0)
     list(APPEND libs brainCloud)
     target_include_directories(${PROJECT_NAME} ${includes})
     target_link_libraries(${PROJECT_NAME} ${libs})
  4. 仅适用于 Android 应用,请别忘了在 AndroidManifest.xml 中添加 INTERNET 权限,否则 brainCloud 不会工作。

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

Cocoapod 安装

库通过 CocoaPods 分发。为了安装库,只需将以下内容添加到您的 Podfile 中。

pod 'BrainCloudCpp'

或者,

pod 'BrainCloudCpp', '4.xx.y'

如果您是 CocoaPods 新手,您可以在此处找到如何设置 Xcode 项目的文档

https://guides.cocoapods.org.cn/

将内容添加到 Podfile 后,运行以下命令

pod update

故障排除

以下是您可能在尝试首次连接到 brainCloud 时遇到的一些常见错误。

  • 未设置 App id:请确认您已在 initialize() 方法中正确设置了 App id 和 App 密钥。
  • 平台未启用:请确认您已在门户中启用了您的平台。

如果您仍有问题,请登录门户,并通过帮助系统(右下角的问号和聊天气泡图标)联系我们。

BrainCloud 摘要

BrainCloud 是一个现成的后端平台,用于开发功能丰富的游戏、应用程序和物联网设备。BrainCloud 提供您所需的功能,以及一套全面的工具来支持您的团队在开发、测试和用户支持期间的工作。

BrainCloud 包含以下内容:

  • 云服务 - 高级软件即服务(SaaS)后端
  • 客户端库 - 本地客户端库(SDKs)
  • 设计门户 - 一个允许您设计和调试应用程序的门户
  • BrainCloud 架构

architecture

BrainCloud 外部包装器和 BrainCloud 客户端之间有什么区别?

包装器包含围绕 BrainCloud 客户端的用户体验改进。它可能包含特定于设备的代码,例如在 Android 或 iOS 设备上序列化用户的登录 ID。建议默认使用包装器。

wrapper

我该如何初始化 BrainCloud?

如果使用包装器,请使用以下代码。

_bc = new BrainCloudWrapper(); // optionally pass in a _wrapperName
_bc->initialize("https://api.braincloudservers.com/dispatcherv2", _appId, _secret, _appVersion, _companyName, _appName);

您的 _appId, _secret 已经在 BrainCloud 控制台中设置。在“设计 | 核心应用信息” > “应用程序 ID”下。

wrapper

_wrapperName 前缀将保存包装器将执行的操作。如果您计划运行多个 BrainCloud 实例,请使用 _wrapperName。


升级了吗?

如果您的应用已经开始运行,您不应该指定_wrapperName - 否则,库将在错误的位置查找您的用户的匿名ID和profileID信息。只有当您打算修改保存数据时才添加名称。


_companyName和_appName也用于确定文件名。例如:bitHeads.exampleApp,或者mainWrapper.bitHeads.exampleApp

_appVersion是应用程序的当前版本。_appVersion低于您在brainCloud上定义的最低版本将阻止用户访问服务,直到他们更新到您提供的最新版本。

wrapper

如何保持brainCloud SDK更新?

在您项目的更新循环中,您需要更新brainCloud客户端,以便它可以检查响应。

为此,您需要调用runCallbacks();

_bc->runCallbacks();

如何使用brainCloud对用户进行认证?

使用brainCloud Wrapper进行认证的最简单形式是匿名认证。

_bc->authenticateAnonymous(_callback);

此方法将创建一个帐户,并继续使用在本地保存的匿名ID。

Your _callback将继承自IServerCallback,并包含处理brainCloud服务器响应所需的函数。

要使用指定的匿名ID登录,请使用brainCloud客户端。

_bc->getBCClient()->getAuthenticationService()->setAnonymousId(_anonymousId); // re-use an Anon id
_bc->getBCClient()->getAuthenticationService()->setAnonymousId(_bc->getBCClient()->getAuthenticationService()->generateAnonymousId().c_str()); // or use brainCloud to generate one
_bc->getBCClient()->getAuthenticationService()->authenticateAnonymous(_forceCreate, _callback);

将_forceCreate设置为false将确保用户只能登录到现有帐户。将其设置为true将允许用户注册新帐户

如何将电子邮件附加到用户的brainCloud个人资料?

用户在brainCloud创建匿名账户后,可能会想要附上电子邮件或用户名,以便他们可以在另一个平台访问账户或当其本地数据被删除时。附加电子邮件验证将类似如下。

_bc->getBCClient()->getIdentityService()->attachEmailIdentity(_email, _password, _callback);

存在许多身份验证类型。您还可以合并配置文件和分离身份。有关更多信息,请参阅brainCloud文档:http://getbraincloud.com/apidocs/apiref/?java#capi-auth

构建和运行测试

请参阅Jenkinsfile了解平台构建和单元测试流程。另请参阅tests/README.md。

要本地运行单元测试,您可以使用autobuild脚本runtests.sh或runtest.bat。流程如下

  1. 以调试配置运行cmake,并将BUILD_TESTS设置为ON。
  2. 以调试配置运行cmake构建目标bctests。
  3. 创建/复制文件ids.txt到将运行测试的文件夹中。输入您的服务器URL、应用ID和密钥。
  4. 使用所需的测试过滤器执行。

归属

brainCloud C++ Windows库使用libwebsockets v3.0.1。Linux和Mac使用libwebsockets v4.3-stable。也依赖于MBedTLS v2.8。并重新分发公共领域库JsonCpp

Cocoapod 依赖项

brainCloud库附带SSKeychain,并需要SocketRocket和JsonCpp Cocoapods。

重要的子模块说明

这些内容作为子模块被包含,因此可以使用以下方法检索:

git submodule update --init --recursive

然而,由于已初始化的版本已知能稳定构建和运行,因此不应更新或拉取到其他版本。

JsonCpp最近已经被设置为子模块(自brainCloud 4.15版本起)所以如果拉取或更改分支,应该删除现有的文件夹lib/jsoncpp-1.0.0/,否则将出现git错误。