我有一个Android应用程序,可以从PARSE.COM接收推送通知并且工作正常,现在我想从PHP发送通知,我收到了这条消息......
<?php
$APPLICATION_ID = "my application id";
$REST_API_KEY = "my api key";
$MESSAGE = "Notificación de Prueba";
if (!empty($_POST)) {
$errors = array();
foreach (array('app' => 'APPLICATION_ID', 'api' => 'REST_API_KEY', 'body' => 'MESSAGE') as $key => $var) {
if (empty($_POST[$key])) {
$errors[$var] = true;
} else {
$$var = $_POST[$key];
}
}
if (!$errors) {
$url = 'https://api.parse.com/1/push';
$data = array(
"channels" => "m01011205",
"deviceType" => 'android',
"data" => array(
"alert" => $MESSAGE,
),
);
$_data = json_encode($data);
$headers = array(
'X-Parse-Application-Id: ' . $APPLICATION_ID,
'X-Parse-REST-API-Key: ' . $REST_API_KEY,
'Content-Type: application/json',
'Content-Length: ' . strlen($_data),
);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
}
}
?><!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Parse API</title>
</head>
<body>
<?php if (isset($response)) {
echo '<h2>Response from Parse API</h2>';
echo '<pre>' . htmlspecialchars($response) . '</pre>';
echo '<hr>';
} elseif ($_POST) {
echo '<h2>Error!</h2>';
echo '<pre>';
var_dump($APPLICATION_ID, $REST_API_KEY, $MESSAGE);
echo '</pre>';
} ?>
<h2>Send Message to Parse API</h2>
<form id="parse" action="" method="post" accept-encoding="UTF-8">
<p>
<label for="app">APPLICATION_ID</label>
<input type="text" name="app" id="app" value="<?php echo htmlspecialchars($APPLICATION_ID); ?>">
</p>
<p>
<label for="api">REST_API_KEY</label>
<input type="text" name="api" id="api" value="<?php echo htmlspecialchars($REST_API_KEY); ?>">
</p>
<p>
<label for="api">REST_API_KEY</label>
<textarea name="body" id="body"><?php echo htmlspecialchars($REST_API_KEY); ?></textarea>
</p>
<p>
<input type="submit" value="send">
</p>
</form>
</body>
</html>
什么是错的,你有什么想法吗?
这是我的PHP代码
mvcd() {
# Pass all of your parameters to "mv"
mv "$@"
# Shift down all positional parameters except the last one (which should be your destination)
shift $(( $# - 1 ))
if [[ -d "${1}" ]]; then
# Change to your destination if it was a directory
cd "${1}"
else
# Otherwise, assume the destination was a file name and extract its directory component
cd "$(dirname "${1}")"
fi
}
答案 0 :(得分:0)
我通常使用Parse框架发送推送通知,因为有一个SDK和示例。
https://parse.com/docs/php/guide#push-notifications
e.g:
// Find users near a given location
$userQuery = ParseUser::query();
$userQuery->withinMiles("location", $stadiumLocation, 1.0);
// Find devices associated with these users
$pushQuery = ParseInstallation::query();
$pushQuery->matchesQuery('user', $userQuery);
// Send push notification to query
ParsePush::send(array(
"where" => $pushQuery,
"data" => array(
"alert" => "Free hotdogs at the Parse concession stand!"
)
));