使用 Parse 向特定用户发送推送通知

2021-12-30 00:00:00 php android parse-platform

我想使用 PHP 向特定用户发送推送通知.我知道这个问题被问了很多次.但我的问题有点不同.在我的情况下,推送通知是发送给所有用户的,即使我已将其指定为向特定用户发送推送,

I want to send push notification to a specific user using PHP. I know this question is asked many times. But my problem is little different. The push notifications are sent in my case, but to all users even though I have specified it to send push to a particular user,

为此,每当用户在其 Android 设备上安装应用程序时,我都会在 Parse.com 的安装表中保存一个唯一 ID.这是android应用程序中的代码:

For that I am saving a unique ID in Parse.com 's installation table whenever user installs app on their android device. This is the code in the android app :

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

这很好用.我可以在解析器的安装表中看到 id.

This works fine. I can see the id in the parse's installation table.

现在,这是我用来向特定设备 ID 发送推送通知的 php 脚本.它确实会发送推送通知,但会发送给所有用户.

Now, this is the php script I'm using to send push notification to specific device id. It does send the push notification, but to all users.

require_once('autoload.php');

use ParseParseInstallation;
use ParseParsePush;
use ParseParseClient;

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.

After searching a lot for a solution, I checked their github issues page and in the 'closed issues' section I found out a similar issue. The solution was to just update the SDK. Because they had made a typo in the ParsePush.php. So, if anyone is having this issue, please update your Parse PHP SDK.

相关文章