質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1644閲覧

ソーシャルゲームなどでクエストがあるときのイベント表示の仕組みについて教えて下さい。

mmmm

総合スコア54

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2016/06/24 20:05

(例)
ソーシャルゲームなどでクエストなどのイベントがあるときに「Push通知」
→ アプリを起動
→ ViewController上にViewでイベント情報を表示

などを可能にしています。
私はアプリのアップデートなどがあれば上記のようにお知らせしたいです。

これはmBaaSを使って実現できるのでしょうか。できるのであればおすすめのmBaaSを教えていただけるとありがたいです。
自前でサーバを立てて配信しなければいけないのでしょうか。
ViewController上にViewでイベント情報を表示する仕組みについて教えて下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Push通知については
https://www.lancork.net/2013/08/how-to-ios-push-first/
の解説が具体的でわかりやすいと思います。

自分でサーバーを立ててプッシュ通知するなら、上記の解説にデバイストークンをデータベースで管理する機能を加えたものを自分で作る必要がありますか、プッシュ通知に対応しているmBaaSやASPを使えば、自分でサーバーを立てなくても、サーバー側で必要なことは全部やってくれます。

http://blog.mb.cloud.nifty.com/?p=2167
にいくつか紹介した記事があるので、参考にするとよいと思います。
これ以外に、最近Googleが本格的に力を入れ始めたFirebaseも注目だと思います。
(参考)
http://dev.classmethod.jp/smartphone/firebase-notification-ios/

投稿2016/06/25 00:56

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mmmm

2016/06/25 01:01

ありがとうございます。ViewController上にViewでイベント情報を表示のほうはご存知でしょうか。
TakeOne

2016/06/25 01:14

そのあたりのことを聞いているのでしたら、 https://teratail.com/questions/32787 あたりを参考にしてください。 AppDelegateのdidReceiveRemoteNotificationで受け取ったプッシュ通知をNSNotificationCenterを使ってViewControllerに伝えればいいです。
guest

0

ベストアンサー

端末が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通知きても普通にアプリアイコンから起動した場合は上記で拾いきれないので、
サーバー立てて起動時や復帰時に新着イベント確認するような処理を入れる必要があるかと思います。

投稿2016/07/07 06:14

hash

総合スコア63

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問