# Ŀ¼ - [Init API](#init-api) - [Push API](#push-api) - [Report API](#report-api) - [Device API](#device-api) - [Schedule API](#schedule-api) - [Exception Handle](#schedule-api) > **×¢£ºPHP SDK ÖÜȫ֧³Ö namespaces µ«ÎªÀû±ã±í´ï £¬£¬£¬ÒÔÏÂÀý×Ó¶¼²»Ê¹Óà use Óï¾ä** ## Init API ÔÚŲÓÃÍÆËÍ֮ǰ £¬£¬£¬ÎÒÃDZØÐèÏȳõʼ»¯ JPushClient £¬£¬£¬Å²ÓÃÒÔÏ´úÂë¿ÉÒÔ¾ÙÐпìËÙ³õʼ»¯£º ```php $client = new \JPush\Client($app_key, $master_secret); ``` ÔÚ³õʼ»¯ JPushClient µÄʱ¼ä £¬£¬£¬¿ÉÒÔÖ¸¶¨**ÈÕ־·¾¶**£º ```php $client = new \JPush\Client($app_key, $master_secret, $log_path); ``` > ĬÈÏÈÕ־·¾¶Îª `./jpush.log`,¼´ÉúÑÄÔÚÄ¿½ñÔËÐÐĿ¼ £¬£¬£¬ÈôÊÇÏë¹Ø±ÕÈÕÖ¾ £¬£¬£¬¿ÉÒÔÖ¸¶¨Îª `null`¡£¡£¡£ ## Push API ÔÚ³õʼ»¯ JPushClient ºó £¬£¬£¬Å²ÓÃÒÔÏ´úÂ뽫·µ»ØÒ»¸öÍÆËÍ Payload ¹¹½¨Æ÷ £¬£¬£¬ËüÌṩ¸»ºñµÄAPIÀ´×ÊÖúÄã¹¹½¨ PushPayload¡£¡£¡£ ```php $push = $client->push(); ``` ͨ¹ý [JPush Push API](https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/) ÎÒÃÇÖªµÀ £¬£¬£¬Ò»¸ö PushPayload ÊÇÓÉÒÔϼ¸¸ö²¿·Ö×é³ÉµÄ£º - Cid - Platform - Audience - Notification - Message - SmsContent - Options #### Cid ```php $push->setCid($cid); ``` #### Platform ```php $push->setPlatform('all'); // OR $push->setPlatform('ios', 'android'); // OR $push->setPlatform(['ios', 'android']); ``` #### Audience ```php $push->addAllAudience(); ``` ```php $push->addTag('tag1'); // OR $push->addTag(['tag1', 'tag2']); ``` ÆäËûÖîÈç `addAlias()`, `addRegistrationId()`, `addTagAnd()`, `addTagNot()`, `addSegmentId()`, `addAbtest()` µÄʹÓÃÒªÁìÓë `addTag()` ÀàËÆ £¬£¬£¬Ôڴ˲»×ö׸Êö¡£¡£¡£ #### Notification ```php // ¼òÆÓµØ¸øËùÓÐÆ½Ì¨ÍÆËÍÏàͬµÄ alert ÐÂÎÅ $push->setNotificationAlert('alert'); ``` **iOS Notification** ```php // iosNotification($alert = '', array $notification = array()) // Êý×é $notification µÄ¼üÖ§³Ö 'sound', 'badge', 'content-available', 'mutable-content', category', 'extras' ÖеÄÒ»¸ö»ò¶à¸ö // ŲÓÃʾÀý $push->iosNotification(); // OR $push->iosNotification('hello'); // OR $push->iosNotification('hello', [ 'sound' => 'sound', 'badge' => '+1', 'extras' => [ 'key' => 'value' ] ]); ``` ²ÎÊý˵Ã÷: | ²ÎÊý | ˵Ã÷ | | --- | --- | | alert |ÌåÏÖ֪ͨÄÚÈÝ £¬£¬£¬»áÁýÕÖÉϼ¶Í³Ò»Ö¸¶¨µÄ alert ÐÅÏ¢£»£»£»£»Ä¬ÈÏÄÚÈÝ¿ÉÒÔΪ¿Õ×Ö·û´® £¬£¬£¬ÌåÏÖ²»Õ¹Ê¾µ½Í¨ÖªÀ¸, Ö§³Ö×Ö·û´®ºÍÊý×éÁ½ÖÖÐÎʽ | | sound | ÌåÏÖ֪ͨÌáÐÑÉùÒô £¬£¬£¬Ä¬ÈÏÌî³äΪ¿Õ×Ö·û´® | | badge | ÌåÏÖÓ¦ÓÃ½Ç±ê £¬£¬£¬°Ñ½Ç±êÊý×Ö¸ÄΪָ¶¨µÄÊý×Ö£»£»£»£»Îª 0 ÌåÏÖɨ³ý £¬£¬£¬Ö§³Ö '+1','-1' ÕâÑùµÄ×Ö·û´® £¬£¬£¬ÌåÏÖÔÚÔ­ÓÐµÄ badge »ù´¡ÉϾÙÐÐÔö¼õ £¬£¬£¬Ä¬ÈÏÌî³äΪ '+1' | | content-available | ÌåÏÖÍÆËͽÐÐÑ £¬£¬£¬½ö½ÓÊÜ true ÌåÏÖΪ Background Remote Notification £¬£¬£¬Èô²»ÌîĬÈÏÌåÏÖͨË×µÄ Remote Notification | | mutable-content | ÌåÏÖ֪ͨÀ©Õ¹, ½ö½ÓÊÜ true ÌåÏÖÖ§³Ö iOS10 µÄ UNNotificationServiceExtension, Èô²»ÌîĬÈÏÌåÏÖͨË×µÄ Remote Notification | | category | IOS8²ÅÖ§³Ö¡£¡£¡£ÉèÖà APNs payload ÖÐµÄ 'category' ×Ö¶ÎÖµ | | extras | ÌåÏÖÀ©Õ¹×Ö¶Î £¬£¬£¬½ÓÊÜÒ»¸öÊý×é £¬£¬£¬×Ô½ç˵ Key/value ÐÅÏ¢ÒÔ¹©ÓªÒµÊ¹Óà | **Android Notification** ```php // androidNotification($alert = '', array $notification = array()) // ŲÓÃʾÀýͬ IOS £¬£¬£¬Êý×é $notification µÄ¼üÖ§³Ö 'title', 'builder_id', 'priority', 'category', 'style', 'alert_type', 'big_text', 'inbox', 'big_pic_path', 'extras' ÖеÄÒ»¸ö»ò¶à¸ö ``` ²ÎÊý˵Ã÷: | ²ÎÊý | ˵Ã÷ | | --- | --- | | alert | ÌåÏÖ֪ͨÄÚÈÝ £¬£¬£¬»áÁýÕÖÉϼ¶Í³Ò»Ö¸¶¨µÄ alert ÐÅÏ¢£»£»£»£»Ä¬ÈÏÄÚÈÝ¿ÉÒÔΪ¿Õ×Ö·û´® £¬£¬£¬ÌåÏÖ²»Õ¹Ê¾µ½Í¨ÖªÀ¸ | | title | ÌåÏÖ֪ͨÎÊÌâ £¬£¬£¬»áÌæ»»Í¨ÖªÀïÔ­À´Õ¹Ê¾ App Ãû³ÆµÄµØ·½ | | builder_id | ÌåÏÖ֪ͨÀ¸Ñùʽ ID | | priority | ÌåÏÖ֪ͨÀ¸Õ¹ÊÕ¬ÅÏȼ¶ £¬£¬£¬Ä¬ÒÔΪ 0 £¬£¬£¬¹æÄ£Îª -2¡«2 £¬£¬£¬ÆäËûÖµ½«»á±»ºöÂÔ¶ø½ÓÄÉĬÈÏÖµ | | category | ÌåÏÖ֪ͨÀ¸ÌõÄ¿¹ýÂË»òÅÅÐò £¬£¬£¬ÍêÈ«ÒÀÀµ rom ³§ÉÌ¶Ô category µÄ´¦ÀíÕ½ÂÔ | | style | ÌåÏÖ֪ͨÀ¸ÑùʽÀàÐÍ £¬£¬£¬Ä¬ÒÔΪ 0 £¬£¬£¬ÉÐÓÐ1 £¬£¬£¬2 £¬£¬£¬3¿ÉÑ¡ £¬£¬£¬ÓÃÀ´Ö¸¶¨Ñ¡ÔñÄÄÖÖ֪ͨÀ¸Ñùʽ £¬£¬£¬ÆäËûÖµÎÞЧ¡£¡£¡£ÓÐÈýÖÖ¿ÉÑ¡»®·ÖΪ bigText=1 £¬£¬£¬Inbox=2 £¬£¬£¬bigPicture=3 | | alert_type | ÌåÏÖ֪ͨÌáÐÑ·½Ê½ £¬£¬£¬ ¿ÉÑ¡¹æÄ£Îª -1¡«7 £¬£¬£¬¶ÔÓ¦ Notification.DEFAULT_ALL = -1 »òÕß Notification.DEFAULT_SOUND = 1 £¬£¬£¬ Notification.DEFAULT_VIBRATE = 2 £¬£¬£¬ Notification.DEFAULT_LIGHTS = 4 µÄí§Òâ ¡°or¡± ×éºÏ¡£¡£¡£Ä¬ÈÏÆ¾Ö¤ -1 ´¦Àí¡£¡£¡£ | | big_text | ÌåÏÖ´óÎı¾Í¨ÖªÀ¸Ñùʽ £¬£¬£¬µ± style = 1 ʱ¿ÉÓà £¬£¬£¬ÄÚÈݻᱻ֪ͨÀ¸ÒÔ´óÎı¾µÄÐÎʽչʾ³öÀ´ £¬£¬£¬Ö§³Ö api 16 ÒÔÉ쵀 rom | | inbox | ÌåÏÖÎı¾ÌõĿ֪ͨÀ¸Ñùʽ £¬£¬£¬½ÓÊÜÒ»¸öÊý×é £¬£¬£¬µ± style = 2 ʱ¿ÉÓà £¬£¬£¬Êý×éµÄÿ¸ö key ¶ÔÓ¦µÄ value »á±»¿´³ÉÎı¾ÌõÄ¿ÖðÌõչʾ £¬£¬£¬Ö§³Ö api 16 ÒÔÉ쵀 rom | | big_pic_path | ÌåÏÖ´óͼƬ֪ͨÀ¸Ñùʽ £¬£¬£¬µ± style = 3 ʱ¿ÉÓà £¬£¬£¬¿ÉÒÔÊÇÍøÂçͼƬ url £¬£¬£¬»òÍâµØÍ¼Æ¬µÄ path £¬£¬£¬ÏÖÔÚÖ§³Ö .jpg ºÍ .png ºó׺µÄͼƬ¡£¡£¡£Í¼Æ¬ÄÚÈݻᱻ֪ͨÀ¸ÒÔ´óͼƬµÄÐÎʽչʾ³öÀ´¡£¡£¡£ÈôÊÇÊÇ http£¯https µÄ url £¬£¬£¬»á×Ô¶¯ÏÂÔØ£»£»£»£»ÈôÊÇÒªÖ¸¶¨¿ª·¢Õß×¼±¸µÄÍâµØÍ¼Æ¬¾ÍÌî sdcard µÄÏà¶Ô·¾¶ £¬£¬£¬Ö§³Ö api 16 ÒÔÉ쵀 rom | | extras | ÌåÏÖÀ©Õ¹×Ö¶Î £¬£¬£¬½ÓÊÜÒ»¸öÊý×é £¬£¬£¬×Ô½ç˵ Key/value ÐÅÏ¢ÒÔ¹©ÓªÒµÊ¹Óà | **WinPhone Notification** ```php $push->addWinPhoneNotification($alert=null, $title=null, $_open_page=null, $extras=null) ``` ²ÎÊý˵Ã÷: | ²ÎÊý | ˵Ã÷ | | --- | --- | | alert | ÌåÏÖ֪ͨÄÚÈÝ £¬£¬£¬»áÁýÕÖÉϼ¶Í³Ò»Ö¸¶¨µÄ alert ÐÅÏ¢£»£»£»£»ÄÚÈÝΪ¿ÕÔò²»Õ¹Ê¾µ½Í¨ÖªÀ¸ | | title | ֪ͨÎÊÌâ £¬£¬£¬»áÌî³äµ½ toast ÀàÐÍ text1 ×Ö¶ÎÉÏ | | _open_page | µã»÷·­¿ªµÄÒ³ÃæÃû³Æ | #### Message ```php // message($msg_content, array $msg = array()) // Êý×é $msg µÄ¼üÖ§³Ö 'title', 'content_type', 'extras' ÖеÄÒ»¸ö»ò¶à¸ö // ŲÓÃʾÀý $push->message('Hello JPush'); // OR $push->message('Hello JPush', [ 'title' => 'Hello', 'content_type' => 'text', 'extras' => [ 'key' => 'value' ] ]); ``` ²ÎÊý˵Ã÷: | ²ÎÊý | ˵Ã÷ | | --- | --- | | msg_content | ÐÂÎÅÄÚÈÝ×Ô¼º | | title | ÐÂÎÅÎÊÌâ | | content_type | ÐÂÎÅÄÚÈÝÀàÐÍ | | extras | ÌåÏÖÀ©Õ¹×Ö¶Î £¬£¬£¬½ÓÊÜÒ»¸öÊý×é £¬£¬£¬×Ô½ç˵ Key/value ÐÅÏ¢ÒÔ¹©ÓªÒµÊ¹Óà | #### Sms Message ```php $push->setSms($delay_time, $temp_id, array $temp_para = []) ``` ²ÎÊý˵Ã÷: * delay_time: ÌåÏÖ¶ÌÐÅ·¢Ë͵ÄÑÓ³Ùʱ¼ä £¬£¬£¬µ¥Î»ÎªÃë £¬£¬£¬²»¿ÉÁè¼Ý 24 Сʱ(¼´´óÓÚ¼´ÊÇ 0 СÓÚ¼´ÊÇ 86400)¡£¡£¡£½ö¶Ô android ƽ̨ÓÐÓᣡ£¡£ * temp_id: ¶ÌÐÅÔö²¹µÄÄÚÈÝÄ£°å ID¡£¡£¡£Ã»ÓÐÌîд¸Ã×ֶμ´ÌåÏÖ²»Ê¹ÓöÌÐÅÔö²¹¹¦Ð§¡£¡£¡£ * temp_para: ¶ÌÐÅÄ£°åÖеIJÎÊý ##### ÒÑÆúÓà ```php $push->setSmsMessage($content, $delay_time) ``` ²ÎÊý˵Ã÷: * content: ¶ÌÐÅÎı¾ £¬£¬£¬²»Áè¼Ý 480 ×Ö·û * delay_time: ÌåÏÖ¶ÌÐÅ·¢Ë͵ÄÑÓ³Ùʱ¼ä £¬£¬£¬µ¥Î»ÎªÃë £¬£¬£¬²»¿ÉÁè¼Ý 24 Сʱ(¼´´óÓÚ¼´ÊÇ 0 СÓÚ¼´ÊÇ 86400)¡£¡£¡£½ö¶Ô android ƽ̨ÓÐÓᣡ£¡£Ä¬ÒÔΪ 0 £¬£¬£¬ÌåÏÖÁ¬Ã¦·¢ËͶÌÐÅ #### Options ```php // options(array $opts = array()) // Êý×é $opts µÄ¼üÖ§³Ö 'sendno', 'time_to_live', 'override_msg_id', 'apns_production', 'big_push_duration' ÖеÄÒ»¸ö»ò¶à¸ö ``` ²ÎÊý˵Ã÷: | ¿ÉÑ¡Ïî | ˵Ã÷ | | --- | --- | | sendno | ÌåÏÖÍÆËÍÐòºÅ £¬£¬£¬´¿´âÓÃÀ´×÷Ϊ API ŲÓñêʶ £¬£¬£¬API ·µ»ØÊ±±»Ô­Ñù·µ»Ø £¬£¬£¬ÒÔÀû±ã API ŲÓ÷½Æ¥ÅäÇëÇóÓë·µ»Ø | | time_to_live | ÌåÏÖÀëÏßÐÂÎű£´æÊ±³¤(Ãë) £¬£¬£¬ÍÆËÍÄ¿½ñÓû§²»ÔÚÏßʱ £¬£¬£¬Îª¸ÃÓû§±£´æ¶à³¤Ê±¼äµÄÀëÏßÐÂÎÅ £¬£¬£¬ÒÔ±ãÆäÉÏÏßʱÔÙ´ÎÍÆËÍ¡£¡£¡£Ä¬ÈÏ 86400 £¨1 Ì죩 £¬£¬£¬× 10 Ìì¡£¡£¡£ÉèÖÃΪ 0 ÌåÏÖ²»±£´æÀëÏßÐÂÎÅ £¬£¬£¬Ö»ÓÐÍÆËÍÄ¿½ñÔÚÏßµÄÓû§¿ÉÒÔÊÕµ½ | | override_msg_id | ÌåÏÖÒªÁýÕÖµÄÐÂÎÅID £¬£¬£¬ÈôÊÇÄ¿½ñµÄÍÆËÍÒªÁýÕÖ֮ǰµÄÒ»ÌõÍÆËÍ £¬£¬£¬ÕâÀïÌîдǰһÌõÍÆË굀 msg_id ¾Í»á±¬·¢ÁýÕÖЧ¹û | | apns_production | ÌåÏÖ APNs ÊÇ·ñÉú²úÇéÐÎ £¬£¬£¬True ÌåÏÖÍÆËÍÉú²úÇéÐÎ £¬£¬£¬False ÌåÏÖÒªÍÆËÍ¿ª·¢ÇéÐΣ»£»£»£»ÈôÊDz»Ö¸¶¨ÕÂĬÒÔÎªÍÆËÍ¿ª·¢ÇéÐÎ | | apns_collapse_id | APNs ÐÂ֪ͨÈôÊÇÆ¥Å䵽Ŀ½ñ֪ͨÖÐÐÄÓÐÏàͬ apns-collapse-id ×ֶεÄ֪ͨ £¬£¬£¬Ôò»áÓÃÐÂ֪ͨÄÚÈÝÀ´¸üÐÂËü £¬£¬£¬²¢Ê¹ÆäÖÃÓÚ֪ͨÖÐÐÄÊ×λ£»£»£»£»collapse id ³¤¶È²»¿ÉÁè¼Ý 64 bytes| | big_push_duration | ÌåÏÖ¶¨ËÙÍÆËÍʱ³¤(·ÖÖÓ) £¬£¬£¬ÓÖÃû»ºÂýÍÆËÍ £¬£¬£¬°ÑÔ­±¾¾¡¿ÉÄÜ¿ìµÄÍÆËÍËÙÂÊ £¬£¬£¬½µµÍÏÂÀ´ £¬£¬£¬¸ø¶¨µÄ n ·ÖÖÓÄÚ £¬£¬£¬ÔȳƵØÏòÕâ´ÎÍÆË͵ÄÄ¿µÄÓû§ÍÆËÍ¡£¡£¡£×î´óֵΪ1400.δÉèÖÃÔò²»ÊǶ¨ËÙÍÆËÍ | #### Common Method ```php // ·¢ËÍÍÆËÍ // ¸ÃÒªÁìÄÚ²¿½«×Ô¶¯Å²Óù¹½¨ÒªÁì»ñÊÊÄ¿½ñ¹¹½¨¹¤¾ß £¬£¬£¬²¢×ª»¯Îª JSON Ïò JPush ·þÎñÆ÷·¢ËÍÇëÇó $push->send(); ``` > ¹¹½¨ PushPayload µÄ API ÿһ´Î¶¼»á·µ»Ø×ÔÉíµÄÒýÓà £¬£¬£¬ÒÔÊÇÎÒÃÇ¿ÉÓÃʹÓÃÁ´Ê½Å²ÓõÄÒªÁìÌá¸ß´úÂëµÄ¾«Á·ÐÔ £¬£¬£¬Èç: ```php $response = $push() ->setCid('xxxxxx') ->setPlatform(['ios', 'android']) ->addTag(['tag1', 'tag2']) ->setNotificationAlert('Hello, JPush') ->iosNotification('hello', [ 'sound' => 'sound', 'badge' => '+1', 'extras' => [ 'key' => 'value' ] ]) ->androidNotification('hello') ->message('Hello JPush', [ 'title' => 'Hello', 'content_type' => 'text', 'extras' => [ 'key' => 'value' ] ]) ->send(); // OR Ò²¿ÉÒÔÌáǰ׼±¸ºÃËùÓеIJÎÊý £¬£¬£¬È»ºóÁ´Ê½Å²Óà £¬£¬£¬ÕâÑù´úÂë¿É¶ÁÐÔ¸üºÃÒ»µã $cid = 'xxxxxx'; $platform = array('ios', 'android'); $alert = 'Hello JPush'; $tag = array('tag1', 'tag2'); $regId = array('rid1', 'rid2'); $ios_notification = array( 'sound' => 'hello jpush', 'badge' => 2, 'content-available' => true, 'category' => 'jiguang', 'extras' => array( 'key' => 'value', 'jiguang' ), ); $android_notification = array( 'title' => 'hello jpush', 'builder_id' => 2, 'extras' => array( 'key' => 'value', 'jiguang' ), ); $content = 'Hello World'; $message = array( 'title' => 'hello jpush', 'content_type' => 'text', 'extras' => array( 'key' => 'value', 'jiguang' ), ); $options = array( 'sendno' => 100, 'time_to_live' => 100, 'override_msg_id' => 100, 'big_push_duration' => 100 ); $response = $push->setCid($cid) ->setPlatform($platform) ->addTag($tag) ->addRegistrationId($regId) ->iosNotification($alert, $ios_notification) ->androidNotification($alert, $android_notification) ->message($content, $message) ->options($options) ->send(); ``` #### »ñÈ¡ Cid ```php $push->getCid($count = 1, $type = 'push'); ``` ## Report API ```php $report = $client->report(); ``` #### »ñÈ¡ËÍ´ïͳ¼Æ ```php $report->getReceived('msg_id'); // OR $report->getReceived(['msg_id1', 'msg_id2']); ``` #### ËÍ´ï״̬ÅÌÎÊ ```php $report->getMessageStatus('msg_id0', 'rid0') # OR $report->getMessageStatus('msg_id0', ['rid0', 'rid1']) #OR $report->getMessageStatus('msg_id0', ['rid0', 'rid1'], '2017-12-21') ``` #### »ñÈ¡ÐÂÎÅͳ¼Æ ```php // getMessages(getMessages($msgIds)); // ÐÂÎÅͳ¼ÆÓëËÍ´ïͳ¼ÆÒ»Ñù £¬£¬£¬½ÓÊÜÒ»¸öÊý×éµÄ²ÎÊý £¬£¬£¬ÔÚÕâÀï²»×ö׸Êö ``` #### »ñÈ¡Óû§Í³¼Æ ŲÓÃһϴúÂë¿ÉÒÔ»ñµÃÓû§Í³¼Æ ```php $report->getUsers($time_unit, $start, $duration) ``` ²ÎÊý˵Ã÷: - time_unit:`String` ʱ¼äµ¥Î», ¿ÉȡֵHOUR, DAY, MONTH - start:`String` Æðʼʱ¼ä - ÈôÊǵ¥Î»ÊÇСʱ £¬£¬£¬ÔòÆðʼʱ¼äÊÇСʱ£¨°üÀ¨Ì죩 £¬£¬£¬ÃûÌÃÀý£º2014-06-11 09 - ÈôÊǵ¥Î»ÊÇÌì £¬£¬£¬ÔòÆðʼʱ¼äÊÇÈÕÆÚ£¨Ì죩 £¬£¬£¬ÃûÌÃÀý£º2014-06-11 - ÈôÊǵ¥Î»ÊÇÔ £¬£¬£¬ÔòÆðʼʱ¼äÊÇÈÕÆÚ£¨Ô£© £¬£¬£¬ÃûÌÃÀý£º2014-06 - duration:`String` Ò»Á¬Ê±³¤ - ÈôÊǵ¥Î»ÊÇÌì £¬£¬£¬ÔòÊÇÒ»Á¬µÄÌìÊý¡£¡£¡£ÒÔ´ËÀàÍÆ - Ö»Ö§³ÖÅÌÎÊ60ÌìÒÔÄÚµÄÓû§ÐÅÏ¢ £¬£¬£¬¹ØÓÚtime_unitΪHOURµÄ £¬£¬£¬Ö»Ö§³ÖÊä³öµ±ÌìµÄͳ¼ÆÐ§¹û¡£¡£¡£ ## Device API ```php $device = $client->device(); ``` #### ²Ù×÷ Device(registration_id) ```php // ÅÌÎÊÖ¸¶¨×°±¸µÄÓÖÃûÓë±êÇ© $device->getDevices($registration_id); // ¸üÐÂÖ¸¶¨×°±¸µÄÓÖÃûÓë±êÇ© // ¸üРAlias $device->updateAlias($registration_id, 'alias'); // Ìí¼Ó tag, Ö§³Ö×Ö·û´®ºÍÊý×éÁ½ÖÖ²ÎÊý $device->addTags($registration_id, 'tag'); // OR $device->addTags($registration_id, ['tag1', 'tag2']); // ÒÆ³ý tag £¬£¬£¬Ö§³Ö×Ö·û´®ºÍÊý×éÁ½ÖÖ²ÎÊý $device->removeTags($registration_id, 'tags'); // OR $device->removeTags($registration_id, ['tag1', 'tag2']); // Çå¿ÕËùÓÐ tag $device->clearTags($registration_id); // ¸üРmobile $device->updateMoblie($registration_id, '13800138000'); // getDevicesStatus($registrationId) // »ñÈ¡ÔÚÏßÓû§µÄµÇ¼״̬£¨VIPרÊô½Ó¿Ú£©,Ö§³Ö×Ö·û´®ºÍÊý×éÁ½ÖÖ²ÎÊý $device->getDevicesStatus('rid'); // OR $device->getDevicesStatus(['rid1', 'rid2']); ``` #### ²Ù×÷±êÇ© ```php // »ñÈ¡±êÇ©Áбí $device->getTags() // ÅжÏÖ¸¶¨×°±¸ÊÇ·ñÔÚÖ¸¶¨±êǩ֮Ï $device->isDeviceInTag($registrationId, $tag); // ¸üбêÇ© // Ϊ±êÇ©Ìí¼Ó×°±¸ £¬£¬£¬Ö§³Ö×Ö·û´®ºÍÊý×éÁ½ÖÖ²ÎÊý $device->addDevicesToTag($tag, 'rid'); $device->addDevicesToTag($tag, ['rid1', 'rid2']); // Ϊ±êÇ©ÒÆ³ý×°±¸ £¬£¬£¬Ö§³Ö×Ö·û´®ºÍÊý×éÁ½ÖÖ²ÎÊý $device->removeDevicesFromTag($tag, 'rid'); $device->removeDevicesFromTag($tag, ['rid1', 'rid2']); // ɾ³ý±êÇ© $device->deleteTag('tag'); ``` #### ²Ù×÷ÓÖÃû ```php // »ñȡָ¶¨ÓÖÃûϵÄ×°±¸ $device->getAliasDevices('alias'); // ɾ³ýÓÖÃû $device->deleteAlias('alias'); ``` ## Schedule API ```php $schedule = $client->schedule(); ``` #### ½¨Éè׼ʱʹÃü ׼ʱʹÃü·ÖΪSingleÓëPeriodicalÁ½ÖÖ £¬£¬£¬¿ÉÒÔͨ¹ýŲÓÃÒÔÏÂÒªÁ콨Éè׼ʱʹÃü ```php $schedule->createSingleSchedule($name, $push_payload, $trigger) $schedule->createPeriodicalSchedule($name, $push_payload, $trigger) ``` ²ÎÊý˵Ã÷: - name: `String` ׼ʱʹÃüµÄÃû³Æ - push_payload: `PushPayload` PushµÄ¹¹½¨¹¤¾ß £¬£¬£¬Í¨¹ýPushÄ£¿£¿£¿£¿£¿éµÄ`build()`ÒªÁì»ñµÃ - trigger: `Array` ´¥·¢Æ÷¹¤¾ß #### ¸üÐÂ׼ʱʹÃü ```php $schedule->updateSingleSchedule($schedule_id, $name=null, $enabled=null, $push_payload=null, $trigger=null) $schedule->updatePeriodicalSchedule($schedule_id, $name=null, $enabled=null, $push_payload=null, $trigger=null) ``` #### ÆäËû ```php // »ñȡ׼ʱʹÃüÁбí $schedule->getSchedules($page=1); // »ñȡָ¶¨×¼Ê±Ê¹Ãü $schedule->getSchedule($schedule_id); // ɾ³ýÖ¸¶¨×¼Ê±Ê¹Ãü $schedule->deleteSchedule($schedule_id); ``` ## Exception Handle µ± API ÇëÇ󱬷¢¹ýʧʱ £¬£¬£¬SDK ½«Å׳öÒì³£ £¬£¬£¬Pushpayload Ïêϸ¹ýʧ´úÂëÇë²Î¿¼[ API ¹ýʧ´úÂë±í](https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#_19)¡£¡£¡£ PHP SDK Ö÷ÒªÅ׳öÁ½¸öÒì³£ `\JPush\Exceptions\APIConnectionException` ºÍ `\JPush\Exceptions\APIRequestException` »®·Ö¶ÔÓ¦ÇëÇóÅþÁ¬±¬·¢µÄÒì³£ºÍÇëÇóÏìÓ¦µÄÒì³£¡£¡£¡£ ÕâÁ½ÖÖÒì³£¶¼ÐèÒª²¶»ñ £¬£¬£¬Îª¼òÆÓÆð¼û £¬£¬£¬Ò²¿ÉÒÔ²¶»ñËûÃǵĸ¸ÀàÒì³£ `JPush\Exceptions\JPushException`£¨¼û README£©¡£¡£¡£ÁíÍâ APIRequestException Òì³£»£»£»£»¹ÌṩÆäËûÒªÁ칩¿ª·¢ÕßŲÓᣡ£¡£ ```php try { $pusher->send(); } catch (\JPush\Exceptions\APIConnectionException $e) { // try something here print $e; } catch (\JPush\Exceptions\APIRequestException $e) { // try something here print $e; } ```