Firebaseでいろいろな条件を使ってPush通知をする
はじめに
普段Firebaseを使ってPush通知を実現していますが、全員宛のPush通知を使うばかりでした。 調べてみるといろいろ条件を指定することができるのがわかったのでちょっと調べてみました。
すでにFirebaseを実装済みの前提で話を進めます。
基本的な導入方法は公式ドキュメントを見てください firebase.google.com
準備
今回はイベントとユーザープロパティを使った条件を試すので、アプリにイベントとプロパティを送信するための実装を追加します
Swift func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Firebaseの初期化処理 FirebaseApp.configure() // ユーザープロパティの送信 Analytics.setUserProperty("test_male", forName: "test_gender") return true } : : @IBAction func eventTapped(_ sender: AnyObject) { // イベントの送信 Analytics.logEvent("test_event", parameters: nil) }
イベントを条件としたPush通知の方法
さきほどのコードのtest_event
を送ったユーザーに対してPush通知を送信してみます。
イベントを条件にするにはオーディエンスを作成してそれを条件に指定します。
- Firebase管理画面から
Audiences
画面を表示します オーディエンス
ボタンを選択し、カスタムオーディエンスを作成する
を選択します- 条件を指定します。
イベント
からtest_event
を選択します。 有効期間は今回は30日を選択します 無題のオーディエンス
にtest_audience
と名称を入力して保存を選択しますAudiences
画面に追加されました。 注意:オーディエンスのユーザーの反映はリアルタイムではなく24時間〜48時間かかります。- あとはPush通知を送信するときのターゲットとして
ユーザーオーディエンス
にtest_audience
を指定して送信します。
ユーザープロパティを条件としたPush通知の方法
test_gender
がtest_male
のユーザーを対象にPush通知を送信してみます。
- Push通知を送信するときのターゲットとしてユーザープロパティの
test_gender
がtest_male
を含む場合を条件にして送信します。
休眠ユーザーを条件としたPush通知の方法
一定期間アプリを起動していないいわゆる休眠ユーザーにPush通知を送信してみます。
前回のアプリエンゲージメント
を条件にすることで実現できます
- Push通知を送信するときのターゲットとして
前回のアプリエンゲージメント
を選択し日数を指定して送信します。
最後に
今回の内容以外にもいろいろな条件を指定することができます。そういったものを利用するとPush通知の利用の幅が広がります。有効に使っていきたいと思います