Intereting Posts
получить значение «src» iframe в PHP? как использовать imagik annotateImage для китайского текста? Новая установка Symfony 3: не удалось открыть входной файл: приложение / консоль в установке композитора дезинфицирующее средство для строки для имени файла В PHP почему мои переменные сеанса сохраняются в качестве ссылок? Пользовательские функции DQL в doctrine2 Ошибка анализа: ошибка синтаксиса, неожиданный $ end в home / search.php в строке 65 Что это за ошибка? «Ошибка базы данных: данные усечены для столбца« column_name »в строке 1 неожиданный приведение в boolean? Передача данных из одного текстового поля в другой на другой странице с помощью POST jquery autocomplete plugin – fetch works – fetchAll не делает Как отправить форму с помощью PHP? как перебирать не-английские имена файлов в PHP Как получить экземпляр Zend \ Db \ Adapter из модели? (ZF2) Проверка того, реализует ли класс экземпляра интерфейс?

Отправлять push-уведомление конкретному пользователю с помощью Parse

Я хочу отправить push-уведомление конкретному пользователю с помощью PHP. Я знаю, что этот вопрос задают много раз. Но моя проблема немного другая. Push-уведомления отправляются в моем случае, но для всех пользователей, хотя я указал, что он посылает push определенному пользователю,

Для этого я сохраняю уникальный идентификатор в таблице установки Parse.com, когда пользователь устанавливает приложение на свое устройство Android. Это код в приложении Android:

Parse.initialize(this, "XXXX", "XXXX"); ParseInstallation installation = ParseInstallation.getCurrentInstallation(); installation.put("device_id", Secure.getString(getContentResolver(), Secure.ANDROID_ID)); installation.saveInBackground(); 

Это прекрасно работает. Я могу увидеть идентификатор в таблице установки parse.

Теперь это скрипт php, который я использую для отправки push-уведомления на определенный идентификатор устройства. Он отправляет push-уведомление, но всем пользователям.

 require_once('autoload.php'); use Parse\ParseInstallation; use Parse\ParsePush; use Parse\ParseClient; ParseClient::initialize( 'XXXXXX', 'XXXXX', 'XXXXX' ); function sendPush($query){ $notification = "Test notification!"; $data = array("alert" => $notification); ParsePush::send(array( "where" => $query, "data" => $data )); } $query = ParseInstallation::query(); $query->equalTo("device_id", "XXXXXX"); sendPush($query); 

После многого поиска решения я проверил их страницы проблем github и в разделе «закрытые вопросы» я обнаружил аналогичную проблему . Решение состояло в том, чтобы просто обновить SDK. Потому что они сделали опечатку в ParsePush.php . Итак, если у кого-то возникла эта проблема, обновите свой Parse PHP SDK .