0

자동 푸시 메시지에 대해 대응하려고합니다. 내 plist 파일에 두 가지 배경 모드에 대한 내 애플 리케이션을 등록했습니다.앱이 백그라운드에 있고 플러그가 뽑혀 있으면 자동 푸시 메시지가 표시되지 않습니다.

내 응용 프로그램에 다음 JSON을 보내고 :

{ 
"aps": { 
    "content-available": 1 
}, 
"Bla": "Blub" 
} 

을 내 응용 프로그램이 포 그라운드에있는 경우, 모든 작동합니다. 푸시를받는 동안 코드에서 함수를 실행합니다. 내 응용 프로그램이 백그라운드에 있고 내 Mac 또는 AC에 연결되어있는 경우에도 문제가 없습니다.하지만 장치를 분리하면 장치가 작동하지 않거나 적어도 내 기능이 더 이상 호출되지 않습니다 ... 왜 그럴까요?

답변

1

침묵하는 알림이 작동한다는 것은 시스템을받을 수 있지만 다른 요인에 따라 작동하지 않을 수 있다는 것을 이해합니다.

조용한 알림은 전력 효율이 좋은 장치에서 멀티 태스킹이 원활하게 이루어 지도록하기 위해 사용됩니다. 나의 이해는 그들이 시스템은 응용 프로그램에 자동 통보를 따라 통과 여부를 결정하는 데 사용하는 몇 가지 요소가 있다는 것입니다, 다음은 다음과 같습니다

  • 현재 네트워크 상태
  • 현재 전력 레벨
  • 응용 프로그램 사용.
  • 사용자 선택
  • 가능한 전력 소모.

가장 중요한 응용 프로그램이기 때문에 포 그라운드에있을 때 자동 알림이 작동합니다. 사용자는 즉시 콘텐츠를 포함하지 않는 작업을 수행 할 수 있습니다. 그러나 콘텐츠 업데이트가 유용 할 수 있습니다. 예를 들어 Facebook의 경우, 친구 벽에 게시물을 쓰고있을 수도 있습니다. 피드에 대한 새로운 이야기가 있습니다. 내가 그 밖의 일을하고있는 동안 그걸 업데이트 해 주니 기쁘다.

컴퓨터에 연결되어있는 경우 - 백그라운드 배터리를 사용하여 충전하면 장치 배터리가 방전되지 않습니다.

은 요소에 대한 자세한 내용을 제공합니다 :

네트워크 조건

  • 장치가이 같은 아니므로 네트워크 호출을 허용 할 가능성이 와이파이에있는 경우 셀룰러 데이터를 사용하는 것과 같이 전력 집약적입니다.

현재 전력 레벨

  • 이것은 또한 네트워크 조건에 관계.
  • 해당 라디오가 이미 켜져있는 시점에 알림을 받았습니까?
  • 이것은 장치 기록을 기반으로 현재 위치에 묶여있을 수도 있습니다. 위치가 "집"인 것으로 결정되면 장치가 전원 근처에 있다고 가정 할 수 있습니다.
  • 시간도 이와 같은 요소 일 수 있습니다. 예 : "기기가 충전을 시작하는 평균 시간은 얼마입니까?"
  • 이미 전원에 연결된 장치?

응용 프로그램 사용 사용자가 응용 프로그램을 사용합니까 얼마나 자주

  • 인가, 사용의 어떤 패턴은?
  • 이 가지고있다 앱이 콘텐츠 업데이트를 허용하는 시점에 알림이 도착 했습니까? 가능한 예는 사용자가 다음 10 분에서 1 시간 이내에 애플리케이션을 사용할 가능성이 높습니다. 콘텐츠를 업데이트하는 것이 의미가 있습니다 그러나 사용자가 다음 2 분 또는 2 시간 이내에 앱을 사용할 가능성이 높습니다. 사용자가 곧 시작하거나 곧 사용하지 않을 가능성이 있으므로 리소스를 낭비 할 수 있으므로이 작업을 연기 할 수 있습니다.

사용자 선택

  • 사용자는 항상 백그라운드 데이터 새로 고침을 중지 할 수 있습니다.
  • 사용자가 휴대 전화 데이터를 사용하지 않도록 선택할 수 있습니다.
  • 질문의 범위를 벗어나지 만 침묵하는 알림은 항상 나타나지 않아야하며 응용 프로그램의 중요한 부분이되어서는 안됩니다.

다른 요인에 비해 가능한 파워 드레인

  • ,이 존재는 생각하지 않지만, 뭔가 마음에 계속.
  • 이 백그라운드 작업을 수행 할 때 전력 소비량은 과거와 같은 수준 이었습니까?
  • 당신이 좋은 시민 인 경우 가능한 한 효율적으로 전력을 사용하면 업데이트를 요청할 가능성이 더 높습니다.
  • 그러나이 작업을 수행 할 때 시스템보기에서 가능한 한 효율적이지 않은 경우 알림을받지 못할 수도 있습니다.

이러한 요소는 내가 말할 수있는 것으로 결정적이거나, 입증되거나 진술되지 않았습니다. WWDC 협상, 이전 배경 작업 제한 및 내 자신의 가정에 근거한 가능한 이유로 제안합니다. 하지만 침묵하는 알림이 특정 인스턴스에서 작동하고 다른 이벤트에서는 작동하지 않는 이유를 설명하는 데 도움이되기를 바랍니다.

+0

정보를 제공해 주셔서 감사합니다 ... 믿을만한 것 같습니다 ... 나는 또한 조금 연구를했으며 이것이 iOS 7의 경우는 아니라고 결론을 냈습니다. Apple이 iOS8 이후로 왜 이렇게했는지 궁금합니다 ... @ Naughty_Ottsel – davidOhara