unity中接入Google Play SDK
参考:
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相关推荐
- unity中TopOn海外广告sdk接入
unity版本2019以上(2018可去TopOn官方帮助文档查询)官方帮助文档地址(如果没办法查看,则申请TopOn账号,大概第二天TopOn运营会联系你,如实回答就行) 1. 导入插件 TopOn ...
- 【Unity】中接入QQ官方SDK实现QQ登录(Android环境) 新手教程
作为一个新手做准备工作的时候,在网上找了很多例子,发现其中有很多例子是有错误的,各种花式报错,好在最后终于成功了,在此记录一下自己接入QQSDK的过程. 前期准备 QQ官方SDK下载 地址:http: ...
- Unity中使用Google.Protobuf3,获取dll文件
获取Google.Protobuf.dll文件,有两中方式可以获取,如下: 第一种方法: 获取官方的Google.Protobuf源码: protobuf各个版本下载地址 https://github ...
- Android与Unity交互--接入安卓原生SDK
因技术更新,发现以前的文章有些过时,一些地方跟不上目前进度了,导致开发中出现一大堆问题,所以参考之前的一些文章整理了一下,希望对大家有所帮助. 工具 Unity2020 AndroidStudio 2 ...
- 接入Google Play SDK
更新 好消息:Unity5.3添加了google play.Mac .AppStore.windows store的IPA接口,我们做内购日后方便多啦!关于国内渠道的接入,推荐通用SDK平台,比如an ...
- cocos creator Android 接入Google登陆sdk
准备工作 这里就不详细介绍,主要说一下客户端sdk接入 1.手机上安装Google服务 2.一个绑定信用卡的Google账号: 3.Google play客户端: 4..Google Play开发者后 ...
- cocos creator Android 接入Google支付sdk
准备工作 1.手机上安装Google服务 2.一个绑定信用卡的Google账号: 3.Google play客户端: 4..Google Play开发者后台创建应用 5.科学上网的工具 -等等 这些就 ...
- Unity Android 接入高德定位SDK
Unity版本 2020 第一步首先去高德开放平台注册账号然后申请Key 高德开放平台 | 高德地图API 注册好账号之后 点击控制台 然后选择管理key 新建一个应用 选择添加 然后创建一个key ...
- IOS项目中加入Google Admob SDK
错误1. Undefined symbols for architecture i386: "_OBJC_CLASS_$_ASIdentifierManager", refer ...
最新文章
- 支持者基于BCH提出众多新概念,推动BCH创新
- SanDisk闪迪推面向VMware Virtual SAN 6的增强型闪存
- mysql 创建用户权限_10.创建 MySQL 用户及赋予用户权限
- Python文本处理几种方法
- 有钱了不起?!苹果猎头挖到马斯克没脾气,特斯拉股东公开求收购
- WaitForSingleObject与WaitForMultipleObjects用法详解
- Git 远程操作 —— clone、push、pull、fetch
- 12个职场信条让你的工作不可替代
- java 拦截器的作用?
- ubuntu 18.04 + SVO2.0
- big code: Toward Deep Learning Software Repositories [MSR 2015]
- 通过get和post访问HTTP接口的方法
- kbhit linux windows通用,_kbhit() for Linux
- 文本分类(TFIDF/朴素贝叶斯分类器/TextRNN/TextCNN/TextRCNN/FastText/HAN)
- maven获取所有依赖项
- R语言学习丨散点图怎么画?绘图基本知识与常用函数
- 基于SC-LIO-SAM的SLAM实践
- 创建自定义类型转换器
- 电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)
- 计算机和生命体畅想曲