PHP 极光推送

   /**
     * 极光推送
     */
    public function pushMess()
    {
        header("Content-Type: text/html;charset=utf-8");
        
        Vendor("JPushck/JPush");
        ini_set("display_errors", "On");
        error_reporting(E_ALL | E_STRICT);
        $br = '<br/>';
        $app_key = 'dd1066407b044738b6479275';
        $master_secret = 'e8cc9a76d5b7a580859bcfa7';
        
        // 初始化
        $client = new \JPush($app_key, $master_secret);
        
        // 完整的推送示例,包含指定Platform,指定Alias,Tag,指定iOS,Android notification,指定Message等
        $result = $client->push()
        ->setPlatform(array('ios', 'android'))//指定特定平台
        ->addAlias('alias1')//指定别名
        ->addTag(array('tag1', 'tag2'))//指定观众的标签
        ->setNotificationAlert('Hi, JPush')//只是想简单地给所有平台推送相同的消息的话-内容
        ->addAndroidNotification('Hi, android notification', 'notification title', 1, array("key1"=>"value1", "key2"=>"value2"))
        ->addIosNotification("Hi, iOS notification", 'iOS sound', \JPush::DISABLE_BADGE, true, 'iOS category', array("key1"=>"value1", "key2"=>"value2"))
        ->setMessage("msg content", 'msg title', 'type', array("key1"=>"value1", "key2"=>"value2"))
        ->setOptions(100000, 3600, null, false)
        ->send();
        
        echo 'Result=' . json_encode($result) . $br;
        
        //$push->addAndroidNotification($alert=null, $title=null, $builderId=null, $extras=null)
        //$alert:`String` 通知内容,这里指定了,将会覆盖上级统一指定的`setNotificationAlert()`信息;内容为空则不展示到通知栏。
        //$title:`String` 通知标题,如果指定了,则通知里原来展示 App名称的地方,将展示成这个字段。
        //$builderId:`Int` 通知栏样式ID
        //$extras:`Array` 扩展字段,这里自定义 Key/value 信息,以供业务使用
        //示例:`$extras=array("key1"=>"value1", "key2"=>"value2")`
        
        //$push->addIosNotification($alert=null, $sound=null, $badge=null, $content_available=null, $category=null, $extras=null)
        //$alert:`String|Array` 通知内容,这里指定了,将会覆盖上级统一指定的`setNotificationAlert()`信息;内容为空则不展示到通知栏。支持 emoji 表情。
        //* iOS8.2及以上alert支持JSON格式,可以指定alert为一个Array,如`$alert=array("key1"=>"value1", "key2"=>"value2")`
        //$sound:`String` 通知提示声音,如果无此字段,则此消息无声音提示;有此字段,如果找到了指定的声音就播放该声音,否则播放默认声音,如果此字段为空字符串,iOS 7 为默认声音,iOS 8 为无声音。
        //* 如果为null或者不显式指定,则填充为默认值`''`空字符串
        //* 如果不想指定Sound,可以显式的指定为`JPush::DISABLE_SOUND`
        //$badge:`Int` 应用角标,如果不填,表示不改变角标数字;否则把角标数字改为指定的数字;为 0 表示清除。支持`+1`,`-1`这样的字符串,表示在原有的badge基础上进行增减。
        //* 示例:`0`, `1`, `+1`, `-1`
        //* 如果为null或者不显式指定,则填充为默认值`+1`
        //* 如果想不指定Badge,可以显式的指定为`JPush::DISABLE_BADGE`
        //$content_abaliable:`Bool` 推送唤醒,为真是表示是`Background Remote Notification`, 不指定则表示是`Remote Notification`
        //$category: `String` iOS8才支持。设置APNs payload中的"category"字段值
        //$extras: `Array` 扩展字段,这里自定义 Key/value 信息,以供业务使用
        //* 示例:`$extras=array("key1"=>"value1", "key2"=>"value2")`
        
        //$push->setMessage($msg_content, $title=null, $content_type=null, $extras=null)
        //* msg_content:`String` 消息内容本身
        //* title:`String` 消息标题
        //* content_type:`String` 消息类型
        //* extras:`Array` 扩展字段,这里自定义 Key/value 信息,以供业务使用
        //* 示例:`$extras=array("key1"=>"value1", "key2"=>"value2")`
        
        //$push->setOptions($sendno=null, $time_to_live=null, $override_msg_id=null, $apns_production=null, $big_push_duration=null)
        //* sendno:`Int` 推送序号, 纯粹用来作为 API 调用标识,API 返回时被原样返回,以方便 API 调用方匹配请求与返回。
        //* 如未指定或者指定为`null`,则随机生产一个sendno序号
        //* time\_to\_live:`Int` 离线消息保留时长(秒),推送当前用户不在线时,为该用户保留多长时间的离线消息,以便其上线时再次推送。
        //* 默认 86400 (1 天),最长 10 天。
        //* 设置为 0 表示不保留离线消息,只有推送当前在线的用户可以收到。
        //* override\_msg\_id:`Int` 要覆盖的消息ID,如果当前的推送要覆盖之前的一条推送,这里填写前一条推送的 msg_id 就会产生覆盖效果,
        //* 该 msg_id 离线收到的消息是覆盖后的内容;
        //* 即使该 msg\_id Android 端用户已经收到,如果通知栏还未清除,则新的消息内容会覆盖之前这条通知;覆盖功能起作用的时限是:1 天。如果在覆盖指定时限内该 msg\_id 不存在,则返回 1003 错误,提示不是一次有效的消息覆盖操作,当前的消息不会被推送。
        //* apns\_production:`Bool` APNs是否生产环境,True 表示推送生产环境,False 表示要推送开发环境;如果不指定则为推送生产环境。JPush 官方 API LIbrary (SDK) 默认设置为推送 “开发环境”。
        //* 如未指定或者指定为`null`, 则默认指定为`false`
        //* big\_push\_duration:`Int` 定速推送时长(分钟), 又名缓慢推送,把原本尽可能快的推送速度,降低下来,给定的n分钟内,均匀地向这次推送的目标用户推送。
        //* 最大值为1400.未设置则不是定速推送。
    }

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Back To Top

鄂ICP备17008157号-1