2013-09-25 5 views
3

고정 된 시간에 밀어 넣기 알림 (PN)을 보내야합니다. 예를 들어 오전 8시 이전에 사용자를 깨우고 싶지 않으므로 Google에 매일 오전 9시에 PN을 제공하도록 Google에 지시하고 싶습니다.일정 밀어 넣기 알림

문제는 내 사용자가 전 세계에 퍼져있을 수 있습니다. 현지 시간이 무엇인지 말할 수 없습니다 ... Google에서 등록 된 응용 프로그램의 현지 시간으로 PN을 예약 할 수 있습니까?

PS1 : iOS의 UILocalNotification에 대해 읽었는데 (아마도 Android에서도 비슷 함) 로컬에서 설정하고 싶지는 않지만 원격 서버 (사용자 지정 데이터 사용)에서 PN을 보내고 싶습니다. 배달 시간에 관한 제한.

PS2 : 저는 Phonegap을 사용하여 응용 프로그램을 개발했으며 이미 특정 장치에 인스턴트 PN을 보낼 수 있습니다.

답변

3

알림을 전달할 때 푸시 서비스 (APNS 또는 GCM 아님)를 지정할 수 없습니다. 두 서비스 모두 가능한 한 빨리 알림을 전달하려고합니다 (장치가 인터넷에 연결되었다고 가정).

이전 문구의 유일한 예외는 GCM에서 기기가 유휴 상태 일 때 알림이 전송되지 않도록하기 위해 delay_while_idle 플래그를 사용할 수 있다는 것입니다. 이렇게하면 사용자가 기기를 사용하지 않는 동안 전송이 차단됩니다.

알림을 특정 시간대에 전달하고받는 사람 장치의 현지 표준 시간대를 고려하려면 서버에서 관리해야합니다. 앱이 기기 토큰/등록 ID를 서버에 전송하면 기기의 현지 시간대를 보낼 수 있습니다. 서버가 각 장치의 표준 시간대를 알고 원하는 시간에 알림을 보냅니다.

+0

답장을 보내 주셔서 감사합니다. 문제가 해결되지 않더라도 올바른 대답 인 것 같습니다. 조금 복잡해지면 사람들이 많이 여행하고 시간대가 바뀌는 것을 알 수 있습니다. 예를 들어 뉴욕에서 홍콩으로 여행하는 경우 ... – Adi

+1

@Adi 여러분을 환영합니다. 장치에 로컬로 시간대를 저장할 수 있습니다. 앱이 시작될 때마다 현재 시간대가 저장된 시간대와 다른지 확인합니다. 이 경우 새 시간대를 서버에 보내고 새 시간대를 로컬에 저장합니다. – Eran

+0

예, 수용 가능한 해결책이 될 수 있지만, 푸시 알림 앱을 닫은 상태로 이벤트를 푸시하지만 다시 한 번 더 좋은 해결책입니다. – Adi