はじめ
を実行していないとき、私はどのようにFCM/GCM作品とどのように迅速なアプリケーションハンドル受信の基本的な理解を持っており、これらのプッシュ通知に取り扱いアプリが
問題をお送り表示されます
アプリがフォアグラウンドにあるとき、私はバナーとして表示する通知を選択できるコードを作成しました。
私はAppDelegate
その後、私は3迅速
NSUserDefaults
SWIFT 2.3または
UserDefaults
内部に置くシステムデフォルトでプッシュ通知をフィルタリングします
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void)
の内側に、この関数の中にコードを配置します
私はこのように見える簡単なクラスを用意しています
class Persistence {
static let defaults = NSUserDefaults . ....
static var doShowMessageNotification:Bool {
get {
return defaults.get ...
}
set(value) {
defaults.set ...
}
}
}
// you get the idea
アプリケーションの状態が
func doThis() {
switch UIApplication.sharedApplication().applicationState {
case .Active:
// do some stuff here
case .Inactive, .Background:
// do some stuff here
}
}
これは、アプリが動作しているときに完璧に動作またはスタンバイではなく時にアプリは動作しませんであれば、私はチェックします
switch Persistence.doShowMessageNotification {
case true:
doThis()
case false:
break //do nothing in short
}
内部再び
終了/シャットダウンします。
API /サーバーコードを変更せずにこれが動作することはありますか?
アプリが強制終了された場合は不可能です。 http://stackoverflow.com/a/26587688/4539192 – Rikh
私は、どのプッシュ通知を表示するかを選択し、どのプッシュ通知でアクションを処理するのかを選択したいと考えています。私の英語を赦してください 私の理解では、これを行う方法は本当にありません。私は本当にAPI /サーバーコードで遊ぶべきですか? –
これは正しいです。あなたのアプリが実行されていない場合、通知はiOSによって処理され、あなたのアプリは – Paulw11