# Ŀ¼ - [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 | ÌåÏÖÓ¦ÓýDZ꣬ £¬°Ñ½Ç±êÊý×Ö¸ÄΪָ¶¨µÄÊý×Ö£»£»£»£» £»£»Îª 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; } ```