簡體   English   中英

客戶端推送通知

[英]Push Notification from client

我正在測試推送通知,這樣當我按下應用程序上的按鈕時,所有安裝了相同應用程序的其他人都會收到推送通知。 發送通知的人一無所獲。

我一直在這里尋找類似的查詢,但無法正常工作。 就推送本身而言,我的日志顯示“已發送解析推送”。 但是我沒有在任何物理設備或仿真器上收到任何通知。

請注意,我正在使用Parse ,並且設置正確完成,並且能夠從Parse.com網站發送通知。 僅在嘗試從客戶端設備發送時遇到麻煩。

我是否應該為此顯式創建頻道和用戶? 我嘗試過,但只能選擇創建有條件的受眾。

public void sendParse(View view){
    try {
        // Associate the device with a user
        ParseInstallation installation = ParseInstallation.getCurrentInstallation();
        installation.put("user", ParseUser.getCurrentUser());
        installation.saveInBackground();

        ParseQuery pushQuery = ParseInstallation.getQuery();
        pushQuery.whereEqualTo("channels", "Everyone");
        pushQuery.whereNotEqualTo("user", ParseUser.getCurrentUser());
        pushQuery.whereEqualTo("user", ParseUser.getCurrentUser());

        ParsePush push = new ParsePush();
        push.setQuery(pushQuery);
        push.setMessage("Testing 1 2 3...");
        push.sendInBackground(new SendCallback() {
            @Override
            public void done(ParseException e) {
                    Log.i("zx", "Push is sent!");
                }
            });
    } catch (Exception e) {
        e.printStackTrace();
    }
}

在你的代碼中

pushQuery.whereNotEqualTo("user", ParseUser.getCurrentUser());
pushQuery.whereEqualTo("user", ParseUser.getCurrentUser());

這兩行不兼容,應刪除“ whereEqualTo”行。

您可以做的另一件事是在回調中:

 ...
public void done(ParseException e){
            if(e!=null)
                e.printStackTrace();
...
}

檢查是否有錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM