Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用PFCloud代码推送通知_Javascript_Swift_Parse Platform - Fatal编程技术网

Javascript 使用PFCloud代码推送通知

Javascript 使用PFCloud代码推送通知,javascript,swift,parse-platform,Javascript,Swift,Parse Platform,我目前正在使用back4app作为我的解析主机 使用Parse.Cloud.afterSave时,我已将推送通知正确发送到所需的设备。这样我就可以排除服务器安装问题 我还想检测行何时被删除,我相信我可以通过使用Parse.Cloud.beforeDelete函数来做到这一点 我的Parse.Cloud.beforeDelete函数如下所示 Parse.Cloud.beforeDelete("CallSession", function(request, response) { query =

我目前正在使用back4app作为我的解析主机

使用Parse.Cloud.afterSave时,我已将推送通知正确发送到所需的设备。这样我就可以排除服务器安装问题

我还想检测行何时被删除,我相信我可以通过使用Parse.Cloud.beforeDelete函数来做到这一点

我的Parse.Cloud.beforeDelete函数如下所示

Parse.Cloud.beforeDelete("CallSession", function(request, response) {
  query = new Parse.Query("CallSession");
  query.equalTo("callerID", request.object.get('callerID'));

    var recieverID = request.object.get('receiverID');
    var sessionID = request.object.get('sessionID');
    var subscriberToken = request.object.get('subscriberToken');
    var publisherToken = request.object.get('publisherToken');
    var callerTitle = request.object.get('callerTitle');
    var callerImageURL = request.object.get('callerImageURL');
    var isVideoCall = request.object.get('isVideo');
    var pushID = request.object.get('pushID');
    var callerID = request.object.get('callerID');

    var callerObjectID = request.object.get('callerObjectId');
    var publicFigureObjectID = request.object.get('publicFigureObjectId');


    Parse.Push.send({
        where: query, // Set our Installation query
        data: {
            "content-available" : 1,
            "sessionID" : sessionID,
            "subscriberToken" : subscriberToken,
            "publisherToken" : publisherToken,
            "callerTitle" : callerTitle,
            "callerID" : callerID,
            "callerObjectId" : callerObjectID,
            "publicFigureObjectId" : publicFigureObjectID,
            "callerImageURL" : callerImageURL,
            "isVideo" : isVideoCall,
            "pushID" : "endCall"

        }
    },{success: function() {
        return response.success('endcall Sent OK');
    },
        error: function(error) {

            console.log('Push AfterSave Error = ' + error);

            return response.success(error);
        },
        useMasterKey: true

    });
  });
服务器日志显示正在触发beforeDelete,但推送未发送到设备

有人知道我在上面的云函数中做错了什么吗

提前谢谢


托马斯·理查森(Thomas Richardson)

关于我可以检查的内容,您在Parse.Push.send中插入的数据量超过了Parse Server基本设置中的预设值。您可以在他们的帐户中签入:

如果要发送的不仅仅是消息,可以在数据字典中设置其他字段。有些保留字段具有特殊含义

警报:通知的消息。 徽章:只有价值 显示在应用程序图标的右上角。这是可以设置的 增加一个值或增加以增加当前值 到1点。 声音:仅应用程序中声音文件的名称 捆 可用内容:仅当您正在编写应用程序时才使用iOS 使用iOS7中引入的远程通知后台模式 a、 k.a.“后台推送”,将该值设置为1以触发 后台下载。 类别:iOS仅为服务器的标识符 未被注意​此推送通知的类别。 uri:Android 仅包含URI的可选字段。通知何时发出 打开时,启动与打开URI关联的活动。 标题:Android仅显示在Android系统托盘中的值 通知。 这是可以改进的,并且可以添加特定的需求,但是,由于您可能会查看文档,您需要配置您的应用程序以具有这些设置,并处理云代码无法处理的内容

您可能需要考虑的另一件事是检查查询的结果是否与您希望在后续代码行中使用的内容相匹配,通过调试添加一些显示查询响应内容的日志就足够了。