最近手头有需要接入多个渠道的工作,我负责的是Android方面的接入,一般来说,渠道是非常多的,每一个渠道调用的接口都不一致,如果每一个渠道都要自己去弄回非常的耗时,所以网上会有一些接入的中间件提供商,帮助我们处理多个渠道的接入,我们只需要调用中间件相同的接口即可,不用关心不同渠道的异同。

目前中间件的提供商有:AnySDK1SDK等,下面记录一下接入的一些知识,关于登录和支付的流程可能多家SDK不完全一致,可以参考具体的接入文档。

什么是渠道?

渠道是游戏投放到多个平台,比如游戏发布到小米的平台,则可以称小米为一个渠道,我们的游戏需要针对小米的平台进行一些修改,发布的APK称为渠道包,没有对任何渠道进行过处理的APK包称为母包。

渠道的账号和我们自己的游戏账号

以小米为例,我们的游戏在启动时需要先登录小米的账号,然后使用小米的账号进行一定的转换得到我们自己游戏的账号(游戏不需要再登录自己的账号了),再进行游戏登录,即我们的游戏账号可以看做关联到小米账号下面的一个游戏子账号。

平台注册

如果我们选定使用了一家SDK中间件的话,应该先去改中间件官网申请账号并在其后台了添加对应的游戏,一般情况下会得到一个AppID,同时中间件后台可以查看游戏相关的统计数据。

登录流程

这里说一下一般情况下的游戏登录流程:

  1. 初始化SDK中间件;
  2. 注册登录回调;(即渠道账号登录成功或失败的通知消息)
  3. 登录请求;(一般情况下会弹出登录框或切换到登录界面等,这个界面不需要由CP提供,是具体渠道自己的登录框)
  4. 登录返回;(这里获得的返回结果是渠道登录得到的结果,一般会带有渠道账号和一个口令)
  5. 渠道登录成功后需要进行登录验证;(这里的登录请求是先请求我们自己的服务端,服务端会再次请求中间件的服务端告知用户登录,然后我们的服务端会根据该渠道的账号来得到游戏中的实际使用账号并返回到游戏客户端)
  6. 到这一步登录就算完成了,接下来使用游戏账号登录游戏即可;
  7. 一般到这里还需要向中间件服务端发送一些玩家的游戏信息用于打点,比如:角色名、所在服等等;

支付流程

这里说一下一般情况下的游戏支付流程:

  1. 调用中间件的充值接口;
  2. 中间件会打开对应的充值界面;(SDK提供,我们不需要开发)
  3. 玩家进行充值;(玩家可以用多种方式来充值,比如微信、支付宝等等)
  4. 充值成功;(充值成功后对应的渠道会发送充值成功的消息到指定的URL中)
  5. 绑定SDK的支付成功回调地址;(这一步需要先去SDK的后台找到对应渠道的回调地址,然后将该地址粘贴到对应渠道的后台里支持回调地址框中)
  6. SDK接收到支持的消息后会通知游戏的服务端该消息;(如果游戏服务端没有返回接收成功,一般中间件服务端会定时重发该消息)
  7. 游戏服务端处理完后向客户端发放相应的道具;

特殊渠道处理

有部分特殊的渠道需要进行一定的特殊处理,一般在渠道包导出时会把渠道id打到APK中,我们只需要在代码中获取渠道id进行判断即可;

渠道包导出

我们接入了对应的SDK之后,导出的APK为母包,还需要使用中间件提供的软件将其打包为特定渠道的渠道包才能发布给玩家。

Android游戏之平台接入的一点记录的更多相关文章

  1. 记录一下八款开源 Android 游戏引擎

    记录一下八款开源 Android 游戏引擎 虽然android学了点点,然后现在又没学了(我为啥这么没有恒心呢大哭).以后有时间还是要继续学android的,一定要啊!虽然现在没学android游戏编 ...

  2. Android平台接入OneNET

    1. OneNET简介 中国移动物联网开放平台是由中国移动打造的PaaS物联网开放平台. 平台能够帮助开发者轻松实现设备接入与设备连接,提供综合性的物联网解决方案,实现物联网设备的数据获取,数据存储, ...

  3. Android Google AdMob 广告接入示例

    Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...

  4. 手机游戏渠道SDK接入工具项目分享(二)万事开头难

    一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...

  5. 转 iOS和android游戏纹理优化和内存优化(cocos2d-x)

    iOS和android游戏纹理优化和内存优化(cocos2d-x) (未完成) 1.2d游戏最占内存的无疑是图片资源. 2.cocos2d-x不同平台读取纹理的机制不同.ios下面使用CGImage, ...

  6. 网易与Google合作发布开源UI自动化测试方案 牛逼:Google 方面评价,这可能是目前世界上最好的 Android 游戏自动化测试方案。

    美西时间 3 月 19 日,在 GDC 开幕第一天的 Google 开发者专场,Google 发布了一款由网易研发的 UI 自动化测试方案:Airtest Project.Google 方面评价,这可 ...

  7. Android研究之为基于 x86 的 Android* 游戏选择合适的引擎具体解释

     摘要 游戏开发者知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中.它们所占的比例超过 90% ...

  8. 八款开源 Android 游戏引擎[转]

    记录一下,以备不时之需~~~~~ 虽然android学了点点,然后现在又没学了(我为啥这么没有恒心呢大哭).以后有时间还是要继续学android的,一定要啊!虽然现在没学android游戏编程,不过还 ...

  9. 为基于 x86 的 Android* 游戏选择合适的引擎

    摘要 游戏开发者知道 Android 中蕴藏着巨大的机遇. 在 Google Play 商店的前 100 款应用中,约一半是游戏应用(在利润最高的前 100 款应用中.它们所占的比例超过 90%). ...

随机推荐

  1. Ajax的“dataType”乱用的陷阱

    $.doAjax({ url : "areaAction_synchronizeArea.do", data : { 'vrvRangeUrl' : synAreaHTTP ,'v ...

  2. 简单分析什么是SQL注入漏洞

    现在很多人在入侵的过程中基本都是通过SQL注入来完成的,但是有多少人知道为什么会有这样的注入漏洞呢?有的会随口说着对于字符的过滤不严造成的.但是事实是这样吗?我们学这些,不仅要知其然,更要知其所以然! ...

  3. iOS开发实践:一个类微博客户端从启动到与用户交互的过程

    本文基于数据字典和数据流图两种工具讲述一个完整微博客户端的实现.数据字典和数据流图都可以用来表达线程的执行流程,同时定义了需要的类,是进一步设计类的基础. 数据字典实际上是一张表,表的第一个字段是程序 ...

  4. ZOJ1260/POJ1364国王(King)

    // 题意 问是否存在一个长度为n的序列// 这个序列满足m个限制// 每个限制有 si ni oi kisi 为序列位置 ni为从si开始连续长度为ni+1 的子序列 这些子序列和 大于或小于 ki ...

  5. ORACLE 全局索引和本地索引

    Oracle数据库中,有两种类型的分区索引,全局索引和本地索引,其中本地索引又可以分为本地前缀索引和本地非前缀索引.下面就分别看看每种类型的索引各自的特点. 全局索引以整个表的数据为对象建立索引,索引 ...

  6. 在delphi中, reintroduce作用

    在delphi中, reintroduce作用 当在子类中重载或者重新声明父类的虚方法时,使用     reintroduce   关键字告知编译器,可以消除警告信息.如:          TPar ...

  7. 通过userAgent判断手机浏览器类型

    我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWe ...

  8. 【转】AVL

    #include <iostream> #include <ctime> #include <queue> #include <cassert> #in ...

  9. Devexpress GridControl中combobox级联显示 z

    http://minmin86121.blog.163.com/blog/static/4968115720143163533356/ 在 使用GridControl时,可能会有需求要求某2列显示co ...

  10. Calling C++ code from C# z

    http://blogs.msdn.com/b/borisj/archive/2006/09/28/769708.aspx I apologize for the long delay for thi ...