当前位置: 首页 > news >正文

google PGS 下一代id

前言:为了进一步增强用户的隐私及其多平台游戏体验,Play 游戏服务(PGS) 正在推出下一代玩家 ID,用户第一次玩游戏时,他们将始终被分配一个唯一的下一代玩家 ID,无论用户在什么设备或平台上玩游戏,该 ID 都将保持一致,但会因游戏而异。游戏启动时会自动触发登录,帐号管理处理也将包含在操作系统设置中(手机谷歌商店),因此客户端代码不再需要处理登录或退出流程

前提条件:确保 app 下的 build.gradlew 文件使用以下值👇🏻

  • minSdkVersion 为 19 或更高版本
  • compileSdkVersion 为 28 或更高版本

步骤如下👇🏻

一、项目的 root 目录下的 build.gradle 文件中,在 buildscript 和 allprojects 两个部分中添加 Google 的 maven 代码库和 maven 的中央代码库:

 buildscript {repositories {google()mavenCentral()}}allprojects {repositories {google()mavenCentral()}}

二、将 Play 游戏 SDK 的 Google Play 服务依赖项添加到模块的 Gradle build 文件

(通常为 app/build.gradle)中:

  dependencies {implementation "com.google.android.gms:play-services-games-v2:+"}

三、在应用的 AndroidManifest.xml 文件中,将以下 <meta-data> 元素和属性添加到 <application> 元素,在 Google Play 管理中心的“配置”页面中的游戏名称下找到游戏服务项目 ID。

<manifest><application><meta-data android:name="com.google.android.gms.games.APP_ID"android:value="@string/game_services_project_id"/></application>
</manifest>

四、在 res/values/strings.xml 文件中,添加字符串资源引用,并将项目 ID 设置为值。在 Google Play 管理中心内,您可以在配置页面中的游戏名称下找到项目 ID。例如:

<!-- res/values/strings.xml -->
<resources><!-- Replace 0000000000 with your game’s project id. Example value shown above.  --><string translatable="false"  name="game_services_project_id"> 0000000000 </string>
</resources>

五、在 Application 的 onCreate(..) 回调中初始化 Play 游戏 SDK。 

import com.google.android.gms.games.PlayGamesSdk;...@Override
public void onCreate(){super.onCreate();PlayGamesSdk.initialize(this);
}

完成这一步:您连一行代码都不必编写,当您的游戏打开时,系统会自动建立与 Play 游戏服务的连接。会自动触发登录,系统会向玩家显示一个弹出式窗口表示欢迎,这时您的游戏就可以开始使用 Play 游戏服务 API 了.

注意:如果玩家从未在此设备上使用过 Google Play 游戏,系统会自动引导他们完成一次性设置操作,如使用 Play 游戏应用创建玩家资料

五、游戏启动时,系统会自动触发登录。使用 GamesSignInClient.isAuthenticated() 获取自动登录的结果。

GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient((Activity) mContext);gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {//自动登录结果boolean isAuthenticated =(isAuthenticatedTask.isSuccessful() &&isAuthenticatedTask.getResult().isAuthenticated());Log.d(LOG_TAG, "Play Games Services issuccess === " + isAuthenticatedTask.isSuccessful());Log.d(LOG_TAG, "Play Games Services isAuthenticated === "+ isAuthenticatedTask.getResult().isAuthenticated());if (isAuthenticated) {// Continue with Play Games ServicesLog.d(LOG_TAG, "Play Games Services login 成功");//登录成功后获取 pgs 下一代玩家 idPlayGames.getPlayersClient((Activity) mContext).getCurrentPlayer().addOnCompleteListener(mTask -> {mPlayId = mTask.getResult().getPlayerId();mDisplayName = mTask.getResult().getDisplayName();Log.d(LOG_TAG, "g_playid---> " + mPlayId);Log.d(LOG_TAG, "g_playname---> " + mDisplayName);});} else {// Disable your integration with Play Games Services or show a// login button to ask  players to sign-in. Clicking it should// call GamesSignInClient.signIn().Log.d(LOG_TAG, " ~ Play Games Services login fail ~ ");GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient((Activity) mContext);Log.d(LOG_TAG, "~ call signIn ~");Task<AuthenticationResult> authenticationResultTask = gamesSignInClient.signIn();boolean isAuth = (authenticationResultTask.isSuccessful() &&authenticationResultTask.getResult().isAuthenticated());if (isAuth) {Log.d(LOG_TAG, "pgs login success"); } else {Log.d(LOG_TAG, "pgs login fail");}}});

完成集成

注:在集成时遇到问题,可以发送邮件至官网 pgs-games-sdk@google.com 。

测试过程中没有显示 pgs 登录,①看下手机的google 商店账号是否是测试账号②是否取消或者拒绝过pgs登录,如果拒绝过需要手动调用登录(gamesSignInClient.signIn)才可拉起自动登录

集成后效果---->​​​​​​​

 

相关文章:

google PGS 下一代id

前言&#xff1a;为了进一步增强用户的隐私及其多平台游戏体验&#xff0c;Play 游戏服务(PGS) 正在推出下一代玩家 ID&#xff0c;用户第一次玩游戏时&#xff0c;他们将始终被分配一个唯一的下一代玩家 ID&#xff0c;无论用户在什么设备或平台上玩游戏&#xff0c;该 ID 都将…...

【elasticsearch】关于elasticsearch的max_result_window限制问题的解决方式思考

事情起因&#xff1a;我们使用es作为日志搜索引擎&#xff0c;客户收集到的业务日志非常之大&#xff0c;每次查询后&#xff0c;返回页数较多&#xff0c;由于我们web界面限制每页返回150条&#xff0c;当客户翻到66页之后就会报错。 文章目录 前言 二、实验 1.默认生成20条数…...

音频光耦合器

音频光耦合器是一种能够将电信号转换为光信号并进行传输的设备。它通常由发光二极管&#xff08;LED&#xff09;和光敏电阻&#xff08;光电二极管或光敏电阻器&#xff09;组成。 在音频光耦合器中&#xff0c;音频信号经过放大和调节后&#xff0c;被转换为电流信号&#xf…...

【C++精华铺】3.C++入门 引用(const)、内联函数

目录 1. 引用 1.1 引用特性 1.2 常引用 1.2.1 权限放大 1.2.2 权限缩小 1.3 使用场景 1.3.1 传参 1.3.2 做返回值 1.4 传值和传引用的效率比较 1.5 引用和指针的区别 2. 内联函数 2.1 inline 2.2 特性 1. 引用 在C中&#xff0c;引入了一个新的概念引用&#xff0c;与…...

生态系统服务(InVEST模型)供给与需求、价值核算技术及人类活动、重大工程项目、自然保护区、碳中和等领域中实际案例分析

对接工作实际项目及论文写作&#xff0c;解决参会者关注的重点及实际项目过程问题&#xff0c;采取逐步延伸的逻辑&#xff0c;不论您是小白亦或是已经能够成功运行InVEST模型生成结果&#xff0c;您可以自由选择课程内容&#xff0c;如果您是小白老师手把手教您&#xff0c;如…...

TiDB Serverless 正式商用,全托管的云服务带来数据管理和应用程序开发的全新体验

八 年 前 &#xff0c;我们构建了 TiDB&#xff0c;一个开源分布式关系型数据库。 我们的目标是重新定义开发者和企业处理数据的方式&#xff0c;满足不断增长的可扩展性、灵活性和性能需求。 从那时起&#xff0c;PingCAP 便致力于为开发者和企业提供快速、灵活和规模化的数据…...

PXE-kickstart无人值守安装操作系统

PXE的概念&#xff1a; PXE&#xff08;Pre-boot Execution Environment&#xff0c;预启动执行环境&#xff09;是由Intel公司开发的最新技术&#xff0c;工作于C/S的网络模式&#xff0c;支持工作站通过网络从远端服务器下载映像&#xff0c;并由此支持通过网络启动操作系统…...

使用Flask.Request的方法和属性,获取get和post请求参数(二)

1、Flask中的request 在Python发送Post、Get等请求时&#xff0c;我们使用到requests库。Flask中有一个request库&#xff0c;有其特有的一些方法和属性&#xff0c;注意跟requests不是同一个。 2、Post请求&#xff1a;request.get_data() 用于服务端获取客户端请求数据。注…...

解决 idea maven依赖引入失效,无法正常导入依赖问题

解决 idea maven依赖引入失效&#xff0c;无法正常导入依赖问题_idea无法导入本地maven依赖_普通网友的博客-CSDN博客 解决 idea maven依赖引入失效&#xff0c;无法正常导入依赖问题 idea是真的好用&#xff0c;不过里面的maven依赖问题有时候还真挺让人头疼&#xff0c;不少小…...

Python之集合(set)基础知识点

文章目录 1. 创建集合2. 获取集合的元素个数3. 向集合中添加元素4. 从集合中移除元素5. 判断元素是否在集合中6. 遍历集合7. 常用的集合操作7.1 并集7.2 交集7.3 差集 在Python中&#xff0c;集合&#xff08;Set&#xff09;是一种无序且不重复的数据结构。它是由一组用花括号…...

flutter 没有open android module in Android studio 插件代码爆红

参考 1.结论 其实就是缺少这个文件 2.解决方案有两个 2.1 方案一 手动创建一个,命名规则是项目名字‘_android’‘.iml’ 内容如下: <?xml version"1.0" encoding"UTF-8"?> <module type"JAVA_MODULE" version"4">&l…...

计算机网络实验2:网络嗅探

文章目录 1. 主要教学内容2. Wireshark介绍3. Wireshark下载4. 使用Wireshark捕获包4.1 选择网卡4.2 停止抓包4.3 保存数据 5. Wireshark的过滤规则6. Wireshark实例 1. 主要教学内容 实验内容&#xff1a;安装、学习使用网络包分析工具Wireshark。所需学时&#xff1a;1。重难…...

智慧防灾:数字孪生技术的应用

最近的“杜苏芮”“卡努”有没有对大家产生影响呢&#xff1f; 频繁发生的台风和其他自然灾害引起了人们对于灾害预防和应对的高度关注。在这种背景下&#xff0c;数字孪生作为一项前沿技术&#xff0c;为灾害预防领域提供了全新的解决方案。本文就带大家了解一下数字孪生技术…...

Google 扫码器(仅限 Android)

Google 扫码器&#xff08;仅限 Android&#xff09; Google Code Scanner API 提供了全面的扫描解决方案&#xff0c;无需您的应用请求相机权限&#xff0c;同时保护用户隐私。这是通过将扫描代码委托给 Google Play 服务并仅将扫描结果返回给您的应用来完成的&#xff08;视…...

pandoc word转markdown之后正则修改

问题 用pandoc工具将doc文件转换为markdown文件后&#xff0c;有关图片的处理会变成&#xff1a; (./url路径){width“3.46875in” height“1.0729166666666667in”} 但是我要展示到前端的&#xff0c;前端组件用的v-md-preview&#xff0c;结果展示的时候&#xff0c;后面的宽…...

使用Python和wxPython将图片转换为草图

导语: 将照片转换为艺术风格的草图是一种有趣的方式&#xff0c;可以为您的图像添加独特的效果。在本文中&#xff0c;我们将介绍如何使用Python编程语言和wxPython图形用户界面库来实现这一目标。我们将探讨如何使用OpenCV库将图像转换为草图&#xff0c;并使用wxPython创建一…...

深入浅出对话系统——闲聊对话系统进阶

引言 本文主要关注生成式闲聊对话系统的进阶技术。 基于Transformer的对话生成模型 本节主要介绍GPT系列文章&#xff0c;这是由OpenAI团队推出的&#xff0c;现在大火的ChatGPT也是它们推出的。 GPT : Improving Language Understanding by Generative Pre-Traini ng 在自…...

List与Set的区别

List与Set的区别 大家好&#xff0c;在我们平时的代码编写过程中&#xff0c;经常会碰到需要使用到集合类型: List与Set。很多时候&#xff0c;我们可能会将它们视为同一种类型进行使用&#xff0c;但是在实际的编程逻辑中&#xff0c;它们之间是存在很大差别的。接下来我们就…...

MyBatis 实战指南:探索灵活持久化的艺术

文章目录 前言一、初识 MyBatis1.1 什么是 MyBatis1.2 为什么学习 MyBatis 二、MyBatis 在软件开发框架中的定位三、基于 Spring Boot 创建 MyBatis 项目3.1 添加 MyBatis 框架的支持3.2 配置数据库连接信息和映射文件的保存路径&#xff08;Mapper XML&#xff09; 四、MyBati…...

高中教师能去美国做访问学者吗?

美国作为世界上高等教育水平较高的国家之一&#xff0c;吸引了众多学者前往交流学习。那么高中教师是否能够成为美国访问学者&#xff0c;这是当然的&#xff0c;高中老师是可以出国访学的&#xff0c;但是出国做访问学者会涉及到多方面的因素。 首先&#xff0c;教师个人的学术…...

93 | Python 设计模式 —— 建造者模式

文章目录 什么是建造者模式?建造者模式的四个角色Python建造者模式示例建造者模式的优点建造者模式的适用场景案例1:股票价格监控案例2:天气预报系统总结当构建复杂对象时,经常会遇到对象的创建过程非常复杂、包含多个步骤、或者有不同的配置选项。这时,使用建造者模式是一…...

nacos升级开启鉴权后,微服务无法连接的解决方案

版本&#xff1a; 软件版本号备注spring boot2.2.5.RELEASEspring-cloudHoxton.SR3spring-cloud-alibaba2.2.1.RELEASEnacos2.0.1从1.4.2版本进行升级。同时作为注册中心和配置中心 一、升级nacos版本&#xff0c;开启鉴权 1.在application.properties配置文件开启鉴权&…...

elementui弹窗页按钮重复提交问题解决

一、BUG场景 ruoyi平台&#xff0c;页面弹出窗有提交按钮&#xff0c;在提交时连续多次点击会发生重复提交。 二、错误方案 给按钮增加 :loading"submitLoading" 属性。 <el-dialog :title"title" :v-if"open" :visible.sync"open&…...

HBase-读流程

创建连接同写流程。 &#xff08;1&#xff09;读取本地缓存中的Meta表信息&#xff1b;&#xff08;第一次启动客户端为空&#xff09; &#xff08;2&#xff09;向ZK发起读取Meta表所在位置的请求&#xff1b; &#xff08;3&#xff09;ZK正常返回Meta表所在位置&#x…...

Matlab绘图 图例legend 太长,怎么减小指示线的长度

来源 绘图时&#xff0c;稍微减小文字已经不能正常放下图例&#xff0c;想通过调整图例指示线段长度缩减整个图例长度。 方法一 参考matlab官方论坛 leg legend(Plot1,Plot2,...); leg.ItemTokenSize [x1,x2]; By default x130 and x218 so put larger or smaller number…...

力扣17(电话号码中的字符组合)

题目表述 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例1 输入&#xff1a;digits "23" 输出&#xff1…...

vue+element 下载压缩包和导出

export function goodsInspectionReportDwnloadZip (params) {return axios({url: "/warehouse-entry-server/v1/goodsInspectionReport/downloadZip",method: "get",params,responseType: "blob"}) } //下载handleDownloadFile() {if (!this.$r…...

构建Docker容器监控系统 (1)(Cadvisor +InfluxDB+Grafana)

目录 Cadvisor InfluxDBGrafana 1. Cadvisor 2.InfluxDB 3.Grafana 开始部署&#xff1a; 下载组件镜像 创建自定义网络 创建influxdb容器 创建数据库和数据库用户 创建Cadvisor 容器 准备测试镜像 创建granafa容器 访问granfana 添加数据源 Add data source 新建 …...

hive编译报错整理

背景 最近在修hive-1.2.0的一个bug&#xff0c;需要修改后重新打包部署到集群&#xff0c;打包的时候报下面的错误&#xff0c;原因很简单&#xff0c;从远程仓库里面已经拉不到这个包了。 org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde was not found in http…...

centos磁盘爆满可以清理mysql-bin.000011吗

mysql-bin.000011 是 MySQL 的二进制日志文件&#xff0c;用于记录数据库中的更改操作。删除该文件可能会导致数据库恢复、备份和复制等功能的中断或数据丢失。因此&#xff0c;在删除任何 MySQL 的二进制日志文件之前&#xff0c;请确保您了解其潜在影响并采取适当的备份措施。…...

深圳网站建设网站制作网站推广/湖南关键词优化首选

在启动IOC容器的时候&#xff0c;容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器&#xff0c;当容器扫描到Autowied、Resource或Inject时&#xff0c;就会在IOC容器中自动查找需要的Bean&#xff0c;并装配给该对象的属性。在使用Autowired时&#xff0c;首…...

做网站需要数据库么/企业软文营销

粉末冶金是冶金学的一个分支。其领域包括&#xff1a;①制取金属粉末&#xff1b;②金属粉末或金属粉末和非金属粉末的混合物&#xff0c;经成形和烧结&#xff0c;制成各种金属和金属-非金属的材料和制品。粉末冶金是制取金属粉末或用金属粉末(或金属粉末与非金属粉末的混合物…...

管理培训课程/搜索关键词排名优化技术

setTimeout(methodName, interval); //间隔时间单位为毫秒&#xff0c;表示interval毫秒后执行方法methodName setInterval(methodName, interval); //间隔时间单位为毫秒&#xff0c;表示每隔interval毫秒执行后都会执行一次方法methodName 执行的方法可以带参数&#xff0c;但…...

网站建设如何存数据/营销策划与运营团队

Ext.window.MessageBox.confirmconfirm( String title, String msg, [Function fn], [Object scope]function指定选择弹出框选择的是确定还是取消function(op){//如果点击的是确定if(op "yes"){}else{}}prompt( String title, String msg, [Function fn], [Object s…...

淄博网站公司/网络营销渠道可分为哪些

猜字游戏是一款益智游戏&#xff0c;喜欢玩具有挑战性单词游戏的你就可以来体验一下了&#xff0c;给你一个字母板。尝试通过想象相邻字母的单词。您将获得一个分数&#xff0c;根据您使用的字母&#xff0c;你已经使用了多少个字母&#xff0c;并以这些字母相关联的任何修饰符…...

购物网站网页设计图片/推广拉新任务的平台

安装MySQL数据库时设置密码对数据库的安全性非常有必要。因此&#xff0c;处于安全方面的考虑&#xff0c;我们必须为每一用户赋于对不同数据库的访问限制&#xff0c;以满足不同用户的要求&#xff0c;也是对MySQL服务器的安全要求。一、MySQL修改密码方法总结首先要说明一点的…...