Android游戏之平台接入的一点记录
最近手头有需要接入多个渠道的工作,我负责的是Android方面的接入,一般来说,渠道是非常多的,每一个渠道调用的接口都不一致,如果每一个渠道都要自己去弄回非常的耗时,所以网上会有一些接入的中间件提供商,帮助我们处理多个渠道的接入,我们只需要调用中间件相同的接口即可,不用关心不同渠道的异同。
目前中间件的提供商有:AnySDK、1SDK等,下面记录一下接入的一些知识,关于登录和支付的流程可能多家SDK不完全一致,可以参考具体的接入文档。
什么是渠道?
渠道是游戏投放到多个平台,比如游戏发布到小米的平台,则可以称小米为一个渠道,我们的游戏需要针对小米的平台进行一些修改,发布的APK称为渠道包,没有对任何渠道进行过处理的APK包称为母包。
渠道的账号和我们自己的游戏账号
以小米为例,我们的游戏在启动时需要先登录小米的账号,然后使用小米的账号进行一定的转换得到我们自己游戏的账号(游戏不需要再登录自己的账号了),再进行游戏登录,即我们的游戏账号可以看做关联到小米账号下面的一个游戏子账号。
平台注册
如果我们选定使用了一家SDK中间件的话,应该先去改中间件官网申请账号并在其后台了添加对应的游戏,一般情况下会得到一个AppID,同时中间件后台可以查看游戏相关的统计数据。
登录流程
这里说一下一般情况下的游戏登录流程:
- 初始化SDK中间件;
- 注册登录回调;(即渠道账号登录成功或失败的通知消息)
- 登录请求;(一般情况下会弹出登录框或切换到登录界面等,这个界面不需要由CP提供,是具体渠道自己的登录框)
- 登录返回;(这里获得的返回结果是渠道登录得到的结果,一般会带有渠道账号和一个口令)
- 渠道登录成功后需要进行登录验证;(这里的登录请求是先请求我们自己的服务端,服务端会再次请求中间件的服务端告知用户登录,然后我们的服务端会根据该渠道的账号来得到游戏中的实际使用账号并返回到游戏客户端)
- 到这一步登录就算完成了,接下来使用游戏账号登录游戏即可;
- 一般到这里还需要向中间件服务端发送一些玩家的游戏信息用于打点,比如:角色名、所在服等等;
支付流程
这里说一下一般情况下的游戏支付流程:
- 调用中间件的充值接口;
- 中间件会打开对应的充值界面;(SDK提供,我们不需要开发)
- 玩家进行充值;(玩家可以用多种方式来充值,比如微信、支付宝等等)
- 充值成功;(充值成功后对应的渠道会发送充值成功的消息到指定的URL中)
- 绑定SDK的支付成功回调地址;(这一步需要先去SDK的后台找到对应渠道的回调地址,然后将该地址粘贴到对应渠道的后台里支持回调地址框中)
- SDK接收到支持的消息后会通知游戏的服务端该消息;(如果游戏服务端没有返回接收成功,一般中间件服务端会定时重发该消息)
- 游戏服务端处理完后向客户端发放相应的道具;
特殊渠道处理
有部分特殊的渠道需要进行一定的特殊处理,一般在渠道包导出时会把渠道id打到APK中,我们只需要在代码中获取渠道id进行判断即可;
渠道包导出
我们接入了对应的SDK之后,导出的APK为母包,还需要使用中间件提供的软件将其打包为特定渠道的渠道包才能发布给玩家。
Android游戏之平台接入的一点记录的更多相关文章
- 记录一下八款开源 Android 游戏引擎
记录一下八款开源 Android 游戏引擎 虽然android学了点点,然后现在又没学了(我为啥这么没有恒心呢大哭).以后有时间还是要继续学android的,一定要啊!虽然现在没学android游戏编 ...
- Android平台接入OneNET
1. OneNET简介 中国移动物联网开放平台是由中国移动打造的PaaS物联网开放平台. 平台能够帮助开发者轻松实现设备接入与设备连接,提供综合性的物联网解决方案,实现物联网设备的数据获取,数据存储, ...
- Android Google AdMob 广告接入示例
Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...
- 手机游戏渠道SDK接入工具项目分享(二)万事开头难
一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...
- 转 iOS和android游戏纹理优化和内存优化(cocos2d-x)
iOS和android游戏纹理优化和内存优化(cocos2d-x) (未完成) 1.2d游戏最占内存的无疑是图片资源. 2.cocos2d-x不同平台读取纹理的机制不同.ios下面使用CGImage, ...
- 网易与Google合作发布开源UI自动化测试方案 牛逼:Google 方面评价,这可能是目前世界上最好的 Android 游戏自动化测试方案。
美西时间 3 月 19 日,在 GDC 开幕第一天的 Google 开发者专场,Google 发布了一款由网易研发的 UI 自动化测试方案:Airtest Project.Google 方面评价,这可 ...
- Android研究之为基于 x86 的 Android* 游戏选择合适的引擎具体解释
摘要 游戏开发者知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中.它们所占的比例超过 90% ...
- 八款开源 Android 游戏引擎[转]
记录一下,以备不时之需~~~~~ 虽然android学了点点,然后现在又没学了(我为啥这么没有恒心呢大哭).以后有时间还是要继续学android的,一定要啊!虽然现在没学android游戏编程,不过还 ...
- 为基于 x86 的 Android* 游戏选择合适的引擎
摘要 游戏开发者知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中.它们所占的比例超过 90%). ...
随机推荐
- LA 4119 (差分数列 多项式) Always an integer
题意: 给出一个形如(P)/D的多项式,其中P是n的整系数多项式,D为整数. 问是否对于所有的正整数n,该多项式的值都是整数. 分析: 可以用数学归纳法证明,若P(n)是k次多项式,则P(n+1) - ...
- BZOJ3850: ZCC Loves Codefires
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3850 题解:类似于国王游戏,推一下相邻两个元素交换的条件然后排个序就可以了. 代码: #inc ...
- LeetCode Find Minimum in Rotated Sorted Array 旋转序列找最小值(二分查找)
题意:有一个有序序列A,其内部可能有部分被旋转了,比如A[1...n]被转成A[mid...n]+A[1...mid-1],如果被旋转,只有这种形式.问最小元素是?(假设没有重复元素) 思路:如果是序 ...
- UVA 1659 Help Little Laura 帮助小劳拉 (最小费用流,最小循环流)
(同时也是HDU 2982,UVA的数据多) 题意:平面上有m条有向线段连接了n个点.你从某个点出发顺着有向线段行走,给走过的每条线段涂一种不同的颜色,最后回到起点.你可以多次行走,给多个回路涂色(要 ...
- TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute
1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送 ...
- window.history
作者:zccst 旧版: forword() backword() go(number) HTML5中新增了 onhashchange 浏览器兼容性较好,用得较多 pushState / repla ...
- 【转】traits技术及模板偏特化
#include <iostream> using namespace std; struct __xtrue_type { }; // define two mark-type stru ...
- POJ 1083 Moving Tables
题意:一个建筑物里有400个房间,房间都在一层里,在一个走廊的两侧,如图,现在要搬n张桌子,告诉你每张桌子是从哪个屋搬到哪个屋,搬桌子的线路之间不可以有重叠,问最少搬几次. 解法:贪心.一开始觉得只要 ...
- C++标准库开发心得
最近放弃MFC,改用C++标准库开发产品.毕竟MFC用熟了,马上改用STL还不太习惯.下面列出下总结的改用STL遇到的问题和解决办法: 1.清除空格 remove_if(iterBegin, iter ...
- webdriver(python)学习笔记六——操作测试对象
定位到具体对象后,就需要对其进行操作,比如点击.输入内容等. 一般来说,webdriver中比较常用的操作对象的方法有下面几个 click 点击对象 send_keys 在对象上模拟按键输入 clea ...