4

iOS 10을 실행하는 특정 기기에서 푸시 알림 (백그라운드)을 수신하는 데 문제가 있습니다. iOS 9을 사용하는 다른 휴대 전화도 정상적으로 작동합니다.iOS 10 Firebase 알림이 백그라운드에 표시되지 않습니다.

알림을 열면 구현 한 배너가 표시됩니다. 배경 국가에 아무것도 표시되지 않는 이유는 무엇입니까? 중포 기지 문서 뭔가를 읽기

는 다음 링크를 https://github.com/firebase/quickstart-ios/blob/master/messaging/FCMSwift/AppDelegate.swift에 github의 중포 기지 예에 따르면 나에게 조금 혼란

을했다,라는 didReceiveRemoteNotification 방법에 의견이있다 :

// 만약 앱이 배경이 인 동안 알림 메시지를받습니다. // 사용자가 응용 프로그램을 시작하는 알림에서 을 두 드릴 때까지이 콜백이 시작되지 않습니다. // TODO가 :

그래서 내 응용 프로그램이 배경에 통지의 데이터를 처리하지 모든 일이 그 기본 아이폰 OS 알림을 위해 무엇을 사과합니까? content_available 값이이를 방해합니까? 또한 알림 및 데이터 값을 보냅니다. 예상되는 행동이 될 것

{ 
    "content_available": true, 
    "priority": "high", 
    "data": { 
     "post_id": "...", 
     "push_id": "..." 
    }, 
    "notification": { 
     "title": "...", 
     "body": "..." 
    }, 
    "registration_ids": ["xxxx"] 
} 

:

  1. 앱 죽은 : 시스템 알림이 표시됩니다
  2. 앱 배경 : 여기

    내가 보내는 JSON의 예입니다 시스템 알림을 표시하고 didReceiveRemoteNotification 메소드를 호출합니다.
  3. 앱 활성화 : 시스템에서 알림을 표시하지 않고 didReceiveRemoteNotification 메소드를 호출합니다.

오른쪽?

+1

아직 해결책을 찾으셨습니까? –

답변

2

귀하의 가정은 2 번을 제외하고 올바른 것입니다. apple에서 didRceiveRemoteNotification을 호출하지 않는 경우가 몇 가지 있습니다. contentUavaialable을 설정 한 경우에도 마찬가지입니다.

1) 장치는 낮은 배터리를 가지고 있으며, 절전 모드에

2) 앱은 애플 앱 깨워하지 않기로 결정)

3 비활성화 다른 문서화되지 않은 시나리오 "배경 응용 프로그램 새로 고침"을 가지고있다. Apple은 성능상의 이유로 통지를 제공하지 않을 권리를 보유합니다.

사용자가 알림을 탭하면 항상 didReceiveRemoteNotification에 페이로드가 표시됩니다.

+0

성모님! 나는 수세기 동안 나의 배경 새로 고침을 무능하게했고, 잊었다. ..이 이슈로 많이 고투했다. .. – JRafaelM