$queryTokenGCM->bindParam(":group", $group);
            $queryTokenAPN = $handler->prepare("SELECT `deviceToken` FROM `user` WHERE length(trim(`deviceToken`))=64 and`group`=:group");
            $queryTokenAPN->bindParam(":group", $group);
        }
        if ($queryTokenGCM->execute()) {
            $countTokenGCM = $queryTokenGCM->rowCount();
            if ($countTokenGCM > 0) {
                //$gcmResults = $queryTokenGCM->fetchAll(PDO::FETCH_ASSOC);
                $gcmTokens = $queryTokenGCM->fetchAll(PDO::FETCH_COLUMN, 0);
                //echo "new line " . $gcmResults . 'deviceToken';
                //print_r(array_values($gcmResults));
                //$gcmTokens = array_column($gcmResults, 'deviceToken');
                //echo "find error1";
                //$gcmTokens = array_column($gcmResults, 'deviceToken');
                //echo "find error2";
                send_gcm_notify($gcmTokens, $message);
            }
        }
        if ($queryTokenAPN->execute()) {
            $countTokenAPN = $queryTokenAPN->rowCount();
            if ($countTokenAPN > 0) {
                //$apnResults = $queryTokenAPN->fetchAll(PDO::FETCH_ASSOC);
                //$apnTokens = array_column($apnResults, 'deviceToken');
                $apnTokens = $queryTokenAPN->fetchAll(PDO::FETCH_COLUMN, 0);
                send_apn_notify($apnTokens, $message);
            }
        }
    }
} catch (Exception $e) {
    respf("ERROR", "NULL", $e);
}
    // pass varialbe $heartrate to SQL parameter ":HeartRate"
    $query->bindParam(":message", $message);
    // pass varialbe $instantSpeed to SQL parameter ":InstantSpeed"
    if ($query->execute()) {
        //echo "it has been inserted id=" . $handler->lastInsertId();
        $results = "it has been inserted: id=" . $handler->lastInsertId();
        respf("SUCCESS", $results, "");
        //get device tokens from group
        $queryToken = $handler->prepare("SELECT `deviceToken` FROM `user` WHERE `group`=:group");
        $queryToken->bindParam(":group", $group);
        if ($queryToken->execute()) {
            //$countToken = $queryToken->rowCount();
            if ($countToken > 0) {
                while ($row = $queryToken->fetch(PDO::FETCH_ASSOC)) {
                    if (strlen($row['deviceToken']) == 140) {
                        send_gcm_notify($row['deviceToken'], $message);
                    } elseif (strlen($row['deviceToken']) == 64) {
                        send_apn_notify($row['deviceToken'], $message);
                    } else {
                        echo "no push for " . ${$row}['deviceToken'];
                    }
                }
            }
        }
        //$deviceTokens = ["APA91bEwH6Oc9s4BO1OWHutah-rB9KefrH4m-6gCoTiquxJ15Ji12b0GetHbBwp6F2PIgbHZKfREssgif6HSDqaz-Xp-eQ9sIQ56bp4pM644tgRmHn5AVwWq4D6vNx5hMqBoXRTcqjGH", "APA91bHlR9ZzGXFRzqfe4pZ-JHBLwz78vD8ftJTEf-UsoEO8dKyconSYGKouT6JGmWI9oAuqRDUsKlujwdJPuRBwFEw2ZVSke1Ech5zSWqpA5YL4rCj63TOVodLuZNuQCnRwKwfHDnGV"];
        //sendMessage($deviceTokens, $handler->lastInsertId(), "2");
    }
    //$reg_id = "APA91bGVFQzwDmP0Eb2FVf6lYKKpchcp_3Y-lnn4fq87D_d_64vBqG_XBk4qy2tihyAiBwX9Bg8Owv8xAQgELtvqIjv9TVIu96sKZCXCdAWVM4YBmOJBAJ_9OkZfFz9jGGFWx7ijMQX5";
    //$msg = "Google Cloud Messaging working well";
    //send_gcm_notify($reg_id, $msg);
} catch (Exception $e) {
// prep the bundle
function send_gcm_notify($reg_id, $message, $group)
{
    $values = array('alert' => $message, 'vibrate' => true);
    $payload = array('android' => $values);
    $events = array('callback' => [], 'trayClickLaunchedApp' => [], 'trayClickFocusedApp' => []);
    $source = array('pushType' => 'gcm', 'invocationAPIs' => [], 'bubbleParent' => true, 'showTrayNotifcation' => true, 'enabled' => false, '__propertiesDefined__' => true, 'singleCallback' => false, 'events' => $events, 'focusAppOnPush' => false, 'debug' => false, 'showAppOnTrayClick' => true, 'showTrayNotificationsWhenFocused' => true, 'apiName' => 'Ti.Module');
    $gcm = array('type' => 'callback', 'source' => $source, 'message' => $message, 'enabled' => true, 'payload' => $payload, 'bubbles' => false, 'cancelBubble' => false);
    $gcm2 = array('payload' => $payload);
    $fields = array('registration_ids' => $reg_id, 'payload' => $gcm, 'data' => $gcm2);
    $headers = array('Authorization: key=' . API_ACCESS_KEY, 'Content-Type: application/json');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    // curl_setopt( $ch, CURLOPT_POSTFIELDS, 'payload="{"alert":"you have notification","vibrate":true,"title":"testing"}"&to_ids=everyone' ) ;
    // $ch[CURLOPT_POSTFIELDS] = 'payload="{"alert":"you have notification","vibrate":true,"title":"testing"}"&to_ids="everyone"';
    //echo (json_encode ( $fields ));
    $result = curl_exec($ch);
    stripslashes($result);
    curl_close($ch);
    //echo $result;
}
$reg_id = ["APA91bH4wyCsD119OTHxMWjDtngiycUrla0dE4zc6ts4GAbvqYUev_88xx8KwHmOQCfAIfoa3EfcIBwUzoNXyQ30_1gZHUUJMj74jIHLLZsj0waf8wsiT_9xHhha9EgZAOlMtVa-0H17"];
$msg = "test gcmp from peter ";
$group = "2";
send_gcm_notify($reg_id, $msg, $group);
<?php

define("GOOGLE_API_KEY", "AIzaSyD2sYeANh3Hqd8kNYu0oHK6i1kEqmOgFi8");
define("GOOGLE_GCM_URL", "https://android.googleapis.com/gcm/send");
$regist_id = "APA91bF5cQymA-73_2cyCjPl_cKa8M-F0oFLpMOa-cqhNwpyI4LN8RXfpmzVZD79bTQnJ-2otz3f52isVeDzcNDQGH54YsKTkR5sW0r79NoHtlvR_3W5_p7CA1lEhGj7Rmx2so_mjVnaZ7EunFGQt2uG8zQDu2ynug";
//echo $reg_id;
//send_gcm_notify($reg_id, $msg);
echo "inside gcm_engine";
if (isset($_POST['message'])) {
    $msg = $_POST['message'];
    send_gcm_notify($regist_id, $msg);
    //sendMessageToRegisteredDevices($msg);
} else {
    echo "Message not set";
}
function send_gcm_notify($reg_id, $message)
{
    $fields = array('registration_ids' => array($reg_id), 'data' => array("message" => $message));
    $headers = array('Authorization: key=' . GOOGLE_API_KEY, 'Content-Type: application/json');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, GOOGLE_GCM_URL);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('Problem occurred: ' . curl_error($ch));
    }
    curl_close($ch);
Beispiel #5
0
<?php

$app->get('/gcm', function () {
    define("GOOGLE_API_KEY", "YOUR_GOOGLE_API_KEY");
    define("GOOGLE_GCM_URL", "https://android.googleapis.com/gcm/send");
    function send_gcm_notify($reg_id, $message)
    {
        $fields = array('registration_ids' => array($reg_id), 'data' => array("message" => $message));
        $headers = array('Authorization: key=' . GOOGLE_API_KEY, 'Content-Type: application/json');
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, GOOGLE_GCM_URL);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
        $result = curl_exec($ch);
        if ($result === FALSE) {
            die('Problem occurred: ' . curl_error($ch));
        }
        curl_close($ch);
        echo $result;
    }
    $reg_id = "APA91bEjIOPYI1iWCwCwO_HJsPCoW_9PNZMN0FxlE_Ex-LShDTcF5GmcnDWVa5FSuw_YlOCBU0opN4ico1Om3XtORY9ActssMz2WOgm7sXII0ZilKJMYmY8tlOrTnUZqHONkVnjbQekmSfVW56d0OjY8Ft3MEIw_HA";
    $msg = "Que pasa for";
    send_gcm_notify($reg_id, $msg);
});