GooglePlay新版排行榜接入
新版本的GMS的api和老版本的有很大的差异,刚接了一下,在这里留一个记号,以便查阅:
判定是否已经登录
private static boolean isSignedIn(Cocos2dxActivity cocos2dxActivity) {
return GoogleSignIn.getLastSignedInAccount(cocos2dxActivity) != null;
}
登录GameCenter
public static void loginGameCenter(Cocos2dxActivity cocos2dxActivity) {
Log.d(TAG, "signInSilently()");
mGoogleSignInClient = GoogleSignIn.getClient(cocos2dxActivity,
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build());
if(!isSignedIn(cocos2dxActivity)){
startSignInIntent(cocos2dxActivity);
}
else {
//静默登录
mGoogleSignInClient.silentSignIn().addOnCompleteListener(cocos2dxActivity,
new OnCompleteListener<GoogleSignInAccount>() {
@Override
public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
if (task.isSuccessful()) {
Log.d(TAG, "signInSilently(): success");
} else {
Log.d(TAG, "signInSilently(): failure", task.getException());
}
}
});
}
}
登录按钮点击之后调用:
private static void startSignInIntent(Cocos2dxActivity cocos2dxActivity) {
GoogleSignInClient signInClient = GoogleSignIn.getClient(cocos2dxActivity,
GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
Intent intent = signInClient.getSignInIntent();
cocos2dxActivity.startActivityForResult(intent, RC_SIGN_IN);
}
提交分数到排行榜
public static void uploadScore(String leaderboard_id,long value,Cocos2dxActivity cocos2dxActivity){
if(!isSignedIn(cocos2dxActivity)){
return;
}
Games.getLeaderboardsClient(cocos2dxActivity, GoogleSignIn.getLastSignedInAccount(cocos2dxActivity))
.submitScore(leaderboard_id, value);
}
//显示排行榜
public static void showLeaderboard(String leaderboard_id, final Cocos2dxActivity cocos2dxActivity){
Games.getLeaderboardsClient(cocos2dxActivity, GoogleSignIn.getLastSignedInAccount(cocos2dxActivity))
.getLeaderboardIntent(leaderboard_id)
.addOnSuccessListener(new OnSuccessListener<Intent>() {
@Override
public void onSuccess(Intent intent) {
cocos2dxActivity.startActivityForResult(intent, );
}
});
}
参考
https://developers.google.cn/identity/sign-in/android/?hl=zh-cn
GooglePlay新版排行榜接入的更多相关文章
- GooglePlay - 排行榜及支付接入
前言 Google Play应用商店在国外Android市场中地位基本与AppStore在IOS中的地位一致,为此考虑国外的应用时,Android首要考虑的是接入GooglePlay的排行榜等支持. ...
- 想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜
本文由云+社区发表 前言 业务已基于Redis实现了一个高可用的排行榜服务,长期以来相安无事.有一天,产品说:我要一个按周排名的排行榜,以反映本周内用户的活跃情况.于是周榜(按周重置更新的榜单)诞生了 ...
- 商家 APP 如何接入新版支付宝支付,老版本商家如何升级
代码地址如下:http://www.demodashi.com/demo/14006.html 前言 支付宝移动支付2.0版本对比1.0版本做了较大更新,新申请的商家都需要采用最新2.0版本 SDK ...
- 【转载】编程语言排行榜2019年7月 TIOBE编程语言排行榜2019年最新版
TIOBE在前段时间公布了编程语言排行榜2019年7月的数据,编程语言7月的排名有了新的变化,Python继教占领第三名,Java还是稳居第一,C++本月又降了0.91%.下面一起来看看2019年7月 ...
- 需要接入的SDK包,一定要用最新版,否则后果很严重
ios8更新后,原来的静态库不支持.导致一个bug连续测试好多天都没结果.
- ios 接入微信开发 新版
首先在服务器所在域名(https://www.test.com)根目录创建apple-app-site-association文件 { "applinks": { "ap ...
- 2017年Android百大框架排行榜
框架:提供一定能力的小段程序 >随意转载,标注作者"金诚"即可 >本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发. >本文已经开源到Gith ...
- 2017年Android百大框架排行榜(转)
一.榜单介绍 排行榜包括四大类: 单一框架:仅提供路由.网络层.UI层.通信层或其他单一功能的框架 混合开发框架:提供开发hybrid app.h5与webview结合能力.web app能力的框架 ...
- 史上最全Redis面试题(2020最新版)
一个执着于技术的公众号 导读:2020 年最新版 Redis面试题,两万字干货,为方便读者阅读,已整理为PDF文档,后台回复『redis』即可领取.希望对大家有帮助! 概述 1. 什么是Redis? ...
随机推荐
- JSON.stringify() 的深入理解
目录 序言 语法 深入理解 序言 最近在看<你所不知道的javascript>[中卷]一书,第一部分是类型和语法.本文是基于这部分的产物.在强制类型转换->抽象值操作-> to ...
- Linux命令学习-mv命令
Linux中,mv命令的全称是move,主要作用是移动文件或文件夹,类似于Windows下的剪切功能,同时还可以用于修改名字. 假设当前处于wintest用户的主目录,路径为 /home/wintes ...
- Elasticsearch实战总结
上手elasticsearch有段时间了,主要以应用为主,未做深入的研究,下面就简单的日常作个简单的总结,做个记录. 版本问题 es版本繁杂,让首次使用的人无从下手.常见的有2+.5+版本,最新版已达 ...
- 提升布局性能____Re-using Layouts with <include/>
可以再一个布局中通过"include"和"merge"元素进行复用其他的布局元素. 比如如下一个布局: <FrameLayout xmlns:androi ...
- 20140115-SqlHelper为什么是静态的
为什么SqlHelper(或工具类)是静态的? 静态构造函数仅调用一次(即只是在程序生命周期中实例一次),在程序驻留的应用程序域的生存期内,静态类一直保留在内存中 这样可以减少每次使用的实例过程,就是 ...
- 小代学Spring Boot之集成MyBatis
想要获取更多文章可以访问我的博客 - 代码无止境. 上一篇小代同学在Spring Boot项目中配置了数据源,但是通常来讲我们访问数据库都会通过一个ORM框架,很少会直接使用JDBC来执行数据库操作的 ...
- 洛谷P2790 ccj与zrz之积木问题 题解
题目链接:https://www.luogu.org/problemnew/show/P2790 这题码量稍有点大... 分析: 这道题模拟即可.因为考虑到所有的操作vector可最快捷的实现,所以数 ...
- 模拟ssh远程执行命令,粘包问题,基于socketserver实现并发的socket
06.27自我总结 1.模拟ssh远程执行命令 利用套接字编来进行远程执行命令 服务端 from socket import * import subprocess server = socket(A ...
- java:选择排序法对数组排序
最近想练一练Java的算法,然后碰到LeetCode上一道从排序数组删除重复项的小题,刚开始没看到是从排序数组中,就乱写,其实要是排序树组,就比乱序的感觉上好写多了.然后就想回顾下冒泡法对数组排序,凭 ...
- Spring+SpringMVC+mybatis maven pom文件
pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...