2012-06-21 3 views
5

홈 화면에서 실행 응용 프로그램은 원격 푸시 페이로드를 얻을 수 없습니까? 그러나 알림 센터에서 실행됩니다.홈 화면에서 앱을 실행해도 원격 푸시 페이로드를 얻을 수 없습니까? 하지만 알림 센터에서 실행

처음에는 앱이 이 아니며입니다. 수신 된 원격 푸시 알림 후 사용자는 한 번에 알림과 함께 앱을 시작하지 않습니다. 그런 다음 알림 센터에서 알림에 사용자 탭 앱을 실행, 나는 launchOptions에서 푸시 페이로드를 얻을 수 있습니다 :

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSDictionary* userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
    if(userInfo) { 
     //do some works with push payload. 
    } 
} 

을하지만 홈 화면에서 응용 프로그램 아이콘을 눌러 사용자 앱 실행, 나는 푸시 페이로드를 얻을 수없는 경우 application:didFinishLaunchingWithOptions:이 호출되었지만 launchOptions에서. 다시

:

  1. 앱이 실행되지 않습니다.
  2. 푸시 알림을 받으면 사용자가 앱을 실행하지 않습니다.
  3. 나중에 알림 센터에서 앱을 실행하고 launchOptions에서 푸시 탑재량을 가져옵니다.
  4. 홈 화면의 앱 실행은 launchOptions에서 푸시 탑재를 얻을 수 없습니다.

SDK의 버그입니까? 홈 화면에서 앱을 실행하여 어떻게 유료 하중을 얻을 수 있습니까?

감사합니다.

답변

3

수 없습니다.

사용자가 알림에 관심이 있다는 의미이므로 알림 센터에서 시작할 때 페이로드 만 표시됩니다.

예를 들어, Tweetbot에 대한 답장을보고 싶다면 알림을 탭합니다. 그러나 내 트윗을 확인하고 싶다면 앱을 정상적으로 엽니 다.

페이로드에 사용자가 수신해야하는 정보가있는 경우 앱은 서버에 연결하여 검색해야합니다.

+0

앱이 백그라운드에있는 경우에도 마찬가지입니까? – AbuZubair

0

예, 사용자가 아이콘을 눌러 앱을 실행하면 원격 알림의 페이로드가 손실됩니다.

멋진 것은 아니지만 지금은 작동하는 방식입니다.

관련 문제