2017-11-26 7 views
0

현재 IOS 장치에 푸시 알림을 보내도록 laravel 공급자 서비스를 구축 중입니다. 알림을받을 수있는 샘플 앱을 만드는 방법은 this 자습서를 따랐습니다.iPhone이 다시 온라인 상태가되었을 때 원격 알림을받는 방법은 무엇입니까?

내 서버 쪽에서 밀어 넣기 알림을 처리하기 위해 this 패키지를 사용했습니다.

테스트 중에 앱은 전경/배경/비활성 모드에서 기기가 Wi-Fi/4G에 연결되면 푸시 알림을 받도록 관리합니다. 그러나 앱을 오프라인으로 보낼 때 앱에 푸시 알림을 보내면 기기를 인터넷에 다시 연결하면 알림을받지 못합니다.

사과 설명서에 따르면 APNS 서비스는 장치가 오프라인 일 때 보내고 연결이 재설정 된 후 클라이언트에 전달하는 모든 알림을 저장합니다. 기기가 오랫동안 오프라인 상태 (기간이 정확히 지정되지 않은 경우) 인 경우 알림을 삭제해야합니다. 그러나 나는 온라인 상태가되기 1 분 전부터 장치를 오프라인 상태로 유지하고 있습니다. 누구든지 해결책을 제안 할 수 있습니까?

+1

오해. 'apns-expiration' ..을 지정하지 않으면 알림은 재전송되지 않습니다.이 값이 0이 아니면 APN은 알림을 저장하고 적어도 한 번 전달하려고 시도합니다. 알림을 전달할 수없는 경우 필요에 따라 다시 시도합니다 처음. 값이 0이면 APN은 알림이 즉시 만료 된 것으로 간주하고 알림을 저장하거나 다시 배달하지 않습니다. ' – Brandon

+0

Brandon에게 감사드립니다. 내가 독서를 읽을 때 완전히 탈출했다. –

+0

그러나 위에서 언급 한 laravel 푸시 알림 패키지에 만료 기간 페이로드를 통합하는 데 문제가 있습니다. 누군가 만료 기간을 설정하는 방법을 알고 있습니까? –

답변

0

Brandon 덕분에 나는 실제로 그 문제가 무엇인지 알 수있었습니다. 다음으로 직면 한 문제는 davibennum/laravel-push-notification 패키지를 사용하여 메시지 페이로드에 알림의 만료 기간을 통합하는 방법이었습니다. 이에 관한 문서가 없기 때문에 만료 기간을 정의하는 방법을 알아 내기 위해 소스 코드를 살펴보아야했습니다. 만료 시간은 메시지 페이로드에 이런 식으로 정의하여 간단하게 설정할 수 있습니다 밝혀 :

'expire' => Carbon::now()->addDays(30) 

은 기본적으로 당신이 그 요청의 APNS 만기 헤더로 변환 될 날짜 시간 인스턴스를 전달한다.