参考:

Google Play Games plugin for Unity:

https://github.com/playgameservices/play-games-plugin-for-unity#paste-the-game-resources-into-the-plugin-setup-dialog

Setting Up Google Play Games Services:

https://developers.google.com/games/services/console/enabling

准备
确保你的Android SDK中包含以下内容:
• Google Play Services
• Android Support Library
• Local Maven repository for Support Libraries (Also known as Android Support Repository)
• Google Repository
• Android 6.0 (API 23) (this does not affect the min SDK version).

使用Android SDK Manager 来确认你的SDK内容

如果下载过慢,可以尝试使用以下站点:

导入SDK
1.将GooglePlayGamesPlugin-0.9.42.unitypackage文件导入到你的项目中
导入项目后请务必至少修改一次包名(Package Name),确保你已看到此界面:

*如果已经是正式包名,则添加任意字符,Resolving 结束后再改回正式包名,
  正式包名必须与你在后台填写的包名一致。

*如果Resolving结束后弹出以下提示,请选择NO

*确保Resolving结束后Plugins > Android目录下存在此文件 gpgs-plugin-support-0.9.42

2.导入后菜单栏将出现SDK选项,选择Window > Google Play Games > Setup > Android Setup
面板中

directory to save constants以及Constants class name使用默认值即可
Resources Definition 在后台中:

你还需要从后台生成Client ID 并填入。

使用

这里我们只使用到了排行榜功能:

1.AndroidManifest文件中需加入以下代码

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

2.实现登录以及排行榜的方法,包括登录、注销、上传分数以及显示排行榜:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;using GooglePlayGames;
using UnityEngine.SocialPlatforms;/// <summary>
/// Google play manager.
/// create by liufeng on 18-01-11
/// </summary>
public static class GooglePlayManager {public delegate void GPDelegate(bool success,string uname);static GPDelegate authenticatingCallback = null;/// <summary>/// 初始化SDK/// </summary>public static void Init () {PlayGamesPlatform.Activate();}/// <summary>/// 是否登录/// </summary>/// <returns>The authenticated.</returns>public static bool Authenticated(){return Social.localUser.authenticated;}/// <summary>/// 登录/// </summary>/// <returns>The authenticating.</returns>/// <param name="cb">回调</param>public static void Authenticating(GPDelegate cb = null){authenticatingCallback = cb;Social.localUser.Authenticate((bool success) =>{if (success){Debug.Log("Authentication success : " + Social.localUser.userName);}else{Debug.Log("Authentication failed");}if (cb != null) cb(success, Social.localUser.userName);});}/// <summary>/// 注销/// </summary>public static void SignOut(){((PlayGamesPlatform)Social.Active).SignOut();}/// <summary>/// 上传分数/// </summary>/// <param name="scores">分数.</param>/// <param name="lbid">排行榜id.</param>public static void PostScore(int scores,string lbid){if(!Authenticated()){Debug.Log("没有登录");return;}Social.ReportScore(scores,lbid,  (bool success) => {// handle success or failureDebug.Log("post score : " + success);});}/// <summary>/// 显示排行榜/// </summary>/// <param name="lbid">排行榜id,传空字符串则显示全部排行榜</param>public static void ShowLeaderboard(string lbid = ""){if (!Authenticated()){Debug.Log("没有登录");return;}if(lbid == ""){Social.ShowLeaderboardUI(); }else{PlayGamesPlatform.Instance.ShowLeaderboardUI(lbid);}}
}

测试

GooglePlayTest为测试方法,将此类放到任意场景中,可快速测试SDK的各项功能是否正确

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class GooglePlayTest : MonoBehaviour {const int height = 70;const int width = 200;// Use this for initializationvoid Start () {GooglePlayManager.Init();}int high;void OnGUI(){high = 10;if (CreateBtn("登录")){GooglePlayManager.Authenticating(AuthenticatingCallBack);}if (CreateBtn("注销")){GooglePlayManager.SignOut();}if (CreateBtn("上传分数")){GooglePlayManager.PostScore(123,"CgkImoOim_EUEAIQAQ");}if (CreateBtn("显示排行榜")){GooglePlayManager.ShowLeaderboard("CgkImoOim_EUEAIQAQ");}}public bool CreateBtn(string btnname){bool b = GUI.Button(new Rect(Screen.width / 2 - width / 2, high, width, height), btnname);high += height + 5;return b;}public void AuthenticatingCallBack(bool success, string uname){if(success){NGUIDebug.Log("Authenticating success : " + uname);Debug.Log("Authenticating success : " + uname);}else{NGUIDebug.Log("Authenticating failed  " );Debug.Log("Authenticating failed  " );}}}

最后我们需要一台可以连接google网站的手机,并确认已安装google play服务。

这里可以在应用商店中搜索"google框架安装器",大部分商店中都有,安装后就可以使用google play服务了。

unity中接入Google Play SDK相关推荐

  1. unity中TopOn海外广告sdk接入

    unity版本2019以上(2018可去TopOn官方帮助文档查询)官方帮助文档地址(如果没办法查看,则申请TopOn账号,大概第二天TopOn运营会联系你,如实回答就行) 1. 导入插件 TopOn ...

  2. 【Unity】中接入QQ官方SDK实现QQ登录(Android环境) 新手教程

    作为一个新手做准备工作的时候,在网上找了很多例子,发现其中有很多例子是有错误的,各种花式报错,好在最后终于成功了,在此记录一下自己接入QQSDK的过程. 前期准备 QQ官方SDK下载 地址:http: ...

  3. Unity中使用Google.Protobuf3,获取dll文件

    获取Google.Protobuf.dll文件,有两中方式可以获取,如下: 第一种方法: 获取官方的Google.Protobuf源码: protobuf各个版本下载地址 https://github ...

  4. Android与Unity交互--接入安卓原生SDK

    因技术更新,发现以前的文章有些过时,一些地方跟不上目前进度了,导致开发中出现一大堆问题,所以参考之前的一些文章整理了一下,希望对大家有所帮助. 工具 Unity2020 AndroidStudio 2 ...

  5. 接入Google Play SDK

    更新 好消息:Unity5.3添加了google play.Mac .AppStore.windows store的IPA接口,我们做内购日后方便多啦!关于国内渠道的接入,推荐通用SDK平台,比如an ...

  6. cocos creator Android 接入Google登陆sdk

    准备工作 这里就不详细介绍,主要说一下客户端sdk接入 1.手机上安装Google服务 2.一个绑定信用卡的Google账号: 3.Google play客户端: 4..Google Play开发者后 ...

  7. cocos creator Android 接入Google支付sdk

    准备工作 1.手机上安装Google服务 2.一个绑定信用卡的Google账号: 3.Google play客户端: 4..Google Play开发者后台创建应用 5.科学上网的工具 -等等 这些就 ...

  8. Unity Android 接入高德定位SDK

    Unity版本 2020 第一步首先去高德开放平台注册账号然后申请Key 高德开放平台 | 高德地图API 注册好账号之后 点击控制台 然后选择管理key 新建一个应用 选择添加  然后创建一个key ...

  9. IOS项目中加入Google Admob SDK

    错误1. Undefined symbols for architecture i386:   "_OBJC_CLASS_$_ASIdentifierManager", refer ...

最新文章

  1. 支持者基于BCH提出众多新概念,推动BCH创新
  2. SanDisk闪迪推面向VMware Virtual SAN 6的增强型闪存
  3. mysql 创建用户权限_10.创建 MySQL 用户及赋予用户权限
  4. Python文本处理几种方法
  5. 有钱了不起?!苹果猎头挖到马斯克没脾气,特斯拉股东公开求收购
  6. WaitForSingleObject与WaitForMultipleObjects用法详解
  7. Git 远程操作 —— clone、push、pull、fetch
  8. 12个职场信条让你的工作不可替代
  9. java 拦截器的作用?
  10. ubuntu 18.04 + SVO2.0
  11. big code: Toward Deep Learning Software Repositories [MSR 2015]
  12. 通过get和post访问HTTP接口的方法
  13. kbhit linux windows通用,_kbhit() for Linux
  14. 文本分类(TFIDF/朴素贝叶斯分类器/TextRNN/TextCNN/TextRCNN/FastText/HAN)
  15. maven获取所有依赖项
  16. R语言学习丨散点图怎么画?绘图基本知识与常用函数
  17. 基于SC-LIO-SAM的SLAM实践
  18. 创建自定义类型转换器
  19. 电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)
  20. 计算机和生命体畅想曲

热门文章

  1. oracle认证12c,Oracle认证数据库管理专家(12C)
  2. 代码 百分号2B 是什么意思?
  3. R语言数据高效处理指南——基本数据处理
  4. 白剽,2020年最牛AI技术,各个都有代码
  5. 视频监控运维常见故障排除点
  6. 亚马逊相比阿里巴巴,利润相差如此巨大,为什么?
  7. 人民版权 获2020中国产业区块链创新奖
  8. 额鹅鹅鹅饿のqzbq
  9. 简化后端:一篇带你走进云开发及小程序云开发的世界
  10. 骗子!-淘宝网上的奇热网络