Появилась задача отправлять на iphone оповещения. Конечно, было бы проще сделать это обычным email-ом, но клиент настоял именно на push-е. Поэтому пришлось пользоваться поиском. К моему удивлению ни на хабре, ни в русской части интернета рабочего примера, как делать бесплатный push, не оказалось. Надо бы это исправить.
Нам потребуется установить бесплатное приложение Boxcar 2, так же в нашем скрипте должна быть поддержка CURL.
Под катом представлено пошаговое руководство и пример на php.
Шаг 1. Устанавливаем на iphone Boxcar 2
Шаг 2. Берем Access Token из настроек
- Идем в приложении в Settings
- Скролим вниз до одноименного пункта: Access token и копируем
- Тут можно посмотреть в картинках
Шаг 3. В нашем скрипте добавляем следующее команду CURL:
curl -d "user_credentials=ACCESS_TOKEN"
-d "notification[title]=message title"
-d "notification[long_message]=<b>Some text or HTML for the full layout page notification</b>"
-d "notification[sound]=bird-1"
-d "notification[source_name]=My own alert"
https://new.boxcar.io/api/notifications
Параметры имеют следующие значения:
- user_credentials — ваш Access token из ш.2
- title — заголовок сообщения
- long_message — тело сообщения. Поддерживает HTML
- sound — звук. Если не заполнять, то придет без звука. Возможные значения смотрим в справке
- source_name — название источника. Лично я поставил имя сайта
Понятно, что это нужно написать на вашем языке программирование. Например, вот так это выглядит на php:
function boxcar($title,$message){
curl_setopt_array(
$curl = curl_init(),
array(
CURLOPT_URL => "https://new.boxcar.io/api/notifications",
CURLOPT_POSTFIELDS => array(
"user_credentials" => 'ТУТ ВАШ Access Token',
"notification[title]" => $title,
"notification[long_message]" => $message,
"notification[sound]" => "bird-1",
"notification[source_name]" => "test"
)));
$ret = curl_exec($curl);
curl_close($curl);
return $ret;
}
boxcar('Hello World','The world is mine! <b>He-he-he</b>');
По сути это перевод примера из справки, но я надеюсь кому-то он сэкономит время при поиске.
Автор: galk_in