时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Google Developers网络
小提示:您能找到这篇{面向 C++ 的 Play 游戏服务使用入门}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的面向 C++ 的 Play 游戏服务使用入门内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
注意:要下载最新版Google Play游戏服务C++SDK,请参阅SDK下载页面。 Google Play游戏服务C++SDK提供了可与Google Play游戏服务配合使用的C++API,专为已有C++游戏实现的开发者而设计。 该SDK目前实现了以下服务: 授权 成就 排行榜 回合制多人游戏 实时多人游戏 活动和任务 游戏存档 附近连接(仅限Android) 玩家统计信息 < ">< font-size: 16px;">概念 大体上讲,您需要执行以下步骤来使用SDK: 1.为Android设置平台配置。 2.使用GameServices::Builder配置和构建一个GameServices对象。GameServices对象会自动尝试登录,并通过OnAuthActionFinished()回调返回结果。记下回调所返回的结果。如果自动登录尝试失败,您可以显示一个按钮供用户手动登录。 3.收到OnAuthActionFinished()结果后,您可以使用GameServices对象及其子对象管理器来进行Play游戏服务调用,包括: 登录(授权失败后):StartAuthorizationUI() 解锁成就:Achievements().Unlock() 使用内置界面显示成就:Achievements().ShowAllUI() 提交最高得分:Leaderboards().SubmitScore() 退出:SignOut() 4.当您使用完GameServices对象时,请将其重置或销毁。 详细来说,您需要执行以下步骤: 1.初始化平台配置:这是一个包含平台特定初始化信息的对象。在Android上,平台配置包含Java虚拟机和指向当前Activity的指针怎么在58发布信息: //In android_main(),create a platform configuration //and bind the object activity. //Alternately,attach the activity in JNI_Onload(). gpg::AndroidPlatformConfiguration platform_configuration; platform_configuration.SetActivity(state->activity->clazz); 2.构建一个GameServices对象:该对象是Google Play游戏服务功能的主要入口点。使用GameServices::Builder创建GameServices实例。 在大多数实现中,只要您的C环境持续存在,给定GameServices对象就会持续存在;在Android Activity暂停和恢复时,您无需重新初始化该对象。 //Creates a GameServices object that has lambda callbacks. game_services_=gpg::GameServices::Builder() .SetDefaultOnLog(gpg::LogLevel::VERBOSE) .SetOnAuthActionStarted([started_callback](gpg::AuthOperation op){ is_auth_危机公关处理成功案例in_progress_=true; started_callback(op); }) .SetOnAuthActionFinished([finished_callback](gpg::AuthOperation op, gpg::AuthStatus status){ LOGI("Sign in finished with a result of%d",status); is_auth_in_progress_=false; finished_callback(op,status); }) .Create(pc); 3.使用管理器类来管理GameServices对象。管理器可通过GameServices实例访问,用于将相关功能集合在一起,例如成就管理器和排行榜管理器。它们本身不含用户可见状态。管理器由引用返回,所含的GameServices实例可控制其生命周期。您的客户端绝不应保留管理器引用,而应保留GameServices实例。 管理器通过常量值类型的对象返回数据。这些值可一致地反映执行查询所对应时刻的基础数据情况。 //Submit a high score game_services_->Leaderboards().SubmitScore(leaderboard_id,score); //Show the default Achievements UI game_services_->Achievements().ShowAllUI(); 4.当您使用完GameServices对象后,通过以下方式进行清理:在拥有该对象的unique_ptr上调用reset(),或者在超出使用期限后让unique_ptr自动销毁它。 < ">< font-size: 16px;">线程模型 除非另有说明,否则所有GameServices和管理器方法都拥有线程安全异步实现。它们可在任何线程上调用,无需外部锁定,并且执行顺序与其调用顺序一致。 访问器方法(读取状态的方法)具有两种主要变体。第一种方法(名称类似FetchProperty())以异步方式将其结果提供给所提供的回调;第二种方法(名称类似FetchPropertyBlocking())以同步方式将其结果返回给调用线程。 //Blocking callback gpg::AchievementManager::FetchAllResponse fetchResponse= game_services_->Achievements().FetchAllBlocking(std::chrono::milliseconds(1000)); //Non-blocking callback game_services_->Achievements().FetchAll(gpg::DataSource::CACHE_OR_NETWORK, [](gpg::AchievementManager::FetchAllResponse response){ LogI("Achievement response sta精准营销让效益tus:%d",response.status);}); 所有用户回调均在一个专用回调线程上调用。该线程可能不同于“主线程”或“界面线程”的任何平台概念。您还应尽力确保用户回调能快速执行;回调线程停止可能会引起用户可见问题(例如,注销请求延迟完成)。 < ">< font-size: 16px;">平台特定信息 要开始在Android上使用Play游戏C++SDK,请继续阅读快速入门指南。 < ">< font-size: 16px;">深入阅读 务必阅读Google Play游戏服务C++SDK自带的类文档以了解更多详情,并查看演示SDK使用方法的示例。 |
上一篇:Google Play 游戏服务的质量核对清单
下一篇:App Store和Google Play的排名因素有哪些?
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“面向 C++ 的 Play 游戏服务使用入门”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通面向 C++ 的 Play 游戏服务使用入门的相关事宜。
关键词:面向,C++,的,Play,游戏服务使