12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HameeAdvent Calendar 2016

Day 18

Firebase Notificationを使用してiOS端末にPush通知を送信する

Posted at

はじめに

この記事はHamee Advent Calendar 2016の18日目の記事です。

普段の業務でiOSアプリ開発に携わっているのですが、今回はiOS端末のPush通知をFirebase Notificationを使用して実装する流れを簡潔に書きます。

Firebaseとは?

超絶ざっくりと説明するとFirebaseは2011年にアメリカで開始したMBaasですが,2014年にGoogleに買収されたサービスです。
今回は、Firebase Cloud MessagingしFirebase NotificationからPush通知をすることしか書かないので、Firebaseが提供する諸々の機能などについてはFirebaseの公式サイトの機能説明をご覧ください。

Firebase console上で新規プロジェクトの作成

まず、Firebase consoleで新規プロジェクトを作成します。
スクリーンショット 2016-12-18 21.48.02.png

プロジェクト名/国・地域を入力し作成ボタンを押します。
スクリーンショット 2016-12-18 20.36.37.png

作成したプロジェクト上でiOSアプリにFirebaseを追加を選択します。
スクリーンショット 2016-12-18 21.58.18.png
iOSバンドルIDはPush通知を実装するアプリのBundle Identiferと同じにしてください。

Xcode上で新規プロジェクトの作成

push通知を実装するプロジェクトを作成してください。
プロジェクトのBundle Identiferは先程、作成したFirebase上のプロジェクトのiOSバンドルIDと同じにしてください。
cocoaPodsでfirebaseをインストールします。
次に、XcodeプロジェクトのPush NotificationsをONに設定します。
スクリーンショット 2016-12-18 22.09.04.png
そして、先程Firebase console上でiOSアプリにFirebaseを追加の②で作成したファイルをXcode上のプロジェクトにコピーします。
スクリーンショット 2016-12-18 22.09.04.png
これでXcode上のプロジェクトの設定は完了です。

AppDelegate.swiftに通知処理の実装をする

まずimport文を記述します。

import Firebase

そして、application:didFinishLaunchingWithOptionsメソッドに

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        //プッシュ通知設定登録
        let notificationSettings = UIUserNotificationSettings(
            forTypes: [.Badge, .Sound, .Alert], categories: nil)
         application.registerUserNotificationSettings(notificationSettings)
        
        application.registerForRemoteNotifications()
        FIRApp.configure()
        return true
    }

上記を記述します。

プッシュ通知を送信する

先程、作成したfirebaseプロジェクトの設定画面に証明書をアップロードします。
スクリーンショット 2016-12-18 20.47.53.png
証明書の発行方法はこちらから

アップロードが完了したらxcodeプロジェクトのアプリを端末で起動します。
プッシュ通知許可ダイアログが表示されるのでOKを選択してください。
IMG_0120.PNG
起動したアプリをバックグラウンドに待機させて
firebase consoleのNotificationsからメッセージを送信します。
スクリーンショット 2016-12-18 21.12.48.png
するとPush通知がピコーンと飛んできます!
IMG_0121.PNG

おわりに

いかがでしょうか?無事Push通知は飛んできましたでしょうか?
FirebaseにはDynamic linksという機能もありPush通知を使用して、アプリ内の狙った箇所にPush通知を起点として画面遷移をすることももちろん可能です!

いろいろなPush通知サービスはたくさんありますが、GoogleがFirebaseを買収しより本格的にサービスを成長させていくと思うので、まだ他社のPush通知サービスと比較すると使いにくい所もありますが是非、Firebaseを使ってみてください!Firebaseは機能が豊富!

Firebaseは奥が深いぞ!

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?