手游服务器端接入google的SDK

在接入google的SDK之前,当然先要用你的google开发者账号要去申请你接入的应用,这些步骤就直接省略了具体的步骤可以查看这篇博文:http://blog.csdn.net/hjun01/article/details/42032841 里面有比较详细的介绍,这里只是简单的介绍下步骤流程仅供参考。

1.google账号登录服务器端验证过程

1).客户端发送id_token到服务器端
2).服务器端发送post请求到Google:
https://www.googleapis.com/oauth2/v3/tokeninfo?id_token={XYZ123}
3).请求成功,返回如下格式的:
{
 // These six fields are included in all Google ID Tokens.
 "iss": "https://accounts.google.com",
 "sub": "110169484474386276334",
 "azp": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "aud": "1008719970978-hb24n2dstb40o45d4feuo2ukqmcc6381.apps.googleusercontent.com",
 "iat": "1433978353",
 "exp": "1433981953",

// These seven fields are only included when the user has granted the "profile" and
 // "email" OAuth scopes to the application.
 "email": "[email protected]",
 "email_verified": "true",
 "name" : "Test User",
 "picture": "https://lh4.googleusercontent.com/-kYgzyAWpZzJ/ABCDEFGHI/AAAJKLMNOP/tIXL9Ir44LE/s99-c/photo.jpg",
 "given_name": "Test",
 "family_name": "User",
 "locale": "en"
}

详情请查看google的开发者官网。

2.接入google支付

Google支付验证流程简介
一. 在Google Developer Console中创建一个 Web Application账户,得到client_id,client_secret
和 redirect_uri,这3个参数后边步骤常用到(此为前提)

二. 获取Authorization code(获取授权码)
发送get请求
https://accounts.google.com/o/oauth2/auth?
scope=https://www.googleapis.com/auth/androidpublisher
&response_type=code
&access_type=offline
&redirect_uri={...}&client_id={...}

将会返回如下:
https://www.example.com/oauth2callback?
code=4/CpVOd8CljO_gxTRE1M5jtwEFwf8gRD44vrmKNDi4GSS.kr-GHuseD-oZEnp6UADFXm0E0MD3FlAI

三. 利用code(上一步获得的code) 获取access_token,refresh_token
发送post请求
https://accounts.google.com/o/oauth2/token?
grant_type=authorization_code
code={the code from the previous step}
client_id={the client ID token created in the APIs Console}
client_secret={the client secret corresponding to the client ID}
redirect_uri={the URI registered with the client ID}

我们这一步的目的是获取refresh_token,只要有了这个长效token,access_token是随时可以获取的,
第一次发起请求得到的JSON字符串如下所示,以后再请求将不再出现refresh_token,要保存好。expires_in
是指access_token的时效,为3600秒。

{
    "access_token": "ya29.3gC2jw5vm77YPkylq0H5sPJeJJDHX93Kq8qZHRJaMlknwJ85595eMogL300XKDOEI7zIsdeFEPY6zg",
    "token_type": "Bearer",
    "expires_in": 3600,
    "refresh_token": "1/FbQD448CdDPfDEDpCy4gj_m3WDr_M0U5WupquXL_o"
}

四. 进一步可利用refresh_token获取新的access_token
发送post请求:https://accounts.google.com/o/oauth2/token?grant_type=refresh_token&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}&refresh_token={REFRESH_TOKEN}

A successful response will contain another access token:
{
  "access_token" : "ya29.AHES3ZQ_MbZCwac9TBWIbjW5ilJkXvLTeSl530Na2",
  "token_type" : "Bearer",
  "expires_in" : 3600,
}

五. 使用access_token 调用Google API 达到最终目的(如果access_token过时,回到第四步)
发送get请求:https://www.googleapis.com/androidpublisher/v2/applications/{packageName}/purchases/products/{productId}/tokens/{purchaseToken}}?access_token={access_token}

成功返回:

{
  "kind": "androidpublisher#productPurchase",
  "purchaseTimeMillis": long,
  "purchaseState": integer, (purchased:0  cancelled:1,我们就是依靠这个判断购买信息)
  "consumptionState": integer,
  "developerPayload": string
}

google官方关于登录或者支付都有相应编程语言的API,用API来实现更加简单就没有这么复杂了,如果没有相应编程语言的API可以到github上搜索,一般都可以找到。

时间: 2024-07-30 08:33:49

手游服务器端接入google的SDK的相关文章

手游服务器端接入facebook的SDK

手游如果支持facebook登录,就要接入facebook的登录SDK.刚好工作中自己做了这一块的接入功能现在记录分享下来提供一个参考. 当前只是接入了登录这个功能,先简单的说说接入facebook登录的一个流程.客户端通过玩家输入的用户名和密码向facebook发起登录的请求,请求登录如果成功那么就会返回一个token(口令).那么服务器这边就需要接收客户端发来的这个token,然后服务器端这边还需要一个access_token(这个token就是验证服务器端有没有权限访问facebook的A

手游客户端数据表接入随笔

手游在接入数据库表时需要考虑几个问题: 1.unity使用C#语言,数据表读取接口也需要使用C#语言: 2.基础组件库提供了excel到bin格式的转表工具,tdr组件支持将元数据格式转换为可读取bin格式数据的C#接口代码集,可以将数据表配表到读取的流程整理为 (1)程序建立excel表格和表格对应元数据结构xml文件: (2)策划在已经建立的excel表格中添加修改删除数据项: (3)程序配置convlist.xml文件,策划使用Resconv转表工具加载该配置文件对所选表格进行转表操作,生

TypeSDK免费手游多渠道SDK接入方案

摘要: TypeSDK,一个开源的统一手游渠道SDK接入框架,拥有80个海内外渠道,具备快速出包.分布式打包.分权限管理.产品数据打点等功能. 经历了头两年的爆发之后,手游也和端游.页游一样,进入了一个利润变薄.产业整合的过渡期.除了那些自有渠道的大厂商,如何找到新的用户来源始终是中小CP面临的最大问题,解决办法目前看来只有不断新接入渠道这一条.这就催生了一条新问题,接渠道也是一件非常耗时耗力的工作,里面各种危机暗藏.这就是为什么做了4年手游CP的星渠,转型去做统一渠道SDK接入框架--Type

手游接入Facebook的那些坑

之前工作需要在手游中接入了facebook,并以此写了<手游接入Facebook功能>的博文.当时facebook sdk的版本还是3.x,代码集成度比较低,集成起来也比较麻烦.文中只是稍微提了下功能,然后扔了个github的demo链接,对一些细节问题没有描述. 之后公司里另外一个项目也有facebook的接入需求,并且由他们的运营方来具体实现,我们当时就facebook权限审核等问题讨论的比较频繁,以至于后来他们直接建了一个Facebook SDK开发群,不想后面常常有其他开发者搜索到这个

手游发行四大兵器之首---统一SDK的打造法则

序 工欲善其事,必先利其器 由上一篇Android手游发行兵器谱可知,统一SDK的想法来源于设计分享工具ShareSDK.同样的中心思想,可是其本质却有着不一样一面.如下图对比: ShareSDK原理思想: 统一SDK原理思想: 由上图可知,ShareSDK的方式是集成,就是如果你想分享渠道有多少个,那么ShareSDK就会把相应的分享SDK都加入都一个包中,形成一个集成渠道的包.统一SDK的方式的嵌入,替换方式嵌入,就是统一个SDK包中无法共存着两个渠道的SDK,即如果统一SDK已经接入了UC

手游渠道SDK建议标准

手游渠道平台纷乱芜杂,但提供的基本功能大同小异,这里就登陆和支付两个基本功能,提出一点标准化的建议,仅作为在接入了30+个渠道平台后的一点想法: *登陆 -过程: 游戏客户端-->渠道服务:申请本次登陆的渠道token {游戏ID} 渠道服务-->游戏客户端:返回本次登陆的渠道token {渠道token} 游戏客户端-->游戏开发商服务:提交 {渠道名,渠道的token,签名} - 签名方式常有:md5(渠道名,渠道token,) 游戏开发商服务-->渠道服务:验证签名,提交 {

unity手游之聊天SDK集成与使用一

手游中都有聊天功能,比如公会,私聊,世界聊天,那么找一个好用,功能强大的SDK的可以节省很多精力,帮助我们提高开发速度与游戏质量. 写本篇博文是为了方便使用这个SDK做聊天模块的程序,避免许多坑,我在研究过程中,咨询了SDK开发者许多问题,所以我会详细的把使用过程及坑记录下来. 集成插件 我使用的是亲加通讯云提供的即时通讯SDK,附上地址,如下. 这里是文档说明,请查看即时通讯云-增强版,里面有unity的文档: http://www.gotye.com.cn/docs.html?product

与你共享,简单分享。ShareREC手游录像SDK公开下载!

与你共享,简单分享.ShareREC手游录像SDK公开下载,Mob团队开放工具包,让开发变得更简单.猛戳下载地址 http://rec.mob.com/

Unity3D如何集成ShareREC手游录像分享SDK

一.准备工具 到Mob官网 下载 ShareREC For Unity3d SDK包. 工具概要:ShareREC是Mob推出的最完美手游录像解决方案,开发者只需3分钟快速集成,即可让游戏拥有强大的手游录像.语音及视频解说,第三方分享功能,同时后台还能提供完善的数据统计,可供实时了解播放量.分享量.下载量等数据.下载地址:http://rec.mob.com/Download 功能: 1.支持手游录像功能,游戏过程中可同步录制游戏视频 2.支持分享到主流社交平台,新浪微博.微信好友.微信朋友圈.