2017-12-17 2 views
-1

iOS 용 메시지 응용 프로그램을 개발 중이며 앱에서 사용자 상태에 따라 메시지를 전달하고 읽을 수 있습니다. 같은 것은 whatsapp과 같습니다. 응용 프로그램은 서버에 전달 될 때 하나의 눈금 표시를 표시하고 메시지가 서버에서 대상으로 전송되면 두 번 눈금을 표시합니다.메시지 배달 알림을 구현하는 방법 iOS 배달 영수증

놀랍게도 그 응용 프로그램 : didReceiveRemoteNotification은 응용 프로그램이 활성화되어 있지 않을 때 호출되지 않습니다!

앱이 활성화되어 있지 않을 때 사용자 상호 작용없이 메시지 배달을 추적하는 것은 정말로 불가능합니까? 다른 사람들은 서버에 메시지를 저장하고 앱을 열 때 메시지를 보내도록 제안했지만 여전히 사용자 상호 작용이 필요합니다.

답변

0

메시지 상태에 enum을 사용하십시오. 열거 msg_status 당신이 당신의 단절 응답을 사용할 수있는 메시지의 도달 가능성 상태를 얻으려면

{ 경우 경우 본, 경우 수신, 전송}. 메시지가 성공적으로 전송되면 틱 하나만 표시하십시오. 상태 변수를 .sent로 설정하십시오.

두 개의 틱을 얻으려면 알림 성공 응답을 사용하십시오. 서버에서 알림을 전송 한 경우 상태 변수를 .received로 설정하십시오.

WhatsApp와 비슷한 파란색 눈금을 얻으려면 msg_seen (userId : Int)과 같은 함수를 사용하십시오. Message ViewController의 viewDidAppear() 메소드에서 함수를 호출하고 msg_seen() 메소드의 본문에서 상태를 .seen

으로 업데이트하십시오.