OneSignal Push notification 관련 에러들 : 1. 푸쉬 알람이 보내지지 않는 경우 : 서비스워커(Service Worker), 2. There was a 400 error sending your notification

1. 푸쉬 알람이 보내지지 않는 경우 : 서비스워커(Service Worker)를 살펴보세요

 

onesignal 플러그인의 setting의 하단에 Advanced Settings 에는 onesignal에서 제공하는 매니페스트(manifest)를 사용할 것인지 다른 매니페스트(manifest)를 사용할 것인지 선택할 수 있는 부분이 있습니다. 

“Use my own manifest.json”부분은 체크가 되어 있지 않아야 합니다. 

onesignal advanced settings

체크가 되어 있지 않은데, push notification 이 보내지지 않는다면 서비스 워커를 살펴보세요. (다음으로는 매니페스트를 살펴보세요. Service worker is not registered or does not control the start URL 로 표시되는 경우도 있습니다. )

PWA는 네이티브 앱처럼 오프라인 상태에서도 사용가능하고, 푸시 알림(Notification) 기능도 사용할 수 있습니다. 이런 기능을 할 수 있도록 도와주는 것이 바로 서비스워커입니다.

매니페스트(manifest)와 서비스워커(service worker)의 의미와 유효성을 검사하는 방법은 아래의 저희의 다른 게시글을 참조하세요. 

PWA(프로그레시브 웹 앱, Progressive Web Apps) 유효성(매니페스트(manifest), 서비스워커(service worker) ) 검사방법

푸쉬 알림을 테스트한 환경이 특수한 환경일 수도 있습니다. 

정상적인 환경에서 푸쉬 알람이 잘 보내지어지고 있는지는 아래의 [Push]눌러 바로 테스트 할 수 있습니다. (크롬 브라우저에서 테스트하세요. )

service worker에서 간단 푸쉬알람 테스트

 

상기 게시글( PWA(프로그레시브 웹 앱, Progressive Web Apps) 유효성(매니페스트(manifest), 서비스워커(service worker) ) 검사방법 )을 참조하여 서비스 워커를 살펴보았는데 문제가 있는 경우, [추천]Progressive WordPress (PWA) : 워드프레스 플러그인 을 설치하시고

onesingnal advanced setting 부분중 “Use my own manifest.json”부분을 사용에 체크 및 저장하시면 

매니페스트와 서비스워커가 정상적으로 설치 및 작동되어지며 알람이 정상적으로 보내집니다. 

 

 

2. There was a 400 error sending your notification

 

증상

워드프레스 관리자 페이지에서 게시글 편집창에서 우측 상단의 OneSignal Push Notification 부분을 선택하고 업데이트 버튼을 누르면 아래와 같이 에러가 나오면서 알람이 보내지지 않습니다.

워드프레스 편집  ~edit.php 에 관련된 에러입니다. 

고전편집기에서는  OneSignal Push: There was a 400 error sending your notification. 라고 에러가 나오고

구텐베르기 편집기에서는 “OneSignal Push: Did not receive a response status from last notification sent.”라고 에러가 나옵니다. 

 

원인

https가 완변히 구축되지 않은 것이 문제입니다. 정확하게는 저희의 경우, 사이트의 첫페이지를 elementor 플러그인를 사용하는 경우가 대부분입니다. elementor 플러그인 자체의 문제는 아니고 elementor 플러그인에서 이미지를 추가할때 라이브러리에 있는 이미지를 사용하지 아니하고 타 사이트의 이미지를 그대로 사용하거나 테마에서 제공된 이미지를 그대로 사용하면 “사이트 정보 보기 정보 또는 안전하지 않음”가 표시되고 첫페이지가 “사이트 정보 보기 정보 또는 안전하지 않음”이어서 다른 페이지나 게시글도 onesingal notification 이 보내지지 않는 문제가 발생했습니다. 

 

사이트의 보안 연결 여부 확인

방문해도 안전한 사이트인지 확인하시려면 Chrome에서 페이지를 열어 해당 사이트의 보안 정보(도메인 앞에 표시됩니다.)를 확인해 보세요. (참고 : 크롬에서는 되지만, 인터넷 익스플러어는 보안연결 여부확인 안됩니다. )

사이트의 보안을 확인하려면 웹 주소 왼쪽에 있는 보안 상태(도메인 앞에 표시됩니다.)를 확인합니다.

  •  잠금 보안
  •  사이트 정보 보기 정보 또는 안전하지 않음
  •  위험 안전하지 않음 또는 위험

사이트의 세부 정보 및 권한을 확인하려면 아이콘( 잠금 사이트 정보 보기 위험 )을 선택하세요. Chrome에서 연결 상태의 비공개 정도를 파악해 표시합니다.

 

문제의 사이트는 사이트 정보 보기 정보 또는 안전하지 않음 으로 표시되고 있습니다.  

사이트 정보 보기

정보 또는 안전하지 않음

사이트에서 비공개 연결을 사용하고 있지 않습니다. 내가 이 사이트를 통해 보내거나 받는 정보를 다른 사람이 보거나 변경할 수도 있습니다. 

일부 사이트의 경우 더 안전한 버전의 사이트를 방문할 수도 있습니다.

  1. 주소 표시줄을 선택합니다.
  2. http://를 삭제하고 대신 https://를 입력합니다.

그래도 해결되지 않으면 사이트 소유자에게 HTTPS를 통해 사이트와 사용자 데이터를 보호하도록 요청하시기 바랍니다.

 

재미있는 현상은 관리자 페이지는 안전하다고 나오는데, 일반 사이트 웹페이지도 모두 안전한 https로 나오는데 루트 URL(https://www.15221362.com)만 완벽하지 않다고 나옵니다.  이 페이지는 elementor 플러그인으로 만든 것인데, elementor 플러그인으로 만든 페이지중에도 제가 커버 = 프론트 페이지로 설정한 페이지만 “사이트 정보 보기 정보 또는 안전하지 않음” 나오는데, onesingnal 전송이 안됩니다. elementor 플로그인으로 페이지 작업을 하면서 해당 페이지가   “사이트 정보 보기 정보 또는 안전하지 않음” 가 아닌 “잠금 보안”로 표시되는지 확인하면서 작업해주세요. 

 

보안인증서 관련_이 사이트의 보안 연결은 완벽하지 않습니다라고 나옴

보안인증서 관련_관리자 페이는 안전하다고 나옴

테마 문제인가 하여 테마를 변경해보았는데 같은 현상이 나옵니다. 

 

이 사이트는 Really Simple SSL 플러그인으로 SSL 인증서를 적용한 사이트입니다. Really Simple SSL 플러그인이 잘 못 설치되어나하여 삭제후 재설치 보았습니다. 같은 문제가 나옵니다. 

워드프레스에 보안서버 SSL 인증서 적용하기(https 로 전환하기) : Really Simple SSL(보안 인증서 설치 플러그인) 포함