0

내 Windows Phone 8 응용 프로그램에서 백그라운드에서 실행중인 응용 프로그램 (휴면 및 삭제 표시)에서 일부 데이터를 주기적으로 (10 분 미만) 서버에서 새로 고침 /로드하고 싶습니다. 내가 예약 된 작업 에이전트 및 자원 집중 작업 에이전트를 시도했지만 그들은 30 분 간격의 속도로 호출됩니다. 위의 요구 사항을 구현하기위한 다른 해결책이 있는지 알려 주시기 바랍니다.Windows Phone 배경 응용 프로그램 서비스

감사합니다 감사합니다 @nish는

+0

응용 프로그램이 백그라운드에서 실행되고 있지 않습니다. 그래서 당신은 어떤 api 요청도 할 수 없습니다. 유일한 옵션은 BackgroundAgent (하지만 불안정한 솔루션 임) 및 푸시 알림입니다. –

+0

매 30 분마다 충분하지 않은 이유는 무엇입니까? –

답변

0

주 목표는 전화가 주기적으로 쿼리를 만들어 일부 호스트 세션을 유지하는 것이라는 점을 정확하게 알고 있습니까? 그렇다면 ...

나는이 방법을 권장하지 않습니다. 1) 쿼리를 보낼 때 네트워크 연결이있는 전화를 믿을 수 없습니다. 사용자가 전화기를 주머니 나 지갑에 넣어두면 확률이 악화됩니다. 2) 보안 측면에서 보면 나쁘고 호스트 자원 관점에서 보면 낭비 일 것입니다.

시간 초과 호스트 세션을 가능한 한 원활하게 재개하려면 로직을 앱에 추가하십시오. 동일한 호스트에 대한 원시 HTTP 액세스보다 모바일 앱 가치 제안에 실제 유틸리티 가치가 추가됩니다.

1

당신이 윈도우 폰에서 사용할 수있는 기본보다 더 자주 데이터를 얻을 필요가 있다면, 당신은 푸시 알림을 사용하는 방법에 대해 생각해야한다. 전체 데이터 푸시에는 적합하지 않지만 올바르게 사용하면 함께 살 수있는 사용자 경험을 얻을 수 있습니다.

일반적인 접근 방법 중 하나는 10 분마다 "아무 것도 변경되지 않았습니다."라는 메시지를 보내지 않고보고 할 항목이있을 때 장치에 알림을 보내도록 서버를 설정하는 것입니다. 예를 들어 "읽지 않은 항목 x 개"와 같은 타일 업데이트 알림을 푸시하면 사용자는 앱의 타일을 클릭하고 시작/다시 시작시 새 항목에 대해 서버를 폴링 할 수 있습니다. 좀 더 방해적인 옵션을 원한다면 토스트 알림도 보낼 수 있지만 대부분의 경우 타일 업데이트만으로 충분합니다.

이 방법은 몇 가지 장점이 있습니다. 사용자가 전체 데이터 요청 클라이언트 당 10 분마다 처리하지 않아도되기 때문에

  • 서버가 훨씬 적은 부하를해야합니다 잠 들어있는 동안

    1. 당신은 배터리 전원 폴링을 통해 10 분 간격으로 연소되지 않습니다.
    2. 이 기능은 휴대 전화 앱의 디자인 철학에 부합합니다. 배터리 수명을 유지하면서 필요한 데이터를 사용자에게 제공하고 있습니다.
  • +0

    고마워,하지만 내 경우에는 모바일에서 시작한 요청입니다. 예를 들어, 세션을 새로 고치거나 유효하게 유지합니다. – MobDev

    관련 문제