4

"didRegisterForRemoteNotificationsWithDeviceToken"은 응용 프로그램이로드 될 때마다 호출되며 내 PHP 서버 또는 응용 프로그램은 내 데이터베이스에 저장하기 위해 다시 제출할 것인지 여부를 확인해야합니다. 아니면 제가 빠진 것이 있습니까? 제임스didRegisterForRemoteNotificationsWithDeviceToken - 푸시 알림

답변

16

먼저

덕분에, 당신은이 메소드를 직접 호출하는 것은 아니다. 대신 앱을 실행할 때마다 registerForRemoteNotificationTypes:으로 전화를 걸어 야합니다. 그러면 앱이 구현해야하는 application:didRegisterForRemoteNotificationsWithDeviceToken:이 호출됩니다.

둘째, 예, 매번 토큰을 서버에 다시 제출해야합니다. 설명서에서 :

응용 프로그램이 시작될 때마다 장치 토큰을 요청하고 공급자에게 전달하면 공급자에게 장치의 현재 토큰이 있는지 확인할 수 있습니다. 사용자가 백업을 만든 장치가 아닌 다른 장치로 백업을 복원하는 경우 (예 : 사용자가 데이터를 새 장치로 마이그레이션) 사용자는 적어도 한 번 이상 응용 프로그램을 시작해야 알림을 다시받을 수 있습니다. 사용자가 백업 데이터를 새 장치로 복원하거나 운영 체제를 다시 설치하면 장치 토큰이 변경됩니다. 또한 장치 토큰을 캐시하지 않고 공급자에게 제공하십시오. 언제든지 필요할 때마다 시스템에서 토큰을 가져와야합니다. 응용 프로그램이 이전에 등록 된 경우 registerForRemoteNotificationTypes :를 호출하면 추가 오버 헤드없이 즉시 장치 토큰을 대리인에게 전달합니다.

+1

감사합니다. 그냥 "application : didRegisterForRemoteNotificationsWithDeviceToken"이라고 부르지 않았습니다. 위임 메서드로 호출 된 것을 의미합니다. – jodm