Новые жетоны ввода тонов ионического ввода

Я установил все необходимые для push-уведомлений, описанные здесь.

Я регистрирую устройство при запуске, например:

// register for pushio
    $ionicPush.register().then(function(t) {
      return $ionicPush.saveToken(t, {ignore_user:true});
    }).then(function(t) {
      console.log('Token saved:', t.token);
    });

Маркер устройства записывается в журнал "Сохраненный токен: xxxxthetokenxxxx".

Теперь я отправляю push из CURL и панели Ionic.io. Статус (проверяется с CURL) сообщения 200 и никаких ошибок. Поэтому отправляется push-уведомление:

{"meta": {"request_id": "8d9c69ce-b66c-4002-8cb3-f91c57505b0f", "version": "2.0.0-beta.0", "status": 200}, "data": []}

Но мое устройство не получает уведомление. Я думаю, что это связано с функцией saveToken(). Где saveToken() сохранение токена?

Кто-нибудь знает, как это решить?

UPDATE: Я использую этот код для отправки push:

<?php $curl = curl_init();
$token = "mytoken";

curl_setopt_array($curl, array(

  CURLOPT_URL => "https://api.ionic.io/push/notifications",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => '

  {
  "tokens": "bbc654c496abc2dc42a40941ac944f0a8aeb0d5b227d523e335dbd51b71ed646",
  "profile": "getto",
  "notification": {
      "message": "Hello World!"
  }
  }',
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer $token",
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
} ?>

EDIT: Странно, что на Android токен устройства не зарегистрирован.

Ответ 1

Инициализируйте службу и зарегистрируйте свое устройство в функции запуска модуля. Вам понадобится токен устройства, зарегистрированный пользователем для отправки уведомлений пользователю.

$ionicPush.init({
  debug: true,
  onNotification: function (notification) {
    console.log('token:', notification.payload);
  },
  onRegister: function (token) {
    console.log('Device Token:', token);
    $ionicPush.saveToken(token); // persist the token in the Ionic Platform
  }
});

$ionicPush.register();

Ionic Push позволяет создавать целевые push-уведомления через панель управления (ionic.io). Вы также можете отправлять уведомления с сервера в следующем формате.

curl -X POST -H "Authorization: Bearer API_TOKEN" -H "Content-Type: application/json" -d '{
    "tokens": ["DEVICE_TOKEN"],
        "profile": "PROFILE_TAG",
        "notification": {
                "message": "Hello World!"
        "android": {
                  "title": "Hi User",
                  "message": "An update is available for your App",
                  "payload": {
                        "update": true
                  }
            }
    } }' "https://api.ionic.io/push/notifications"