Я хочу отправить 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 .