定向注册
目标注册 API 分为 注册目标信息的 API 和 注册目标数据的 API。当注册目标信息的 API 请求基本数据时,返回的目标 ID 和目标描述请求在运行注册目标数据的 API 时保存。目标 ID 及其描述与目标信息的注册 API 同步。
先决条件¶
要与注册目标信息的API同步,请确保发出授权令牌(API密钥)。如果您已经拥有密钥,请请求额外的权限。请参考Hive 服务器API > 通知 > 推送 v4 > 身份验证以查看如何请求和发出授权令牌。
注册目标信息的 API¶
基本数据和请求变量¶
方法 | POST | ||||
网址 | /push/targets | ||||
部门 | 字段名称 | 描述 | 类型 | 必需 | |
头部 | Content-Type | application/json;charset=utf-8 | |||
授权 | bearer {{API KEY}} | ||||
主体 | 公司 | 公司名称(例如,gamevil,com2us,gcp) | 字符串 | O | |
公司索引 | 公司代码(在AppCenter上注册的公司编号) | 整数 | O | ||
注册人 | id | 注册请求者的ID | 字符串 | O | |
姓名 | 注册请求者的姓名 | 字符串 | X | ||
描述 | 目标标题或描述 | 字符串 | O | ||
游戏 | 游戏索引 | 游戏索引 | 整数 | O |
输出结果¶
部门 | 字段名称 | 描述 | 类型 | 必需 | |
头部 | 内容类型 | application/json;charset=utf-8 | |||
UUID | {{UUID}} | ||||
主体 | id | 目标 ID | 长整型 | O | |
公司 | 与请求数据相同 | 字符串 | O | ||
公司索引 | 整数 | O | |||
注册人 | id | 字符串 | O | ||
姓名 | 字符串 | X | |||
描述 | 字符串 | O | |||
游戏 | 游戏索引 | 整数 | O | ||
可用性 | 可用性 | 布尔值 | O |
响应状态代码¶
键 | 值 | 描述 |
---|---|---|
200 | 成功 | (主体为空) |
400 | 错误请求 | POST 数据被省略 JSON 格式错误 必需元素被省略或无效 可通过主体中的原因消息进行额外检查 |
401 | 未授权 | 请求消息中的授权头被省略或无效 授权令牌(API KEY)未注册 无法访问相关 API |
403 | 禁止 | 授权头的授权方案不是 "Bearer"(仅支持 Bearer) |
404 | 未找到 | 请求 URL 错误 |
500 | 服务器内部错误 | 服务器内部错误 |
502 | 错误网关 | 推送网关服务器超载 网络连接错误 |
503 | 服务不可用 | API 服务器或授权服务器已冻结 |
示例代码¶
- 呼叫
curl -L
-d '{"companyIndex": 3, "company" : "gcp", "registrant":{"id":"pushmanager", "name":"push administrator"}, "description":"push targeting test", "game":{"gameindex":592}}'
-H "Content-Type: application/json"
-H "Authorization: Bearer {API KEY}"
https://sandbox-notification.qpyou.cn/push/targets
- 请求
> POST /push/targets HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: sandbox-notification.qpyou.cn
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer {API KEY}
> Content-Length: 143
- 响应
< HTTP/1.1 200 OK
< Content-Length: 180
< Content-Type: application/json
< UUID: 6f75eab9-9e66-40da-a375-a5209cea6a9c
<
* Connection #0 to host sandbox-notification.qpyou.cn left intact
* Closing connection #0
{"id":11,"companyIndex": 3, "company" : "gcp", "game":{"gameindex":592},"description":"Tergeting test","registrant":{"name":"identifier_name","id":"identifier_id"},"available":false,"locked":false}
注册目标数据的API¶
基本数据和请求变量¶
方法 | POST | ||||
网址 | /push/targets/{{targeting ID}}/direct/new | ||||
部门 | 字段名称 | 描述 | 类型 | 必需 | |
头部 | 内容类型 | application/json;charset=utf-8 | |||
授权 | bearer {{API KEY}} | ||||
主体 | - | 目标数据列表 请查看下面的目标结构和示例。 | Target[] | O |
目标结构¶
部门 | 字段名称 | 描述 | 类型 | 是否必填 | |
目标 | 标识符 | playerId | 确保输入四个标识符之一。 | 长整型 | O |
vid | 长整型 | ||||
uid | 长整型 | ||||
did | 长整型 | ||||
app | appid | 字符串 | O |
目标示例¶
[
{
"identifier": {
"playerId": 1,
"did": 1000
},
"app": {
"appid": "com.gcp.stepbystep.ios.apple.global.ent"
}
}
]
输出结果¶
标题 | 内容类型 | application/json;charset=utf-8 | ||
UUID | {{UUID}} | |||
成功:HTTP 状态码 == 200 |
错误¶
部门 | 字段名称 | 描述 | 类型 | 必需 | |
失败:HTTP 状态码 !== 200 | |||||
主体 | 错误 | 原因 | 错误发生的原因 | 字符串 | X |
示例代码¶
- 呼叫
curl -L
-H "Content-Type: application/json"
-H "Authorization: Bearer {API KEY}"
-d '[ { "identifier": { "playerId": 1, "did": 1000 }, "app": { "appid": "com.gcp.stepbystep.ios.apple.global.ent" } }, { "identifier": { "playerId": 2, "did": 2000 }, "app": { "appid": "com.gcp.stepbystep.android.google.global.normal" } } ]'
https://sandbox-notification.qpyou.cn/push/targets/11/direct/new
- 请求
> POST /push/targets/11/direct/new HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: sandbox-notification.qpyou.cn
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer {API KEY}
> Content-Length: 236
- 响应