2014-12-01 3 views
1

간단한 작업을 작성하여 푸시 알림을 나에게 보냈습니다. 코드는 다음과 같습니다.푸시 알림이 파스 클라우드 코드에 도착하지 않음

Parse.Cloud.job("testPush", function(request, status) { 
    Parse.Cloud.useMasterKey(); 
    var installationQuery = new Parse.Query(Parse.Installation); 
    installationQuery.equalTo("user", "6t1JIuNqe1"); // I triple checked - this is the value of my user in the installation table. 
    Parse.Push.send({ 
     where: installationQuery, 
     data: { 
      alert: "Test" 
     }, 
    }, { 
     success: function() { 
      console.log("The Push Test Worked!"); 
      status.success("All done with the push test!"); 
     }, error: function(error) { 
      console.error("Something bad happened " + error); 
      status.error("Something bad happened during the Parse test..."); 
     } 
    }); 
}); 

작업이 성공적으로 실행되었음을 구문 분석에 기록하지만 내 iPhone에는 알림이 표시되지 않습니다. 설정에서 확인했는데 제대로 설정되었습니다 (알림이 표시되고 배너로 표시되어야하며 알림 센터에 표시되어야하며 잠금 화면에 표시되어야합니다). 그러나 통지는 결코 나타나지 않습니다.

더 알아 보려면 무엇이 필요합니까? 내가 뭘 놓치고 있니?

+0

당신이 로그에서 모든 메시지를 볼 수 있나요? 설치, 문자열 또는 포인터의'user' 열의 데이터 유형은 무엇입니까? – eth3lbert

+0

@ eth3lbert - 예, "Push Test Worked!"라는 메시지가 나타납니다. 'user'는 포인터입니다 ... 포인터를 처리하기 위해'.equalTo()'를 부적절하게 설정 했습니까? – ArtOfWarfare

답변

1

포인터 필드는 인스턴스와 함께 작동해야합니다.

은 다음과 installationQuery.equalTo("user", "6t1JIuNqe1");를 교체하십시오 :

var user = new Parse.User(); 
user.id = '6t1JIuNqe1';  
installationQuery.equalTo('user', user); 
+0

오늘 밤 이걸 시험해보고 효과가 있는지 알려 드리겠습니다. – ArtOfWarfare

관련 문제