2013-08-02 2 views
0

나는 Urban Flyship 푸시 알림을 사용하여 한 번에 여러 명의 특정 사용자 (전체 데이터베이스가 아님)에게 메시지를 전송해야하는 애플리케이션을 보유하고 있습니다.Urban Flyship 푸시 알림 - 여러 기기에 작동합니까?

v3/push API를 사용하면 메시지를 단일 장치로 푸시 할 수 있지만 "or"구문을 사용하여 장치 목록을 지정하면 작동하지 않습니다. 다음 JSON (유효한 장치 토큰과 함께 :)을/push API에 보내면 HTTP 상태 500이 반환되므로 버그가있을 수 있습니다./push/validate의 테스트 API는 동일한 JSON을 받아들이고 OK로 간주합니다.

물론 한 번에 하나의 핸드셋 토큰을 전달하면서 여러 번 API를 루프로 호출 할 수는 있지만 비효율적이며 분명히 다중 장치 옵션이 의도적으로 배치되었습니다.

누구든지 작동하도록합니까?

{ 
    "audience": { 
    "or": [ 
     { 
     "apid": "3aec0ab4-92b1-4a6f-7218-61ea5753527c" 
     }, 
     { 
     "device_token": "8957de44dc3dcc7bc2e297162bb3f33108d1f5323dcc94b97d4038dcc9896d24" 
     } 
    ] 
    }, 
    "notification": { 
    "alert": "foo" 
    }, 
    "device_types": "all" 
} 
+0

이 시점에서 나는 왜 실제로 두 API가 다르게 작동하는지에 대한 설명을 얻기 위해 그들과 접촉하는 것을 고려할 것입니다. –

답변

1

네,이 작업이 있습니다. 저는 PHP 라이브러리를 사용하고 있지만 생성 된 페이로드는

{ 
    "audience": { 
    "or": [ 
     { 
     "apid": "dab7e9af-fff2-4437-b6f7-299321654e20" 
     }, 
     { 
     "device_token": "10ecb5256e965151b73ea374afd3a8447258d6d057a52418736a6e26bb2f7d06" 
     } 
    ] 
    }, 
    "notification": { 
    "android": { 
     "alert": "My App update", 
     "delayWhileIdle": false, 
     "extra": { 
     "feedItemId": "332" 
     } 
    }, 
    "ios": { 
     "alert": "My App update", 
     "badge": "+1", 
     "extra": { 
     "feedItemId": "332" 
     } 
    } 
    }, 
    "device_types": [ 
    "android", 
    "ios" 
    ] 
} 

입니다. 참고로, 대상 장치 플랫폼을 iOS 및 Android로 구체적으로 지정했습니다. 이 때문에 알림 노드에 대한 두 개의 특정 하위 객체 (대상인 각 플랫폼에 하나씩)가 있습니다. 간단한 알림 개체 만 사용하는 경우에는 필요하지 않을 수도 있지만 앱에 딥 링크하는 데 도움이되는 extra 노드의 값을 전달할 수 있기를 원했습니다.