设备上没有通知,但app -Android推送通知中有通知

时间:2014-05-06 07:54:34

标签: php android notifications push-notification

我的Android应用程序中有通知.....但我无法在我的设备上看到任何通知... 继承我的代码......

function androidnotify($deviceToken,$message,$app,$badge,$alerttype,$xyzid)
    {
    $apiKey = ".........";
    $url = 'https://android.googleapis.com/gcm/send';
    $regid[]=$deviceToken;
    $registrationIDs = $regid;
    $fields = array('registration_ids'=> $registrationIDs,
                               'data' => $message,
                   'badge'=> $badge,
                           'alerttype'=> $alerttype,
                'xyzid'   => $xyzid);

    $headers = array('Authorization: key=' . $apiKey,
            'Content-Type: application/json');

            $ch = curl_init();
            curl_setopt( $ch, CURLOPT_URL, $url );
            curl_setopt( $ch, CURLOPT_POST, true );
            curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
            curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
            $result = curl_exec($ch);
    }

我的设备上也需要通知......我该怎么做....

1 个答案:

答案 0 :(得分:1)

您可以从此LINK

获取GCM演示

使用PHP代码

这是一个代码

$ registatoin_ids必须是设备令牌数组(推送令牌)$ message也必须是数组

define("GOOGLE_API_KEY","API_KEY");
class GCM {
        //put your code here
        // constructor
        function __construct() {

        }

        /**
         * Sending Push Notification
         */
        public function send_notification($registatoin_ids, $message) {
            // include config
            include_once 'config.php';
            // Set POST variables
            $url = 'https://android.googleapis.com/gcm/send';

            $fields = array(
                'registration_ids' => $registatoin_ids,
                'data' => $message,
            );

            $headers = array(
                'Authorization: key=' . GOOGLE_API_KEY,
                'Content-Type: application/json'
            );
            // Open connection
            $ch = curl_init();

            // Set the url, number of POST vars, POST data
            curl_setopt($ch, CURLOPT_URL, $url);

            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

            // Disabling SSL Certificate support temporarly
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

            curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

            // Execute post
            $result = curl_exec($ch);
            if ($result === FALSE) {
                die('Curl failed: ' . curl_error($ch));
            }

            // Close connection
            curl_close($ch);
            /*echo $result/*."\n\n".json_encode($fields);*/
        }

    }

发送GCM CLASS的GCM创建对象

$gcm = new GCM();

您可以像

一样发送GCM
$gcm->send_notification(DEVICE_TOKENS_AS_ARRAY, MESSAGE_AS_ARRAY);