解析云代码推送通知不起作用

Posted

技术标签:

【中文标题】解析云代码推送通知不起作用【英文标题】:parse cloud code push notifications not working 【发布时间】:2015-03-28 12:32:13 【问题描述】:

我正在做一个项目,我决定使用云代码将这些用户发送给用户推送通知。所以这就是我想做的:

创建/保存新行时,然后从“toUser”列中获取内容,即Pointer<_User>,然后一旦我从“toUser”列中获取内容,我想发送推送通知该用户名,并且用户名在“用户名”下作为“_User”类中的字符串可用。

这是我尝试使用的代码:

 Parse.Cloud.afterSave("CustomMessage", function(request, response) 

      var toUser = request.object.get('toUser');

      var pushQuery = new Parse.Query(Parse.Installation);
      pushQuery.equalTo('toUser', toUser);

      Parse.Push.send(
        where: pushQuery, // Set our Installation query
        data: 
          alert: "You've got a new message from " + toUser
        
      , 
        success: function() 
          // Push was successful
          response.success();
        ,
        error: function(error) 
          throw "Got an error " + error.code + " : " + error.message;
          response.error();
        
      );
    );

由于某种原因,此代码不适用于我。它向 parse 发送推送通知,内容如下:

有人可以告诉我怎么做吗?

感谢您的帮助,

armanb21

【问题讨论】:

【参考方案1】:

对于 nofity 用户,您需要链接 _Installation 和 _User 类。 在我的应用程序中,我在 _User 类中添加了一个用户列。

// Notify
var query = new Parse.Query(Parse.Installation);
    query.equalTo('user', request.object.get('toUser'));

    Parse.Push.send(
        'where': query,
        'data': 
            'alert': "You've got a new message from " + toUser
        
    ,
    
        success: function() 
            // Push was successful
        ,
        error: function(error) 
            // Handle error
        
    );

【讨论】:

链接 _Installation 和 _User 类是什么意思?在我的用户类中,我有一个用户名字符串?可以吗?感谢您的帮助,armanb21。 嗨@Bluety,这没用。我的代码在 [这里] (gist.github.com/armanb21/997fe0a53483f37ca189) 我按照您的指示进行操作。虽然,我不确定链接部分。通知在 Parse 上,但从未在 iPhone 上发送。我确实在控制台上收到此错误:2015-03-28 21:58:33.787 Happy Day[22794:814640] 错误:没有结果与查询匹配(代码:101,版本:1.4.1)。你能帮帮我吗因为这是我多年来一直想做的事情。我真的很感激。谢谢,armanb21。 要链接 _Installation 和 _User 类,我建议您使用指针而不是用户名字符串。 保存用户指针:'__type': 'Pointer', 'className': '_User', 'objectId': XXXXX。您可以用指针替换用户名 在保存消息的 CustomMessages 类中,我有一个指向 _User 的用户列和一个指向 _User 的 toUser 列。 toUser 列确定接收消息的人,而用户列确定发送消息的人。字符串 username 实际上在另一个类 _User 中。如果我将 _User 中的用户名字符串替换为指针,我会将它指向什么?他们是我可以遵循的教程还是说明,因为我是 Parse 的新手,所以更清楚。感谢您的帮助!

以上是关于解析云代码推送通知不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Android 解析推送通知和新 GCM 生成错误的设备令牌并解析推送通知不起作用

Android:使用 ParsePushBroadcastReceiver 解析推送通知不起作用

Android解析推送通知在某些设备上不起作用

Firebase 推送通知在几周后不起作用

推送通知不起作用 / Heroku-mLab

推送通知不起作用