FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

プッシュクラスに関する制限について

f:id:mbaasdevrel:20180524170416p:plain

mBaaSではデータストアを使って自由にクラス(一般的なデータベースでいうところのテーブル相当)を作成できます。そんな中、規定のクラスとして下記が存在します。

  • users : 会員管理用
  • push : プッシュ通知用
  • roles : グループ(権限)管理用
  • files : ファイルストア用
  • installations : デバイストークン用

今回はこの中でもプッシュ通知を管理するpushクラスに関する制限を紹介します。

メタデータは追加できません

プッシュ通知には以下のフィールドが指定できます。逆にいえば、これ以外の情報は追加できませんので注意してください。管理上の情報を追加したいといった使い方はできないので注意してください。

パラメータ名 説明 データ型 必須 備考
deliveryTime 配信時刻 日付
immediateDeliveryFlag 即時配信 真偽値
target ターゲット 配列
searchCondition 検索条件 オブジェクト
message メッセージ 文字列
userSettingValue ユーザー設定値 オブジェクト
deliveryExpirationDate 配信期限日 日付
deliveryExpirationTime 配信期限時間 文字列
action アクション 文字列 Android端末のみ設定可能
title タイトル 文字列 Android端末のみ設定可能
dialog ダイアログ通知有効化フラグ 真偽値 Android端末のみ設定可能
badgeIncrementFlag バッジ数増加フラグ 真偽値 iOS端末のみ設定可能
badgeSetting バッジ数 数値 iOS端末のみ設定可能
sound 音楽ファイル 文字列 iOS端末のみ設定可能
contentAvailable content-available 真偽値 iOS端末のみ設定可能
richUrl リッチプッシュURL 文字列
category カテゴリ 文字列
acl ACL オブジェクト

リレーションは使えません

プッシュ通知をリレーションの対象にすることはできますが、データを取得する際にエラーが発生するので注意してください。例えばあるデータと関連するプッシュ通知群をリレーションで管理するといった使い方はできません。

ポインターは管理画面では見られません

何らかのデータにプッシュ通知をポインターで設定した場合、管理画面ではデータを確認できません。ただし、コードから include などを使ってプッシュ通知を取得することは可能です。

まとめ

プッシュ通知のクラスpushは、プッシュ通知を管理、送信するのに特化しています。通常のデータストアに比べると制約が多いので注意してください。リレーションやポインターが使いづらいので、コードから扱うくらいに留めた方がよさそうです。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。