>

알림이 수신 될 때 Ionic 2 앱의 특정 페이지를 푸시해야하는 상황이 있습니다. 앱의 동작은 정확하지만 페이지가 두 번 푸시됩니다 (Twitter iOS 앱에서도 발견 된 버그). 누군가 아래에 붙여 넣은 코드에서 오류를 지적 할 수 있습니까? 감사합니다!

push.on('notification', function(data) {
  let offer = JSON.parse(data.additionalData.offer);
  this.app.getActiveNav().push(OfferDetailsPage, {
    currentOffer: offer,
    displayArrow: true
  });
  // Propagate new event to load the new offer
  events.publish('offer:new', offer, Date.now());
});

수정 :또한 페이지의 컨테이너는 탭 페이지입니다.

  • 답변 # 1

    이벤트 'offer : new'에 의해 시작된 기능은 무엇입니까?

    알림 이벤트가 두 번 트리거되지 않았 음을 로그로 확인 했습니까?

  • 답변 # 2

    이 문제의 해결책을 찾았습니다. iOS가 phonegap-plugin-push를 사용하여 알림을 수신하고 애플리케이션이 백그라운드 인 경우 두 번 처리됩니다. 하나는 수신 할 때와 두 번째는 사용자가 알림을 클릭 할 때 처리됩니다. 이 문제에 직면 한 모든 사람을위한 제안 : 서버의 알림에 임의의 ID를 할당하고 프런트 엔드에서 수신 할 때이 ID가 저장소에없는 경우에만 알림을 처리합니다.

  • 이전 triggers - 오라클은 2 개의 테이블을 동기화
  • 다음 security - Jose RSAPrivateKey 및 JsonWebKey 데이터베이스 스토리지