弊社エンジニア 「えむべーすの件なんですが」
弊社マネージャー「ああ、mBaaS(エムバース)ね」
弊社営業 「ベースといえば、ホワイトベース!」
きっかけ
先日のWWDCキーノートでの一番のインパクトだった、
"AppleMusicに歌詞がつく"というニュースを受け、
(あくまで個人の意見です。)
待ちきれず、ついにDevelopperProgramに登録してしまいました。
「せっかく登録したし、firebaseのプッシュ通知機能を試してみよう」
と思ったのが事の次第です。
ちなみにまだ歌詞は表示されないようです。。。
手順
①firebase上でプロジェクトを作成
②プロジェクトにiOSアプリを追加
③Xcodeプロジェクトにplistを追加
④AppDelegateを実装
⑤firebaseにp.12ファイルを登録
⑥送信!
①firebase上でプロジェクトを作成
firebase上のプロジェクトは、
project
├── iOS
├── Android
└── Web
といったように、複数のアプリケーションの総称です。
以下に従い、プロジェクトを作成します。
②プロジェクトにiOSアプリを作成
「アプリを追加」からiOSを選択します。
ポイント:ここでのiOSバンドルIDはApp IDと同一のものです。
③Xcodeプロジェクトにplistを追加
firebaseでアプリを追加すると自動でplistファイルがダウンロードされるので、
firebaseの指示に従い、Xcodeプロジェクトにplistを追加します。
④AppDelegateを実装
以下のように実装します。
firebaseに関わるのはimport含めたった3行です。
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let types: UIUserNotificationType = [.Badge, .Sound, .Alert]
let settings = UIUserNotificationSettings(forTypes: types, categories: nil)
application.registerUserNotificationSettings(settings)
FIRApp.configure()
return true
}
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
if notificationSettings.types != .None {
application.registerForRemoteNotifications()
}
}
func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: .Unknown)
}
}
⑤firebaseにp.12ファイルを登録
Provisioning APNs SSL Certificates
を参考に、p.12ファイルを書き出し、
firebaseの
プロジェクトの設定->クラウドメッセージング
にp.12ファイルを登録します。
⑥送信!
Notificationからメッセージを送信します。
簡単!
終わりに
ささっとプッシュ通知が実装できるし、Androidの対応や解析もできる。
「ベースといえば、firebase!」
かもしれません。
参考
【iOS】Firebase の Notifications でプッシュ通知を送る
大変参考になりました。ありがとうございます。