Я разрабатываю веб-приложение (используя GAE для PHP), которое уведомляет клиентов Android (через GCM - Google Cloud Messaging), когда какой-либо контент доступен для загрузки.
Следующий PHP script должен выполнить работу:
$json = array(
'data' => array( ... ),
'registration_ids' => array( ... )
);
$data = json_encode( $json );
$context = array(
'http' => array(
'method' => 'post',
'header' => 'Authorization: key=MY_SECRET_KEY' . "\r\n" .
'Content-Type: application/json' . "\r\n",
'content' => $data
)
);
$context = @stream_context_create($context);
$result = @file_get_contents("https://android.googleapis.com/gcm/send", false, $context);
Приведенный выше код работает правильно, когда приложение развернуто, но не выполняйте его в локальной среде разработки.
В локальной среде разработки $result
есть null
и file_get_contents
"echo" следующее предупреждение failed to open stream: HTTP request failed! HTTP/1.0 405 Method Not Allowed
.