0

가장 단순한 것으로 보이는 악마가 있습니다. 특정 사용자에게 푸시 알림을 보내려고합니다. 이미 PFUser가 있습니다. 해당 사용자의 개체.Parse에서 특정 사용자에게 푸시 알림 보내기

// 'recipient' is the PFUser 
PFQuery *pushQuery = [PFInstallation query]; 
[pushQuery whereKey:@"owner" equalTo:recipient]; 

가 나는 또한 "사용자"와 "소유자"를 교체 시도 :

나는 다음 시도했다. 두 경우 모두 밀어 넣기가 성공한 것처럼 보이지만 (오류는보고되지 않음) 장치가 알림을받지 못합니다.

파스 (parse) 웹 콘솔에서 pushe 알림을 보낼 수 있기 때문에 장치가 올바르게 등록되고 로그인되었음을 알고 있습니다.

어떻게해야할까요?

덕분에, 프랭크

답변

0

나는이 얻을 수있는 중첩 된 쿼리를 사용하여 끝났다.

var userQuery = new Parse.Query(Parse.User); 
userQuery.equalTo('objectId', recipient); 

var pushQuery = new Parse.Query(Parse.Installation); 
pushQuery.matchesQuery('user', userQuery); 
+0

다음과 같이 번역되었지만 작동하지 않았습니다. – user332000

+0

PFQuery * userQuery = [PFUser 쿼리]; \t [userQuery whereKey : @ "objectId"equalTo : recipient.objectId]; \t \t PFQuery * pushQuery = [PFInstallation query]; \t [pushQuery whereKey : @ "user"matchesQuery : userQuery]; – user332000

+0

아, 어리석은 나. 예, 클라우드 코드 기능에서 사용한 JavaScript입니다. 대신 클라우드 코드 함수로 작성하는 것이 좋습니다. – picciano

0

좋아,이 과정은 2 단계로 진행됩니다. 사용자가 로그인하거나 계정을 만들 때

, 당신은 PFInstallation에서 "사용자"속성을 추가해야한다

[[PFInstallation currentInstallation] setObject:[PFUser currentUser] forKey:@"user"]; 
    [[PFInstallation currentInstallation] saveEventually]; 

그런 후에 만 ​​쿼리 작업을.

파스 서버가 설정해야 할 일이 없으면 많은 수동 작업이 필요합니다.

관련 문제