对接文档

1. 申请你的 AppID

请到开发者应用登记页面进行登记,登记并选择移动应用进行设置后,将获得AppID,可立即用于开发。但应用登记完成后还需要提交审核,只有审核通过的应用才能正式发布使用。

2. 下载浩动终端开发工具包

开发工具包主要包含2部分内容:(其中,只有hodosdk.jar是必须的)
hodosdk.jar(每个第三方应用必须要导入该sdk库,用于实现与浩动的通信)
API文档(供开发者查阅使用)
下载:Android平台开发工具包

3. 搭建开发环境

【1】在Eclipse中建立你的工程。

【2】在工程中新建一个libs目录,将开发工具包中libs目录下的hodosdk.jar复制到该目录中(如下图所示,建立了一个名为HDSDK_Demo的工程,并把jar包复制到libs目录下)。

【3】鼠标右键单击hodosdk3.0.jar包,选择Build Path中的Add to Build Path,把这个包导入到工程中。(如下图所示)。

4. 编写 AndroidManifest.xml 文件

4.1 添加所需权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>

4.2 添加应用 ID 及数据

<meta-data android:name=”HDAppId” android:value=”3” />

其中name:“HDAppId”不可改变,value为这个商家为应用在网站申请的ID,由浩动提供,值不可更改,且这个属性必须添加在application标签里面。

4.3 在AndroidMainifest.xml中添加渠道ID 及数据

<meta-data android:name="HDChannelId" android:value="HD_3003904674" />

其中name:“DDleChannelId”不可改变,value为这个应用的渠道的ID,不同渠道有不同的ID,由点点乐提供对应渠道ID,值不可更改。且这个属性必须添加在application标签里面,

5. 在代码中使用工具包

5.1 初始化并获取DevSDK的实例

5.2 调用登录

调用sdk的hdLogin方法:第一个参数是登录成功回调,第二个参数是登录退出回调

登录成功回调参数示例:(返回参数为JSON格式)

{"access_token":"3.3003904674.6.611d7cc55f7c9ef78fe30c2c475a951d26cbb44f","expire_time":"2014-08-16 17:26:04","sessionid":"3b42d3e4fb3e44b7ce3938d9fe4a307b","appid":"3","game_id":"3","game_package_id":"3003904674","gameuserid":"6","username":"D149701"}

参数说明:

参数名称 参数说明
access_token 浩动平台的全局唯一票据
expire_time 过期时间
sessionid sessionid
appid 没用的(这个值为了兼容旧接口)
game_id 游戏ID
game_package_id 游戏包ID
gameuserid 用户ID
username 登录账号

5.3 调用支付

参数说明:

参数名称 参数说明
code 外部订单号
amount 支付金额
count 数量 默认为1
desc 商品描述
ext 扩展信息(CP用)
notifyurl 通知发货url
player 角色名
server 角色所在服务器
epayExitListener 退出支付侦听器

传入数据除了desc,都会在通知发货的时候,原样返回。

5.4 调用个人中心

5.5 销毁 SDK

6. 使用银联插件,需要添加以下配置

6.1 在res->values->styles.xml中添加Theme.Transparent主题

6.2 在AndroidMainifest.xml中添加Activity

6.3 在assets下添加银联插件

7. 打包混淆

在混淆文件里面添加以下代码(不混淆SDK里的内容)
-keep public class com.baidu.location.** { *; }
-keep public class com.content.** { *; }
-keep public class com.plugin.** { *; }

API文档

1 数据包结构说明

json例子:

{"code":"1","message":"错误信息返回内容","result": null }

参数说明:

类型 说明
code String 1:成功… 0:失败 其他值根据参考接口具体说明
message String 当 code 不等于1的时候
result Array 返回数据.没有数据的时候则为null,有数据则为数组

请求地址:

http://api.hodogame.com/index.php

(下文中{host_url}均指此地址)

2 auth/authorize 用户验证

请求地址(样板):

{host_url}?r=auth/Authorize&username=D149701&password=654321&game_id=122&package_id=test01

支持格式: json

是否需要登录 : 否

请求参数

必选 方式 说明
game_id True Get/Post 游戏id
package_id True Get/Post 游戏包id
username True Get/Post 用户名
password True Get/Post 密码

返回结果 - JSON示例

{"codees":"1","message":"错误信息返回内容","result":null}

返回字段说明

返回值字段 字段类型 字段说明
code string 操作结果 1成功 0失败…其他….
message string
result string userid ,    游戏角色id
token,    角色token
timeout,    有效时间 - 秒为单位(暂时无用)

成功:

{"code":1,"message":"","result":{"access_token":"3.3003904674.6.2e1d5c5a9b7c8780c306b4cdccce4b1cf11ee976","expire_time":"2014-08-16 16:56:39","sessionid":"3b42d3e4fb3e44b7ce3938d9fe4a307b","appid":"3","game_package_id":"3003904674","gameuserid":"6","username":"D149701"}}

失败:

{"code":"0","message":"\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef","result":null}

3 user/show 获取当前登陆的用户角色详细信息

URL : {host_url}?r=user/show

支持格式 : JSON

是否需要登录 : 是

请求参数

必选 方式 说明
id false Get/Post 用户id,无则返回当前登陆用户信息

返回结果 - JSON示例

{"codees":"1","message":"错误信息返回内容","result":null}

返回字段说明

返回值字段 字段类型 字段说明
code string 操作结果 1成功 0失败…其他….
message string
result string {
userid : 游戏角色id
create_time : 创建时间
login : 1已经登陆 , 0未登陆
}

成功:

{"code":"1","message":"","result":{"userid":"1152089","create_time":"2014-04-10 19:56:29","login":"1"}}

失败:

{"code":"0","message":"\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef","result":null}

4 user/changepassword 修改密码

URL : {host_url}?r=user/changepassword

支持格式 : JSON

是否需要登录 : 是

请求参数

必选 方式 说明
old_password True Get/Post 旧密码
new_password True Get/Post 新密码

返回结果 - JSON示例

{"codees":"1","message":"错误信息返回内容","result":null}

返回字段说明

返回值字段 字段类型 字段说明
code string 操作结果 1成功 0失败…其他….
message string
result string null 此接口result无内容返回

成功:

{"code":"1","message":"","result":null}

失败:

{"code":"0","message":"修改密码失败","result":null}

5 user/resetpassword 重置密码

URL : {host_url}?r=user/resetpassword

支持格式 : JSON

是否需要登录 : 是

请求参数

必选 方式 说明
value True Get/Post 原来接收reset_key的手机或邮箱
type True Get/Post phone : 手机号
email : 邮箱
reset_key True
new_password True 新密码

返回结果 - JSON示例

{"codees":"1","message":"错误信息返回内容","result":null}

返回字段说明

返回值字段 字段类型 字段说明
code string 操作结果 1成功 0失败…其他….
message string
result string null 此接口result无内容返回

成功:

{"code":"1","message":"","result":null}

失败:

{"code":"0","message":"重置密码失败","result":null}

8.6 user/register 注册账号

URL : {host_url}?r=user/register

支持格式 : JSON

是否需要登录 : 是

请求参数

必选 方式 说明
game_id True Get/Post 游戏id
package_id True Get/Post 渠道id
username false Get/Post 需要注册的用户名
password false Get/Post 需要注册的用户的密码

返回结果 - JSON示例

{"codees":"1","message":"错误信息返回内容","result":null}

返回字段说明

返回值字段 字段类型 字段说明
code string 操作结果 1成功 0失败…其他….
message string
result string 成功的话则这里返回user记录的明细信息(数组形式存放)

成功:

{"code":"1","message":"","result":[“用户的明细”] }

失败:

{"code":"-1","message":"注册用户未成功,用户已存在,密码长度太短,…等错误信息","result":null}