2016-07-07 1 views
0

양식 앱에서 Google Cloud Messaging을 사용하고 있습니다. 안드로이드 측에서는 업데이트를 할 때 앱 등록이 취소되었습니다. 업데이트 후에 사용자가 앱을 열도록 보장 할 수는 없으므로이 사례를 처리해야했습니다.Google Cloud Messaging을 위해 iOS에서 앱 업데이트를 처리해야합니까?

이것이 iOS에서 문제가되는지 판단 할 수 없습니다. GCM이 iOS에서 업데이트 된/교체 된 앱을 더 잘 처리하는지 여부를 아는 사람이 있습니까? 추가 코드가 필요하지 않습니까?

답변

0

Keeping the Registration State in Sync에서 언급 한 바와 같이 :

등록 토큰의 잠재적 인 악성 재사용에서 클라이언트 응용 프로그램 및 응용 프로그램 서버를 보호하기 위해, 당신은 주기적으로 서버에서 토큰 새로 고침을 시작한다. GCM 등록 토큰 새로 고침이 서버 측에서 시작되면 클라이언트 응용 프로그램은 GCM 등록 클라이언트/서버 핸드 셰이크를 사용하여 tokenRefreshed 메시지을 처리해야합니다. 시스템이 토큰이 필요한 것으로 판단 할 때 등록 토큰이 새로왔다 경우를 처리하기 위해

에서, GGLInstanceIDDelegate 프로토콜이 호출되는 onTokenRefresh 방법을 선언 iOS 용

, 그것은 것을 Handle refreshed tokens에서 언급 된 상쾌하게하기.

샘플 코드 :

  1. GGLInstanceIDDelegate 프로토콜을 채택하는 클래스를 선언;

    - (void)onTokenRefresh { 
        // A rotation of the registration tokens is happening, so the app needs to request a new token. 
        NSLog(@"The GCM registration token needs to be changed."); 
        [[GGLInstanceID sharedInstance] tokenWithAuthorizedEntity:_gcmSenderID 
                     scope:kGGLInstanceIDScopeGCM 
                    options:_registrationOptions 
                    handler:_registrationHandler]; 
    } 
    AppDelegate.m 
    

    는 또한, 토큰 처리하는 클라이언트 응용 프로그램이 있어야 갱신

  2. delegate 속성을 사용하여 GGLInstanceIDConfig에서 해당 클래스를 델리게이트로 설정합니다.

해당 문서에서 도움이 될만한 추가 참조 자료를 찾을 수 있습니다.

이외에도이 SO 게시물 - Why re-register to gcm when application gets updated도 토큰 새로 고침이 필요한 이유를 설명했습니다.

+0

답해 주셔서 감사합니다. 이해하시기 바랍니다. 앱이 업데이트되면 onTokenRefresh가 실행됩니까? 아니면 서버 측에서 발행 한 주기적 새로 고침으로 상황이 완화 될 것이라고 제안 하시겠습니까? –

관련 문제