본문 바로가기
What I Read

[ Korean FE Articles ] 웹 푸시는 이제 iOS17에서 사용할만합니다

by ウリ김영은 2023. 10. 24.

요약)

더 이상 플래그/실험적 기능이 필요하지 않습니다.

웹 푸시를 지원하력 할 때 가장 큰 문제는 iOS 16에서 API가 기본적으로 비활성화되어 있다는 점입니다. 다행히 iOS17부터는 기본적으로 활성화되어 있습니다.

홈 화면에 추가는 여전히 필요하며, 여전히 알려지지 않았습니다.

사용자가 홈 화면에 추가되어 있거나, 홈 화면에서 실행된 웹앱만이 웹 푸시를 활성화하는 데 필요한 모든 API를 활용할 수 있다.

=> 남용 방지 but 사용성에 대한 효과를 제한

이제 (대부분) 기능 탐지가 가능합니다.

iOS 16의 웹 푸시는 위의 제한 사항이 적용되었을 때 API 사용이 가능하지만 효과적으로 구현할 수 없었습니다. 다행히 이 문제는 해결된 것으로 보입니다.

// 서비스 워커가 지원됩니다
if(!"serviceWorker" in navigator){
  return;
}

// 웹 푸시가 지원됩니다
const registration = await navigator.serviceWorker.ready;
if(!"pushManager" in registration){
  return
}

사용자에게 이 기능을 사용할 수 있다는 안내를 제공하려는 경우엔 navigator.serviceWorker는 존재하지만 registration.pushManager는 존재하지 않으므로 코드에 몇 가지 검사를 추가해야 합니다. 하지만 다른 브라우저에서는 서비스 워커만 지원하고 웹 푸시는 지원하지 않기 때문에, 이를 감지할 수 있는 명확한 방법을 찾지 못해 브라우저 스니핑에 의존하여 도움말 컨텍스트를 표시할 수 있었습니다.

찾아 볼 키워드

웹 푸시 , 서비스 워커, 푸시매니저, 브라우저 스니핑


번역문)

https://velog.io/@eunbinn/web-push-ios17?utm_source=substack&utm_medium=email

 

[번역] 웹 푸시는 이제 iOS 17에서 사용할만합니다

올해 초 애플에서 웹 푸시에 대한 지원을 발표하며 많은 기대를 모았었는데요, 실제로 구현했을 때 겪을 수 있는 제한 사항들과 이들이 iOS 17에서 얼마나 개선되었는지 실제 진행한 프로젝트를

velog.io