25
27

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.

Firebaseで条件を指定してプッシュ通知を送るのにどハマりした件

Posted at

やりたかったこと

FirebaseのNotificationsを利用することで、条件を満たしたユーザーに対してプッシュ通知をしたかった。条件の例としては「ボタンを5回以上押したユーザー」や「特定の画面を表示したユーザー」などなど。

FirebaseでiOS端末にプッシュ通知を送れるようになるまで

こちらの記事が大変わかりやすかったのでここでは省略します。

条件付きプッシュ通知を送る流れ

コードにはこんなイベントをテストログとして残しておく。

viewController.swift
    override func viewDidLoad() {
        super.viewDidLoad()
  

        FIRAnalytics.logEventWithName("sccontent", parameters: [
            "name": "tap",
            "full_text": "button"
            ])
    }

  1. Analyticsのユーザーをクリックした後に、新しくユーザーリストを作成する(例:testUser)
    一枚目.png

  1. コードに埋め込んだイベント名を直接入力
    2枚目.png

3. パラメータを入力する ![4枚目.png](https://qiita-image-store.s3.amazonaws.com/0/116582/6969a134-845e-0215-bad0-c839a193ffc2.png)
4.こんな感じになればOKです ![5枚目.png](https://qiita-image-store.s3.amazonaws.com/0/116582/2b738d86-3218-fc5d-15a2-1c3392a547e7.png)

5.最後にNotificationsより新規メッセージで、先ほど追加したユーザーを選択してあげれば完了です
7枚目.png

はまった点

  • 上の手順通りやったが一向に通知が送られてこなかった。(アプリのみを選択すると通知が来るので、通知自体がこない状態ではなかった)
  • 原因としては、イベントがfirebase上に反映されていないのが原因だったらしく、翌日に再度このユーザーに対してメッセージを送信したらちゃんと通知が届いた。イベントが何時間後に反映されているのかはわかってないです(^_^;)
  • 条件付きのメッセージを送りたい場合は、パラメータは確認できませんがイベントがまず表示されているか確認することが大事ということを学びました
    イベント.png
25
27
2

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
25
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?