基本的なことは本家サイトを参照ください。
https://developers.google.com/cloud-messaging/ios/client?ver=swift
APNs用にデータを追加する
データ構造はGCM 2.0に以下のAPNsでも使用できるパラメータを追加すればデバイスに届きます。"content_available" : "true" "notification" : { "body" : "great match!", "title" : "Portugal vs. Denmark" }
もし、デバイスに届かない場合はcontent_availableの値を確認しましょう。"true"というStringではなく、true / falseのBoolが正しいです。
Push受信しても鳴動しない
notificationにsoundパラメータを追加しましょう。https://developers.google.com/cloud-messaging/http-server-ref
https://developer.apple.com/jp/documentation/RemoteNotificationsPG.pdf
アプリ起動していない状態でバックグラウンド受信しない
priorityの追加
priorityパラメータを追加して、10を指定しましょう。https://developers.google.com/cloud-messaging/http-server-ref
https://developer.apple.com/jp/documentation/RemoteNotificationsPG.pdf
iOSアプリ側の設定
Background fetch modeをONにしましょう。AppDelegateにて、MinimumBackgroundFetchIntervalをセットします。DefaultはNeverになっているため、Background fetchしません。
application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)