質問: (例) ソーシャルゲームなどでクエストなどのイベントがあるときに「Push通知」 → アプリを起動 → ViewController上にViewでイベント情報を表示 などを可能にしています。 私はアプリのアップデートなどがあれば上記のようにお知らせしたいです。 これはmBaaSを使って実現できるのでしょうか。できるのであればおすすめのmBaaSを教えていただけるとありがたいです。 自前でサーバを立てて配信しなければいけないのでしょうか。 ViewController上にViewでイベント情報を表示する仕組みについて教えて下さい。
回答: 端末がPush通知を受け取り、PUSH通知を開いた場合、アプリが生きているか死んでいるかで処理は変わります。 // アプリが死んでない場合 UIApplicationDelegate * (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo ここで受け取って表示中のViewControllerに処理を回すなり、 [[NSNotificationCenter defaultCenter] postNotificationName:@"RECEIVE_PUSH" object:nil] などしてイベント表示。 // アプリが死んでる場合 * (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions ここのlaunchOptionsにUIApplicationLaunchOptionsRemoteNotificationKeyが入ってます。 rootViewControllerを初期化するときに何か変数埋めておいてイベント表示。 上記はあくまでPush通知をタップした場合の話なので、 Push通知きても普通にアプリアイコンから起動した場合は上記で拾いきれないので、 サーバー立てて起動時や復帰時に新着イベント確認するような処理を入れる必要があるかと思います。