Skip to content

Commit 957079d

Browse files
committed
update api doc
1 parent b181b0d commit 957079d

File tree

1 file changed

+104
-5
lines changed

1 file changed

+104
-5
lines changed

doc/api.md

Lines changed: 104 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# JPush API PHP Library doc
22

3+
34
JPush API PHP Library 提供简化构建JPush Push JSON的API,开发者只需要完成一下几个操作就能完成一次推送。
45

56
1. 指定推送的平台(platform)
@@ -11,6 +12,28 @@ JPush API PHP Library 提供简化构建JPush Push JSON的API,开发者只需
1112

1213
## 版本更新
1314

15+
### v3.2.0
16+
* 支持设置IOS Notification的category属性
17+
* 设置APNs payload中的"category"字段值(仅支持IOS8)
18+
* 支持设置big_push_duration属性
19+
* 指定时长。规定应在这个时间内推送完成,用于“定速推送”
20+
* 新增Report接口
21+
* API /v3/messages 获取消息统计详细数据
22+
* API /v3/users 获取用户统计详细数据
23+
* 新增Validate接口
24+
* 调用Validate可以模拟真实推送,获取msgId,查询影响人群以及其他统计信息,但JPush服务器不会将消息推送给目标用户
25+
* 新增Device API
26+
* getDeviceTagAlias 获取指定RegistrationId的所有属性,包含tags, alias
27+
* removeDeviceTag 移除指定RegistrationId的所有tag
28+
* removeDeviceAlias 移除指定RegistrationId的所有alias
29+
* updateDeviceTagAlias 更新指定RegistrationId的指定属性,当前支持tags, alias
30+
* getTags 获取当前应用的所有标签列表
31+
* isDeviceInTag 查询某个用户是否在tag下
32+
* updateTagDevices 对指定tag添加或者删除registrationId
33+
* deleteUpdate 删除指定Tag,以及与其关联的用户之间的关联关系
34+
* getAliasDevices 获取指定alias下的用户,最多输出10个
35+
* deleteAlias 删除指定alias,以及该alias与用户的绑定关系
36+
1437
### v3.1.2
1538

1639
* examples中加入**vendor.tar.gz**,现在开发者直接解压此文件到项目目录,引入 **vendor/autoload.php** 既可以使用**JPush**
@@ -258,7 +281,7 @@ $payload->setAudience(M\all);
258281

259282
构建ios对象
260283

261-
`function: JPush/Model/android($alert, $title=null, $builder_id=null, $extras=null)`
284+
`function: JPush/Model/android($alert, $title=null, $builder_id=null, $extras=null, $category=null)`
262285

263286
构建android对象
264287

@@ -275,7 +298,7 @@ $payload->setNotification(notification('Hi,JPush'));
275298
对象不同平台的通知,需要注意以下几点:
276299

277300
1. 设置ios消息时,默认sound='',如果不需要sound,请指定sound为M\disableSound.
278-
2. 设置ios消息时,默认badge=1,如果步需要badge,请指定badge为M\disableBadge.
301+
2. 设置ios消息时,默认badge=1,如果不需要badge,请指定badge为M\disableBadge.
279302

280303
```php
281304
$payload->setNotification(M\notification('Hi, JPush',
@@ -293,12 +316,23 @@ Example:
293316
$payload->setMessage(M\message('msg content', null, null, array('key'=>'value')));
294317
```
295318
### Options Selectors
296-
`function: options($sendno=null, $time_to_live=null, $override_msg_id=null, $apns_production=null)`
319+
320+
`function: options($sendno=null, $time_to_live=null, $override_msg_id=null, $apns_production=null, $big_push_duration=null)`
297321

298322
构建options对象
323+
324+
|PARAMS|DESCRIPTION|REQUIRE|
325+
|----|----|----|
326+
|sendno|-|false|
327+
|time_to_live|离线消息保留时长(秒)。如果不填默认 1 天。不能小于 0|false|
328+
|override_msg_id|要覆盖的消息ID。必须大于 0|false|
329+
|apns_production|APNs 是否生产环境推送。默认为 True|false|
330+
|big_push_duration|大推送指定时长。规定应在这个时间内推送完成,用于“定速推送,单位:分钟|false|
331+
332+
299333
Example:
300334
```php
301-
$payload->setOptions(M\options(123456, null, null, false))
335+
$payload->setOptions(M\options(123456, null, null, false, 60))
302336
```
303337

304338
### Vaildate
@@ -309,7 +343,7 @@ $payload->setOptions(M\options(123456, null, null, false))
309343
| isGlobalExceedLength | 检测当前payload是否超出长度限定。返回true/false。(ios notification不超过220并且所有平台的notification + message不超过1200) |
310344

311345

312-
## Report
346+
## Report API
313347
`function: JPush\JPushClient::report($msg_ids)`
314348

315349
获取统计信息,msg_ids为推送API返回的 msg_id 列表,多个 msg_id 用逗号隔开,最多支持100个msg_id。具体细节可参考 [Report API][2]
@@ -350,6 +384,71 @@ try {
350384
echo 'message' . $e->getMessage() . $br;
351385
}
352386
```
387+
`function: JPush\JPushClient::messages($msg_ids)`
388+
获取指定msg_ids的详细统计报告,msg_ids为推送API返回的 msg_id 列表,多个 msg_id 用逗号隔开,最多支持100个msg_id。具体细节可参考 [Report API][2]
389+
390+
`function: JPush\JPushClient::users($time_unit, $start, $duration)`
391+
392+
获取当前应用指定时间段内的用户统计数据
393+
394+
* time_unit 时间单位,有 3 个可选:HOUR, DAY, MONTH (这三个字串有效,兼容大小写)
395+
* start 起始时间。根据 time_unit 不同,有效值是不同的。取一般的年月日时字符串形式,比如 "2014-06-06 12",即年月日用 "-" 隔开,时用空格隔开。
396+
* duration 基于起始时间的步长。即从起始时间开始持续多久。只支持查询60天以内的用户信息。
397+
398+
399+
## Device API
400+
`function: JPush\JPushClient::getDeviceTagAlias($registrationId)`
401+
402+
获取指定RegistrationId的所有属性,包含tags, alias
403+
404+
`function: JPush\JPushClient::removeDeviceTag($registrationId)`
405+
406+
移除指定RegistrationId的所有tag
407+
408+
`function: JPush\JPushClient::removeDeviceAlias($registrationId)`
409+
410+
移除指定RegistrationId的所有alias
411+
412+
`function: JPush\JPushClient::updateDeviceTagAlias($registrationId, $alias = null, $addTags = null, $removeTags = null)`
413+
414+
更新指定RegistrationId的指定属性,当前支持tags, alias
415+
416+
`function: JPush\JPushClient::getTags()`
417+
418+
获取当前应用的所有标签列表
419+
420+
`function: JPush\JPushClient::isDeviceInTag($registrationId, $tag)`
421+
422+
查询某个用户是否在tag下
423+
424+
`function: JPush\JPushClient::updateTagDevices($tag, $addDevices = null, $removeDevices = null)`
425+
对指定tag添加或者删除registrationId
426+
427+
`function: JPush\JPushClient::deleteUpdate($tag)`
428+
429+
删除指定Tag,以及与其关联的用户之间的关联关系
430+
431+
`function: JPush\JPushClient::getAliasDevices($alias, $platform = null)`
432+
433+
获取指定alias下的用户,最多输出10个
434+
435+
`function: JPush\JPushClient::deleteAlias($alias)`
436+
437+
删除指定alias,以及该alias与用户的绑定关系
438+
439+
440+
## Validate API
441+
与Push API调用方法一致,但最终不执行推送操作
442+
Example:
443+
```
444+
$result = $client->push()
445+
->setPlatform(M\all)
446+
->setAudience(M\all)
447+
->setNotification(M\notification('Hi, JPush'))
448+
->setAudience(M\audience(array('no one')))
449+
->printJSON()
450+
->validate();
451+
```
353452

354453

355454
[1]: http://docs.jpush.cn/display/dev/Push-API-v3#Push-API-v3-%E6%8E%A8%E9%80%81%E5%AF%B9%E8%B1%A1

0 commit comments

Comments
 (0)