ターゲティング登録
ターゲティング登録APIは、**ターゲティング情報を登録するためのAPI**と**ターゲティングデータを登録するためのAPI**に分かれています。ターゲティング情報を登録するためのAPIが基本データを要求すると、返されるターゲティングIDとターゲティング説明は、ターゲティングデータを登録するためのAPIを実行する際に保存する必要があります。ターゲティングIDとその説明は、ターゲティング情報の登録APIと同期されます。
前提条件¶
ターゲティング情報を登録するためにAPIと同期するには、認証トークン(APIキー)を発行する必要があります。すでにキーを持っている場合は、追加の権限をリクエストしてください。認証トークンのリクエストと発行方法については、Hive サーバーAPI > 通知 > プッシュ v4 > 認証を参照してください。
ターゲティング情報を登録するためのAPI¶
基本データとリクエスト変数¶
| メソッド | POST | ||||
| URL | /push/targets | ||||
| 区分 | フィールド名 | 説明 | タイプ | 必須 | |
| ヘッダー | Content-Type | application/json;charset=utf-8 | |||
| Authorization | bearer {{API KEY}} | ||||
| ボディ | company | 会社名(例:gamevil、com2us、gcp) | 文字列 | O | |
| companyIndex | 会社コード(AppCenterに登録された会社番号) | 整数 | O | ||
| registrant | id | 登録リクエスターのID | 文字列 | O | |
| name | 登録リクエスターの名前 | 文字列 | X | ||
| description | ターゲティングタイトルまたは説明 | 文字列 | O | ||
| game | gameindex | ゲームインデックス | 整数 | O | |
出力結果¶
| 部門 | フィールド名 | 説明 | タイプ | 必須 | |
| ヘッダー | Content-Type | application/json;charset=utf-8 | |||
| UUID | {{UUID}} | ||||
| ボディ | id | ターゲットID | Long | O | |
| company | リクエストデータと同じ | String | O | ||
| companyIndex | Integer | O | |||
| registrant | id | String | O | ||
| name | String | X | |||
| description | String | O | |||
| game | gameindex | Integer | O | ||
| available | 可用性 | Boolean | O | ||
レスポンスステートコード¶
| キー | 値 | 説明 |
|---|---|---|
| 200 | 成功 | (ボディは空です) |
| 400 | 不正なリクエスト | POSTデータが省略されています JSON形式エラー 必要な要素が省略されているか無効です ボディ内の理由メッセージで追加確認可能 |
| 401 | 認証されていません | リクエストメッセージの認証ヘッダーが省略されているか無効です 認証トークン(APIキー)が登録されていません 関連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 | ||||
| URL | /push/targets/{{ターゲティングID}}/direct/new | ||||
| 部門 | フィールド名 | 説明 | タイプ | 必須 | |
| ヘッダー | Content-Type | application/json;charset=utf-8 | |||
| Authorization | bearer {{APIキー}} | ||||
| ボディ | - | ターゲティングデータのリスト 下記のターゲティング構造と例を確認してください。 | Target[] | O | |
ターゲティング構造¶
| 部門 | フィールド名 | 説明 | タイプ | 必須 | |
| ターゲット | 識別子 | playerId | 4つの識別子のいずれかを入力してください。 | Long | O |
| vid | Long | ||||
| uid | Long | ||||
| did | Long | ||||
| app | appid | String | 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
- レスポンス