ICCGAME SDK 接入手册

本文档详细解释了在技术接入与使用过程中需要注意的地方,以帮助接入方避免风险产生。

阅读后如有疑问,请联系游艺春秋相关技术支持。

2017 年 10 月 26 日

责任归属

文档中所涉及到的规则都是根据在接入与使用 ICCGAME SDK 接口的过程中出现的一些主要风险而做的防范措施,请游戏接入商予以关注。请在接入及使用过程中,严格依照游艺春秋提供的技术文档、代码示例、等提供的所有资料,否则由此导致的风险以及资金损失或者扩大情形需游戏接入商自行承担。

资源下载

包含文档内所有使用代码、类库、LOGO、角标、闪屏

ICCGAME-SDK-20171026.zip

需要服务器端配置的参数

开发环境下,使用下4个参数即可,参数全部存储于服务器端,游戏交付ICCGAME测试通过后,即可上线,上线时统一更换。

特别注意

  1. 参数必须存放于服务器端,如果未能按照文档要求,在支付与账号安全产生的所有问题全部由接入商自行承担;
  2. 正式参数在 Android 客户端嵌入 assets/ICC_SDK.conf 文件后生效,iOS 编译到根目录
  3. iOS 与 Android 使用不同的 ICC_SDK.conf 文件
  4. iOS 中 ICC_SDK.conf 不定期更新,提审前请确认最新版本,Android 始终不变;
  5. 为了方便开发,仅在测试期间提供测试工具。
2193001
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAPb6KnYMnx1IyXlx6z3fv9ojQ7cx8wpi
WdRZ4rbMg2b/Ww0wRF1bSx4SvwEd8/c04YVRo+FiIL8ijSNUT3apQXMCAwEAAQ==
-----END PUBLIC KEY-----
-----BEGIN PRIVATE KEY-----
MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEA01WTe78eRzBEvwfu
Z/ga5tCvNV1HGW80QKiAme+OU48V4seJKWR59qfdUMusdI0SzSEC0wF4zoy6gJgX
8IBpLQIDAQABAkAL/ueINqj5UXwVe9XEgQjF4UKQvOK0RuOoZ+gk1Lw3ceVIVHfs
ubNdTa+9NnFcl7DHM/CQ999HK/7+wTcXCtHhAiEA+yl7UE144ZMXWjJqJ1qRYx83
GEtNQw53AyPn0lKttssCIQDXZ7Kaxcl0rCnD4fJo0LBxi3Sq4WlR5L7bghxTXLpo
5wIhALhl+Dc46esThy2dnfpOsDdKD7UydAMrd41Cq0zrjsaJAiASI8JvtD5N2/28
aDewyfpB5ZuSlF75LYlBFQjroEB2ewIhAIEScIfZzGSYeC5Pfhi5N0c+o/F3lUme
5UDMyBtuXUQn
-----END PRIVATE KEY-----
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKwfufThInBNc5BC6kMNfZhnHzc8YTCa
kAcmkZYeaSA2FpVHySDwpQZ3EDv4psOJd7YFV6Po/l7mDIgx8I+9RXsCAwEAAQ==
-----END PUBLIC KEY-----

技术接入顺序

修改 AndroidManifest.xml

在游戏的客户端工程中找到 AndroidManifest.xml 文件,在 application 标签内添加 activity 声明与 receiver 声明,并且在 manifest 内开放权限。

初始/析构

在调用其它 API 前需先对 SDK 进行初始化,游戏退出时需要销毁 SDK,保存玩家信息并释放内存。

登录/注册/试玩转正

实例 Android 已经提供了客户端的接入代码,流程详见下图。

玩家在进行如题多项操作时,返回的信息均完全一致。

为了减少游戏对SDK平台的依赖,登录采用签名验证方式,验证逻辑请在服务端实现,流程详见下图。

首次登录成功后,以后游戏将自动完成登录,如需要去掉自动登录功能,请调用注销登录接口。

服务端现阶段提供 JAVA 与 PHP 代码。

    支付

    实例 Android 已经提供了客户端的接入代码,流程详见下图。

    支付的接入难点,主要在于生成 tradeInfo 字符串,生成逻辑请在服务端实现,流程详见下图。

    服务端现阶段提供 JAVA 与 PHP 代码。

        支付成功通知

        平台唯有支付成功后才会进行通知,参数通过 POST 方式传递,游戏服务器端验证通知签名后再执行相应的业务逻辑操作,成功返回 success 字符,其他任何信息将视为失败。

        平台将持续调用5次以上,根据当前业务繁忙程度动态调整间隔及次数。

        通知工具可以模拟服务器,如果您是内网开发,可以使用 telnet 工具自行模拟。

        服务端现阶段提供 JSP 与 PHP 代码。

          注销登录

          实例 Android 已经提供了客户端的接入代码,流程详见下图。

          如果取消自动登录功能可以在退出游戏时调用该方法,或者在切换账号时调用。

          退出游戏

          实例 Android 已经提供了客户端的接入代码,流程详见下图。

          如果退出游戏时调用该方法,或者玩家按下物理返回按键时调用。

          提交数据

          实例 Android 已经提供了客户端的接入代码,流程详见下图。

          当玩家进行如下操作时候进行数据提交。

          SDK API

          错误编号对照

          编号 描述
          -1006 余额不足
          -1007 已经冻结金额小于解冻金额
          -1010 充值订单金额异常
          -1011 记录已经存在
          -1012 账目异常
          -2001 账号名称无效
          -2002 账号不存在
          -2003 账号已经转正
          -2004 账号密码错误
          -2005 会话超时
          -2006 账号已被注册
          -2011 Pay请求数据为空
          -2012 币种不支持充值
          -2013 Pay请求签名无效
          -2099 没有网络
          -3001 令牌不能为空
          -3002 令牌无效
          -3003 令牌暂未登录
          -3004 业务标识不能为空
          -3005 游戏交易标识不能为空
          -3006 业务标识或交易标识无效
          -3007 等待买家支付
          -3008 交易需要人工干预(回调超时,间隔共计请求7次后)
          -3101 操作被打断
          -3102 玩家取消
          -3103 该账号以为正式状态
          -3104 充值结果不能确定(等待系统回调)
          -3105 游戏正在处于登录状态
          -3106 支付订单请求不能为空