5

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

最初、アプリは実行されていません。リモートプッシュ通知を受信した後、ユーザーは通知を含むアプリを一度に起動しません。次に、ユーザーは通知センターで通知をタップしてアプリを起動します。プッシュペイロードは次の場所から取得できますlaunchOptions

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

しかし、ユーザーがホーム画面からアプリアイコンをタップしてアプリを起動すると、とは呼ばれますがlaunchOptions、からプッシュペイロードを取得できません。application:didFinishLaunchingWithOptions:

また:

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

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

ありがとう!

4

2 に答える 2

3

できません。

ユーザーがその通知に関心があることを意味するため、通知センターから起動したときにのみペイロードを取得します。

たとえば、Tweetbotで返信があり、それを見たい場合は通知をタップしますが、ツイートのみを確認したい場合は通常どおりアプリを開きます。

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

于 2012-06-21T16:40:18.817 に答える
0

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

かっこいいわけではありませんが、今のところそれが機能しています。

于 2013-03-02T15:03:13.040 に答える