$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);
<?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); });