You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

82 lines
3.4 KiB

  1. <?php
  2. namespace backend\common\push;
  3. //jpush.php �������ͷ��� �õ�curl��������
  4. class jpush
  5. {
  6. private $_masterSecret = '9f0dfe4da5893fb6065b1d08';
  7. private $_appkeys = '0fdf462e3c9d6ddaa525a4fd';
  8. /**
  9. * ���캯��
  10. * @param string $username
  11. * @param string $password
  12. * @param string $appkeys
  13. */
  14. function __construct($masterSecret = '', $appkeys = '')
  15. {
  16. $this->_masterSecret = $masterSecret;
  17. $this->_appkeys = $appkeys;
  18. }
  19. /**
  20. * ģ��post����url����
  21. * @param string $url
  22. * @param string $param
  23. */
  24. function request_post($url = '', $param = '')
  25. {
  26. if (empty($url) || empty($param)) {
  27. return false;
  28. }
  29. $postUrl = $url;
  30. $curlPost = $param;
  31. $ch = curl_init();//��ʼ��curl
  32. curl_setopt($ch, CURLOPT_URL, $postUrl);//ץȡָ����ҳ
  33. curl_setopt($ch, CURLOPT_HEADER, 0);//����header
  34. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//Ҫ����Ϊ�ַ����������Ļ��
  35. curl_setopt($ch, CURLOPT_POST, 1);//post�ύ��ʽ
  36. curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
  37. $data = curl_exec($ch);//����curl
  38. curl_close($ch);
  39. return $data;
  40. }
  41. /**
  42. * ����
  43. * @param int $sendno ���ͱ�š��ɿ������Լ�ά������ʶһ�η�������
  44. * @param int $receiver_type ���������͡�1��ָ���� IMEI����ʱ����ָ�� appKeys��2��ָ���� tag��3��ָ���� alias��4�� ��ָ�� appkey �������û�������Ϣ��
  45. * @param string $receiver_value ���ͷ�Χֵ���� receiver_type���Ӧ�� 1��IMEIֻ֧��һ�� 2��tag ֧�ֶ����ʹ�� "," ����� 3��alias ֧�ֶ����ʹ�� "," ����� 4������Ҫ��
  46. * @param int $msg_type ������Ϣ�����ͣ�1��֪ͨ 2���Զ�����Ϣ
  47. * @param string $msg_content ������Ϣ�����ݡ� �� msg_type ���Ӧ��ֵ
  48. * @param string $platform Ŀ���û��ն��ֻ��ƽ̨���ͣ��磺 android, ios �����ʹ�ö��ŷָ�
  49. */
  50. function send($sendno = 0, $receiver_type = 1, $receiver_value = '', $msg_type = 1, $msg_content = '', $platform = 'android')
  51. {
  52. $url = 'http://api.jpush.cn:8800/sendmsg/v2/sendmsg';
  53. $param = '';
  54. $param .= '&sendno=' . $sendno;
  55. $appkeys = $this->_appkeys;
  56. $param .= '&app_key=' . $appkeys;
  57. $param .= '&receiver_type=' . $receiver_type;
  58. $param .= '&receiver_value=' . $receiver_value;
  59. $masterSecret = $this->_masterSecret;
  60. $verification_code = md5($sendno . $receiver_type . $receiver_value . $masterSecret);
  61. $param .= '&verification_code=' . $verification_code;
  62. $param .= '&msg_type=' . $msg_type;
  63. $param .= '&msg_content=' . $msg_content;
  64. $param .= '&platform=' . $platform;
  65. $res = $this->request_post($url, $param);
  66. if ($res === false) {
  67. return false;
  68. }
  69. $res_arr = json_decode($res, true);
  70. return $res_arr;
  71. }
  72. }
  73. ?>