ちょっと気になったのですが、これでいいのですか?このようにするためのガイドが見つかりませんが、regIds がいくつの要素を持つかがわからないため、このようにする必要があるようです。regIds は配列です。
$fields = array(
'registration_ids' => $regIds,
'data' => array( "message" => $message ),
);
編集:機密値を省略した完全なスクリプト:
<?php
$name = $_POST['name'];
$message = $_POST['message'];
$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
$url = "dburl";
$username = "dbusername";
$password = "password";
$db = "database";
mysql_connect($url, $username, $password);
mysql_select_db($db);
$sql = mysql_query("select chatId from Players natural join Accounts where account_state = 'O' and ABS(playerLat - '$latitude') < 0.1 and ABS(playerLong - '$longitude') < 0.1");
while($row = mysql_fetch_assoc($sql))
{
$regIds[] = $row;
}
mysql_close();
$apiKey = "key";
// Set POST variables
$urls = 'https://android.googleapis.com/gcm/send';
$fields = array(
'registration_ids' => $regIds,
'data' => array( "message" => $message ),
);
$headers = array(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);
//Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt( $ch, CURLOPT_URL, $urls );
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 ) );
//Execute post
$result = curl_exec($ch);
// Close connection
curl_close($ch);
echo $result;
?>
何も返さない