使用场景

创建组

要发送推送消息,您需要定义组的唯一名称。 每次发送都属于任意创建的组。 它允许你在报告中对消息发送进行分组。

要创建一个组,请发出以下请求 POST /push/v1/management/groups:

curl -X POST \
  'https://push.api.appmetrica.yandex.net/push/v1/management/groups' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: OAuth <your_token>' \
  -d '{"group":{"app_id":XXXXXX,"name":"the_name_of_the_group"}}'

where <your_token> 是一个 OAuth 令牌,可以通过 说明 获取。

如果请求成功,您将收到类似以下的响应:

{
  "group": {
    "id": XXXXXX,
    "app_id": XXXXXX,
    "name": "the_name_of_the_group"
  }
}

接收的 group_id 必须用于后续的推送消息发送。

发送推送消息

要发送推送,需要指定组 ID 和分发标签。 多个分发可以具有相同的标签。 该标签是在报告第二级显示的任意字符串。

要发送推送消息,请发出以下请求 POST /push/v1/send-batch:

curl -X POST
'https://push.api.appmetrica.yandex.net/push/v1/send-batch'
-H 'Authorization: OAuth <your_token>'
-H 'Content-Type: application/json'
-d '{
  "push_batch_request": {
    "group_id": 12324,
    "tag": "some_tag",
    "batch": [
      {
        "messages": {
          "android": {
            "silent": false,
            "content": {
              "title": "示例 Android 标题",
              "text": "示例 Android 文本",
              "icon": "46",
              "icon_background": "#FFFFFFFF",
              "banner": "http://example.png",
              "data": "foobarbaz",
              "priority": -2,
              "collapse_key": 2001,
              "vibration": [0, 500],
              "led_color": "#FFFFFF",
              "led_interval": 50,
              "led_pause_interval": 50,
              "time_to_live": 180
            }
          },
          "iOS": {
            "silent": false,
            "content": {
              "text": "示例 iOS 文本",
              "badge": "0",
              "data": "foobarbaz",
              "sound": "disable"
            }
          }
        },
        "devices": [
          {
            "id_type": "ios_ifa",
            "id_values": ["8003C3CF-A3BC-4DDD-B6DF-1DD......"]
          },
          {
            "id_type": "google_aid",
            "id_values": ["8e4dd44b-82ec-43d0-a5de-321......"]
          }
        ]
      }
    ]
  }
}'

where <your_token> 是一个 OAuth 令牌,可以通过 说明 获取。

备注

请求字段的描述位于发送推送消息部分。

如果请求成功,您将收到类似如下的响应:

{
  "push_response": {
  "transfer_id": XXXXXX
  }
}

收到的 transfer_id 用于检查发送状态。

检查发送状态

要检查发送状态,请使用transferId发送标识符。

备注

您也可以通过使用指定的 client_transfer_id 字段来检查状态。 要了解更多信息,请参见发送推送消息。

要检查状态,请发出以下请求 GET /push/v1/status/{transferId}:

curl -X GET \
  'https://push.api.appmetrica.yandex.net/push/v1/status/XXXXXX' \
  -H 'Authorization: OAuth <your_token>'

where <your_token> 是一个 OAuth 令牌,可以通过 说明 获取。

您将收到一个类似如下的响应:

{
  "transfer": {
    "creation_date": "2017-11-03T18:29:25+03:00",
    "id": XXXXXX,
    "status": "失败",
    "tag": "some_tag",
    "group_id": XXXXXX,
    "errors": [
      "Android平台的推送凭证无效"
    ]
  }
}

备注

响应字段的描述位于“检查使用 transferId 发送的状态”部分。

获取推送营销报告

要获取推送营销报告,请使用Reporting API。

要获取发送信息,请使用以下请求

curl -X GET \
  'https://api.boost.yandex.com/stat/v1/data?limit=10&date1=today&date2=today&ids=XXXXXX&metrics=ym:pc:users&dimensions=ym:pc:group,ym:pc:tag,ym:pc:transfer'
  -H 'Authorization: OAuth <your_token>'

where <your_token> 是一个 OAuth 令牌,可以通过 说明 获取。

如果请求成功,您将收到类似如下的响应:

{
  "dimensions": [
    {
      "id": "1",
      "name": "the_name_of_the_group"
    },
    {
      "name": "some_tag"
    },
    {
      "name": "99"
    }
  ],
  "metrics": [
      1
  ]
}
...

如果您没有找到所需答案,可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能,请附上截图。

联系支持 建议改进文档
上一篇
下一篇