6

모바일 앱 개발 (이차적이지만 관련성이 없음), Ruby on Rails 5에서 개발 된 백엔드로 뒷받침되는, 이론적 인 내용이므로 관련성이 없습니다. 질문/문제.모바일 앱 백엔드에서 읽기 알림을 처리하는 방법

모바일 응용 프로그램의 사용자가 로그인 할 수 있는지 여부 (사용자가 로그인하지 않은 사용자의 절반은 기능에 액세스 할 수 있음)와 통지 그 자체와 읽기 상태의 저장을 처리합니까? 참고 : 알림을 통해 푸시 알림을 말하는 것이 아니라 앱 내부의 사이드 메뉴에있는 "메시지"(푸시 배달이 적용됨)를 참조하십시오.

주요 문제는 다음과 같습니다. 사용자가 앱을 다시 설치 한 경우 읽지 않은 알림을 추적하여 읽지 않은 알림을 다시 설치 한 경우 (읽지 않은 알림을 다시 설치 한 경우를 상상해보십시오). (관련이없는 푸시 알림 ID를 참조)

  • ID
  • USER_ID
  • push_notification_id
  • 읽기 :

    나는 백엔드에서 알림을 저장하기 위해 다음과 같이 모델을 시작했다 부울
  • 콘텐츠 : 텍스트

이 모델에서는 알림이 필요한 모든 사용자에 대해 행을 삽입하고 읽었는지 여부에 관계없이 부울 열을 추적합니다. 문제는 등록 된 사용자 만 알림을받을 수 있다는 것입니다.

두 번째 옵션은 user_id 참조와 "읽기"속성 서버 측을 제거하고 일부 사용자가 아닌 모든 사용자에게 항상 알릴 것이라고 가정합니다. 그러나 이제 어떤 알림을 읽었는지 추적하는 방법이 필요합니다. 로컬 저장소에 일부 ID를 저장하는 모바일 앱에서 로컬로 수행 할 수 있지만 다시 설치할 경우 해당 ID가 다시 삭제됩니다.

내가 생각한 세 번째 옵션은 "만료"열 서버 측과 함께 두 번째 옵션을 구현하는 것입니다. 이는 새로운 앱 설치의 경우 알림이 기본적으로 "읽지 않음"으로 중단되어야하는시기를 나타냅니다. 이것은 내가 지금까지 얻은 최고이지만, 나는 정말로 확신하지 않는다.

저는 여기에서 많은 것을 요구하고 있습니다 만, 나는 인터넷 검색을 할 수 없었기 때문에 누군가가 만든 좋은 구현 모델을 찾고 있습니다. 나는 이것이 확실하다고 확신합니다. 무겁게 반복되는 디자인 패턴.

감사합니다.

+1

여기에 도움이 될만한 문맥이 더 필요할 수 있습니다. 이 알림의 목적은 무엇입니까? 사용자에게 맞춤 설정되어 있습니까? 귀하의 설명을 보면 모든 사용자에게 동일한 것처럼 들리며 동시에 모든 사용자에게 나가는 것처럼 들립니다. – Michael

+0

푸시 알림의 동반자 역할을하는 것이 목적입니다. 푸시 알림이 사용자에게 전송 될 때마다 클라이언트가 사이드 바에 나열하거나 동일한 내용 또는 확장 된 내용으로 나열 할 수 있도록 "알림"개체가 서버 쪽에서 만들어집니다. 한 사용자에 대한 사용자 지정은 처음에는 그러한 방식으로 만들어졌지만, 필요하지는 않더라도 필요할 경우에 대비하는 것이 좋습니다. 그러나 클라이언트가 로그인하지 않고 어느 시점에서 다시 설치할 수 있다는 사실을 고려할 때 "읽음"상태 (클라이언트 쪽 또는 서버 쪽)를 모니터링하는 모델에 불과했습니다. –

답변

0

우리는 약간의 변화처럼 유사한 접근 방식을 사용 : 추적하기 위해 사용자가 로그인 할 필요가 없습니다 있도록

  • 등록/등록되지 않은 사용자와 문제에 대한, 당신은 몇 가지 장치 UID의 USER_ID를 변경할 수 있습니다 읽음
  • 읽기에 대한 정보를 하나의 테이블에 누적하는 대신 읽지 않은 알림 테이블을 가지고 있고 chnage 순간에 읽은 테이블을 새 테이블로 옮겼습니다 -> 테이블이 커지거나 조작되지 않습니다 (계산과 같은) 빠른 속도로 유지됩니다 (사용자 수에 따라 다르지만 나중에 생각하면됩니다).
  • 더하기 몇 가지 기능 date_insert를 저장하고 1 년이 넘은 항목을 지우는 월간 작업을 실행하는 것을 좋아합니다.
관련 문제