2

새로운 기능인 iOS 10에서 이미 제공 한 알림을 업데이트하려고합니다. firebase를 통해 푸시 알림을 보내려는 API 호출을 사용하고 있습니다.전달 된 알림 업데이트 10

A가 온라인으로 통지해야 오면 "A는 온라인" b는 온라인 통지의 메시지를 업데이트해야합니다 오는 경우에 "a와 b가 온라인" 온라인 통지의 메시지에 "는 업데이트해야합니다 C는 또한 온다면, b와 c는 온라인 " 등등 ...

이 질문의 답을 사용했습니다. How can I removed previously delivered notifications when a new notification arrives with UNUserNotificationCenterDelegate in iOS 10?. 백엔드가 알림을 보낼 때마다 willPresentNotification에 로직을 작성하여 필요한 정확한 메시지를 얻고 기존 알림 메시지를 업데이트합니다.

하지만 앱이 전경 또는 배경에있는 경우에만 작동합니다. 앱이 종료되면 프론트 엔드에는 알림 메시지를 업데이트하기 위해 실행할 수있는 것이 없습니다. 따라서 백엔드가 알림을 보낼 때마다

나는 "온라인 상태", "온라인 상태"및 "온라인 상태"라는 별개의 알림을받습니다.

그래서 백엔드에서 원하는 동작을 얻는 방법 ?? 내가 푸시 한 알림의 식별자를 db에 저장하고이를 사용하여 메시지를 원격으로 업데이트해야합니까 ?? iOS는 백엔드 서버가 원격 장치의 알림 센터에서 알림 세부 정보를 얻을 수 있도록 허용합니까 ?? 백엔드에서 식별자를 사용하면 메시지가 적절하게 업데이트됩니까 ??

답변

2

때마다 그냥 같은identifier를 사용하여 ... 업데이트 통지를 생성 해 주셔서 감사합니다. 자세한 내용은 WWDC 비디오에 대한 moment을 참조하십시오.

위의 대답은 ... 지역 통지하지만 당신은 원격 통지를 찾고입니다

아직도 아이디어를 얻을 같은 순간을 볼 수 ... 유일한 차이점은 지역 알림 당신 당신이 원격 알림 identifier을 ...이 apns-collapse-id 헤더 : 그래서 당신이 새로운 하나를 보내 apns-collapse-id에 값 각 시간을 제공

enter image description here

이 유를 것 이전 것을 pdate하십시오. 분명히 사용자가 앱에있는 경우 이미 알림을 받았기 때문에 운이 없어진 것입니다. 이것은 사용자가 알림을 아직 열지 않은 경우 (앱에있는 경우도 해당)에만 작동합니다. 그들이 그것을 열면 새로운 알림이 전송됩니다. 같은 collapse identifier

apns-collapse-id

여러 알림 단일 알림으로 사용자에게 표시됩니다. 이 키의 값은 이 64 바이트를 초과하면 안됩니다. 자세한 내용은 Quality of Service, Store-and-Forward, and Coalesced Notifications을 참조하십시오.

From Apple docs:

유사한 통지의 유착 *, 당신은 알림 요청 내에서 붕괴 식별자를 포함 할 수 있도록합니다. 일반적으로 장치가 온라인 일 때 APN 에 보내는 각 알림 요청은 장치에 알림을 전달합니다. 그러나 apns-collapse-id 키가 HTTP/2 요청 헤더에있는 경우 APN 은 해당 키의 값이 동일한 요청을 통합합니다. 예를 들어, 동일한 헤드 라인을 두 번 보내는 뉴스 서비스는 두 요청에 대해 동일한 축소 식별자 값을 사용할 수 있습니다. 그런 다음 APN은 두 개의 요청을 장치에 대한 단일 알림으로 통합합니다. apns-collapse-id 키에 대한 자세한 내용.


* : 그래서, 당신은 백엔드에서 의미 무엇이든 우리가 2 시간을 보낼 페이로드에, 우리는 그것에 식별자 태그를 추가 할 수 있으며이 자동으로 기존을 업데이트 함께 모여 하나의 질량 전체

+0

을 형성 장치에 대한 알림 ?? – RAM

+0

@RAM 좋은 질문입니다. 내 업데이트보기 – Honey