对接文档
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}
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}