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