谷歌排行榜接入————最白话,手把手教你做系列。
2018-02-01 16:07
399 查看
谷歌排行榜看了很多教程,大部分人只提了重点的:初始化,提交分数,显示排行榜的几个方法,很少有完整的可以直接导入项目直接使用的。而且只能够做个本地排序上传一个最高分。对于我这样的小白当然是选择&()&…&*%&%¥%¥%¥…&
这里就给个Unity里接入谷歌排行的详细步骤。
接入谷歌排行榜。
仍然分为两个部分。
一,环境配置部分。
1,GooglePlayServices接入下载地址
2,导入下载的.Unitypage插件进Unity。
导入插件后出现以下文件,不同版本会有细微差别。比如
0.9.50版本插件
和0.9.42插件
3,配置谷歌服务。
谷歌游戏服务不支持ios,0.9.50完全移除ios配置。
在unity中Windows下面这个位置。
0.9.50版本
0.9.42版本
如果你的配置出现的不可点击的问题。以下情况:
则需要把你的buildsetting里面的环境切换成android。
点
bcff
击Android setup 出现以下页面。
把你得googleplay上配置的排行文件 和web app client id填入对应位置。
配置文件申请不再赘述,需要注册谷歌开发者账号25$,教程地址
然后点击Setup。
得到以下提示就Ok了。
以上第一步结束,环境配置完成。
二,代码部分。
代码成就ID填写自己的排行榜ID即可, 提交分数可选择自己对应的reportScore方法提交分数。显示排行榜只用调用showLeaderboard方法即可。
排行榜是谷歌提供的页面,不用自己做对应的UI,成就的图标也可以在Google后台做控制。
以上。
这里就给个Unity里接入谷歌排行的详细步骤。
接入谷歌排行榜。
仍然分为两个部分。
一,环境配置部分。
1,GooglePlayServices接入下载地址
2,导入下载的.Unitypage插件进Unity。
导入插件后出现以下文件,不同版本会有细微差别。比如
0.9.50版本插件
和0.9.42插件
3,配置谷歌服务。
谷歌游戏服务不支持ios,0.9.50完全移除ios配置。
在unity中Windows下面这个位置。
0.9.50版本
0.9.42版本
如果你的配置出现的不可点击的问题。以下情况:
则需要把你的buildsetting里面的环境切换成android。
点
bcff
击Android setup 出现以下页面。
把你得googleplay上配置的排行文件 和web app client id填入对应位置。
配置文件申请不再赘述,需要注册谷歌开发者账号25$,教程地址
然后点击Setup。
得到以下提示就Ok了。
以上第一步结束,环境配置完成。
二,代码部分。
public class Leaderboard : MonoBehaviour { public static Leaderboard instance; //相关应排行榜id,可根据自己需求定义。 public string endless_bestkill="CgkIjerK29sZEAIQAQ"; public string endless_hilevel="CgkIjerK29sZEAIQBQ"; public string warfog_bestkill="CgkIjerK29sZEAIQAg"; public string warfog_hilevel="CgkIjerK29sZEAIQBg"; public string warfog_survival="CgkIjerK29sZEAIQBA"; public string hiarea_bestkill="CgkIjerK29sZEAIQAw"; public string hiarea_hilevel="CgkIjerK29sZEAIQBw"; protected bool isLogged; void Awake() { if (instance != null) { Destroy(gameObject); return; } DontDestroyOnLoad(gameObject); instance = this; PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder() // requests an ID token be generated. This OAuth token can be used to // identify the player to other services such as Firebase. .RequestIdToken() .Build(); PlayGamesPlatform.InitializeInstance(config); // 查看Google服务输出信息 recommended for debugging: PlayGamesPlatform.DebugLogEnabled = true; // Activate the Google Play Games platform //激活谷歌服务 PlayGamesPlatform.Activate(); //判断用户是否登录 SignIn(); Debug.LogError("google play servers sign in"); } // Use this for initialization void Start() { } // Update is called once per frame void Update() { } void SignIn() { // 认证用户,判定用户是否登录: Social.localUser.Authenticate((bool success) => { if (success) { isLogged = true; } else { isLogged = false; } }); } //取本地的HighScore与对应排行榜线上的分数作比较时,使用此方法,googlePlayLeaderboardID为排行榜ID public void reportScore(long HighScore,string googlePlayLeaderboardID) { if (!isLogged) { Debug.LogError ("isLogged or not"); return; } PlayGamesPlatform.Instance.LoadScores( googlePlayLeaderboardID, LeaderboardStart.PlayerCentered, 1, LeaderboardCollection.Public, LeaderboardTimeSpan.AllTime, (data) => { if (data.Valid) { int score = (int) data.PlayerScore.value; Debug.LogError("score from inside leaderboard: " + data.PlayerScore.value); Debug.LogError("formated score from inside leaderboard: " + data.PlayerScore.formattedValue); if (score<HighScore) { Social.ReportScore(HighScore, googlePlayLeaderboardID, (bool success) => { }); } } else { Debug.LogError("data invalid in leaderboard"); } }); } //在本地已经做了排序处理,只提交自己需要提交的相关分数时 使用此方法,leaderboardIdToUse为对应排行榜ID public void reportScore(long score) { try { Social.ReportScore(score, leaderboardIdToUse, (bool success) => { }); } catch { } } //显示排行榜 public void showLeaderboard() { //显示对应ID排行榜 //PlayGamesPlatform.Instance.ShowLeaderboardUI(googlePlayLeaderboardID); //显示所有排行榜 Social.ShowLeaderboardUI(); } //解锁一个成就 对应地方引用该方法即可解锁该成就 public static void UnlockAnAchievement(string _achievementID) { Social.ReportProgress(_achievementID, 100.0f, (bool success) => { }); } //显示成就页面 public static void ShowAchievementUI() { Social.ShowAchievementsUI(); } }
代码成就ID填写自己的排行榜ID即可, 提交分数可选择自己对应的reportScore方法提交分数。显示排行榜只用调用showLeaderboard方法即可。
排行榜是谷歌提供的页面,不用自己做对应的UI,成就的图标也可以在Google后台做控制。
以上。
相关文章推荐
- 谷歌AdMob广告接入——最白话,手把手教你做系列。
- 谷歌AdMob广告接入2——最白话,手把手教你做系列。
- Vungle激励广告接入——最白话,手把手教你做系列。
- Unity IAP 谷歌支付,ios支付——最白话,手把手教你做系列。
- Mobvista广告接入——最白话,手把手教你做系列。
- FaceBook原生广告接入——最白话,手把手教你做系列。
- Mac下如何把项目提交、更新到GitHub上——最白话,手把手教你做系列。
- Unity内IAP支付二次验证/服务器验证————最白话,手把手教你做系列。
- 【百度谷歌原创排行榜-原创系列-置顶推荐】【绝对原创】BACnet IP开发经验分享系列-003 状态机篇(组图)
- Android应用系列:手把手教你做一个小米通讯录(附图附源码)
- 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之中的一个 冒泡排序的三种实现
- 【Android小游戏】安卓小游戏开发(手把手教学系列三)
- 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三 .
- 白话经典算法系列之五 归并排序的实现
- 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
- 白话经典算法系列之五 归并排序的实现
- 白话经典算法系列之十二 数组中只出现1次的两个数字(百度面试题)
- 白话讲排序系列(一) 直接插入排序