2012-06-21 13 views
5

ホーム画面から起動アプリはリモートプッシュペイロードを取得できないのですか?しかし、通知センターからの起動は機能します。ホーム画面からアプリを起動すると、リモートプッシュペイロードは取得できません。しかし、通知センターから起動する

最初は、アプリはで、実行していないのはです。受信したリモートプッシュ通知の後、ユーザーは一度に通知でアプリを起動しません。

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

しかし、ホームスクリーンからアプリのアイコンをタップして、ユーザの起動アプリならば、私はプッシュペイロードを取得することはできません。そして、ユーザーは、私は launchOptionsからプッシュペイロードを取得することができ、アプリを起動する通知センターに通知をタップします application:didFinishLaunchingWithOptions:が呼び出されますが、 launchOptionsからです。再び

  1. アプリケーションが実行されていません。
  2. プッシュ通知を受け取ったユーザーはアプリを起動しません。
  3. その後、通知センターからアプリを起動し、launchOptionsからプッシュペイロードを取得します。
  4. ホーム画面からアプリを起動すると、launchOptionsからプッシュペイロードを取得できません。

これはSDKのバグですか?ホーム画面からアプリを起動して、ペイロードを取得するにはどうすればよいですか?

ありがとうございます!

答えて

3

できません。

通知センターからの起動時にペイロードが表示されるのは、ユーザーがその通知に興味があるからです。

たとえば、私がTweetbotで返信して見たい場合は、通知をタップしますが、私のつぶやきだけをチェックしたい場合は、通常アプリケーションを開きます。

ペイロードにユーザーが受信する必要がある情報がある場合、アプリはサーバーに接続して取得する必要があります。

+0

これはアプリがバックグラウンドにある場合もそうですか? – AbuZubair

0

はい、ユーザーがアイコンをタップしてアプリを起動すると、リモート通知のペイロードは失われます。

涼しいわけではありませんが、現時点では動作しています。

関連する問題