자유 게시판

2024.11.08 20:12

(내용추가) iOS 웹 푸시 개발 방향성에 대해서 알려드려요.

https://rebuilder.co.kr/free/593


위 글에서 작성했듯이, iOS(아이폰, 아이패드) 사용자에게 푸시알림을 제공할 수 있도록 웹푸시 플러그인을 제작하고 있습니다.

iOS 정책상 웹푸시는 사용자가 "홈화면에 추가" 작업을 통해 웹앱으로 사용할 경우에만 푸시를 받도록 되어있습니다.

(푸시 권한 요청 자체가 웹 앱에서만 작동 됩니다.)


그런데 웹푸시 특성상 VAPID KEY(공개키, 비밀키)를 통해 작동되는 로직 특성상 가장 간단하게 구현할 수 있는 방법이

Node.js로 서버를 가동하는것이라고 판단 하였습니다.

그런데 일반 사용자들이 단지 푸시 작동을 위해서 Node.js 서버를 구매하는것이 너무 비효율적이다고 판단하여

중계서버를 만들어 가동해야겠다 생각했습니다.


최소한의 사양으로 운용할 수 있는 환경을 세팅하다보니 월 22,000원이더라구요.

물론, 해당 플러그인을 사용하는데 있어서 비용적인 부담은 절대 드리지 않을 방향으로 생각하고 있습니다.

(제가 알기로는) 그누보드에서의 웹푸시 환경이 생각보다 많지는 않은것으로 알고 있어요.

리빌더에서 사용할 수 있는 플러그인 형태로 제작하여, 리빌더 사용자가 많아져 더 좋은 자료들이 공유되는 그런 환경이 되었으면 하는 마음입니다.


서론은 여기서 끝내고, 어떻게 운영 그리고 작동될것인지에 대한 방향을 말씀 드리겠습니다.

(물론 초안이고 달라질수도 있기는 합니다.)



1. 플러그인을 설치한 사용자는 관리자 페이지에서 발급받은 VAPID KEY를 중계서버로 전송하고 중계서버에서 해당 키를 저장합니다.

(추후 관리자 페이지에서 키 발급 절차를 간소화 할 예정입니다. 또 리빌더측에서 허용한다면 웹푸시 관리 페이지는 관리자페이지-빌더설정 내에 제공하고자 합니다.)


2. 모바일 기기에서 접속시 홈화면에 추가를 유도할 장치를 제공할 예정입니다. 웹앱으로 접속하여 로그인한 대상을 통해 푸시 권한 승인을 유도할 페이지를 만들 예정입니다.

(iOS 정책상 사용자의 클릭 이벤트가 있어야, 푸시권한을 요청할 수 있습니다. 혹은 제가 잘못알고 있을수도 있습니다.)


3. 홈페이지가 운영되는 개인의 호스팅에 사용자의 푸시 수신을 위한 토큰정보를 저장합니다.

(중계서버에서 토큰정보를 저장하지 않습니다.)


4. 푸시를 발송하기 위해 PHP 함수로 코드를 제공할 예정입니다. 홈페이지를 운영하는 관리자께서 필요한 부분에 해당 함수를 활용하여 푸시가 발송되도록 처리합니다.

(혹은 리빌더 알림 부분과 연동하여 작동되도록 할 예정입니다. 리빌더 코어 수정을 최소화 할 수 있다는 가정하에)



아마 APK 혹은 플레이스토어 배포가 어려운 사용자를 배려하여 iOS에 국한되지 않은 웹푸시를 지원하는 환경이라면 모두 작동하게 제작할 예정입니다.

홈페이지 이용자는 여러 기기의 토큰을 호스팅에 등록할 수 있도록 할 예정입니다.



초안이기 때문에 내용이 달라질수는 있습니다. 또 개발기간이 얼마나 걸릴지 모르겠습니다.

하지만 저도 필요한 기능이기 때문에 개발은 이루어질 겁니다.


얕은 마음으로나마 기대해주신다면 그 힘으로 개발해보겠습니다.


감사합니다.





작업 현황 (실시간 수정)

1. 그누보드 관리자 페이지에서 버튼 하나로 중계서버로부터 키발급 및 호스팅 서버 키 추가 완료)

2. 보안을 위해 해시값을 통해 임의로 중계서버 접근시 접속 차단 작업 완료

  • 공유링크 복사
    미니홈 쪽지 구독하기
    구독하고 알림받기

    댓글목록

    profile_image
    리빌더미니홈 1:1 대화하기  오래 전

    기대됩니다.
    마켓이 오픈하면 거기서 서비스를 하셔도 될것같습니다.
    노임이 만만치 않은 작업이 될것같습니다.

    2024-11-08 20:40

    profile_image
    미키손미니홈 1:1 대화하기  오래 전

    마켓에 오픈 해주세요^^

    2024-11-08 23:01

    profile_image
    no_profile 팡야미니홈 1:1 대화하기  오래 전

    감사합니다!!

    2024-11-09 00:43

    profile_image
    no_profile 라엘미니홈 1:1 대화하기  오래 전

    firebase 웹푸시 검토해보셔요.
    장점은 무료이고 별도의 푸시서버 운영이 필요없다는것이고, 단점은 외부서비스(google firebase) 의존성이 생긴다는 것입니다.

    2024-11-09 14:10

    profile_image
    HUMHAE미니홈 1:1 대화하기  오래 전

    iOS 앱개발을 할때 FCM 사용을 위해서 사용해본 기억이 있어요.
    말씀하신대로 의존성 부분의 문제도 있지만, 저 뿐만이 아닌 다수를 위한 플러그인을 개발함에 있어서 가능하면 원클릭으로 환경이 갖추어지는 플러그인 개발에 초점을 좀 더 둬보고자 합니다. 무엇보다 node.js를 스스로 좀 더 익혀보고자 하는 욕심도 있습니다 ㅎㅎ... 좋은 의견 감사드립니다!

    2024-11-11 09:15