mBaaSお役立ちブログ

BtoBtoCで使える管理画面を作る【プッシュ通知作成機能の実装】

BtoBtoC(BtoBtoBでも可)向けのアプリの場合、そのアプリを提供している会社向けに管理画面を提供したいと考えることがあります。その管理画面では、利用企業が自分たちのデータについてだけメンテナンスできるようになります。

そのための管理画面を作成していきます。今回は各企業向けにプッシュ通知機能を提供する画面の作成についてです。

画面はシンプルに

今回は配信条件などは指定できないシンプルなものとしています。よりカスタマイズして提供する場合はここで配信対象を絞り込めるようにすれば良いでしょう。

プッシュ通知を作成する

プッシュ通知を作成する場合はncmb.Pushを使います。今回は入力されたメッセージに基づいて次のようにプッシュ通知を作成します。

  • タイトル/メッセージ/JSON/URL
    入力されたものを利用
  • 配信日時
    今すぐ配信のみ
  • 配信対象
    AndroidまたはiOSを選択
  • 配信期限
    10日間固定

これらの条件に加えて、契約企業ごとに配信対象を絞り込むために常にチャンネルに社名を条件として追加するようにします。

実装としては次のようになります。

router.post('/', (req, res, next) => {
  var push = new ncmb.Push();
  push.set("immediateDeliveryFlag", true)
    .set("message", req.body.message)
    .set("target",  req.body.target)
    .set("title",   req.body.title)
    .set("contentAvailable", false)
    .set("searchCondition", {"channels": [user.Company]})
  push.send()
    .then(data => {
      console.log(data)
      res.redirect("/pushes")
    })
    .catch(error => {
      console.log(error)
      res.status(401).render('error', {error: error});
    })
});

このように実装することで各契約企業ごとにプッシュ通知の配信ができます。

ここまでのコードはNCMBMania/BtoB_Management at v0.6にアップしてあります。実装時の参考にしてください。

バックナンバー