プッシュ通知 [非推奨]
項目一覧
重要
サードパーティ サービスとプッシュ通知の廃止
Atlas App Services のサードパーティ サービスとプッシュ通知は非推奨となり、代わりに関数内の外部依存関係を使用する HTTP エンドポイントを作成できるようになりました。
Webhook はHTTPS endpointsに名前変更され、動作は変更されません。 既存の Webhook を移行する必要があります。
既存のサービスは、 30、2025 まで引き続き機能します。
サードパーティ サービスとプッシュ通知は非推奨になったため、App Services UI からデフォルトで削除されました。 既存のサードパーティ サービスまたはプッシュ通知を管理する必要がある場合は、次の操作を実行して構成を UI に追加できます。
左側のナビゲーションの [ App Settings Manageセクションの下にある [] をクリックします。
Temporarily Re-Enable 3rd Party Servicesの横にあるトグル スイッチを有効にし、変更を保存します。
Overview
Atlas App Services は、モバイル(Android および iOS)アプリを Firebase Cloud Messging(FCM)サービスと統合して、プッシュ通知を提供することをサポートしています。 App Services コンソール内から通知メッセージを設定して送信しますが、クライアントは特定のトピックに送信されたメッセージを Firebase Cloud
Messaging (FCM)
に登録します。
管理インターフェース
App Services UI のPush Notifications画面では、通知ドラフトを作成し、ユーザーに通知を送信し、 通知ルールを定義できます。
Push Notifications画面には 4 つのタブがあります。
タブ名 | 説明 |
---|---|
Draft | [ ドラフト ] タブでは、ドラフト メッセージのリストを表示できます。 ドラフト メッセージには次の操作があります。
|
Sent | [ 送信 ] タブには、App Services が登録されたクライアントにすでに送信したメッセージが表示されます。 ここから、送信されたメッセージのリストを表示できます。 送信されたメッセージに対して、以下の操作を行うことができます。
|
Config | [構成] タブで、 FCM認証情報(送信元 ID とレガシー API キー)を提供します。 |
Rules | オプションで、アプリケーションが送信するプッシュ通知のタイプを制限するために、プッシュ通知ルールを指定できます。 |
プッシュ通知を送信する
Push Notificationsページから新しいプッシュ通知を送信できます。 [ Send New NotificationボタンをクリックしてSend New Notificationダイアログを開きます。 このダイアログでは、通知メッセージ、ラベル、関連するトピックのオーディエンスを指定します。
プッシュ通知を受信するようにクライアントを設定する
Android アプリケーションにプッシュ通知を統合する一般的なプロセスは次のとおりです。
FCMの依存関係を追加します。
push.registseDevice()を使用する またはpush.registerDeviceAsync() メソッドを使用して、クライアントをプッシュ通知に登録します。
FirebaseMesting の サブスクライブTo API() を使用する トピックにサブスクライブします。
抽象的な FirebaseMesgingService を拡張するクラスを作成します と が 使用して複数のドキュメントを挿入できます。このクラスは、 FCMとの通信を処理します。
Android プロジェクトの
AndroidManifest.xml
ファイルを更新して、FirebaseMessagingService
からのクラスとアプリケーションのレシーバーを登録します。
Android クライアントとの FCM 統合に関する最新情報と詳細な手順については、次を参照してください: Android で Firebase Cloud メッセージング クライアント アプリを設定する ガイドを参照してください。
iOS アプリで App Services とともに FCM を使用するには、次の一般的な手順に従います。
Apple Developer Member センター を使用して有効な Apple プッシュ通知サービス(APN)証明書を作成 。
GoogleService-Info.plist のコピー ファイルを XCode プロジェクトに渡す追加オプション。
FCM を構成し、iOS アプリを追加します。 アプリを登録すると、FCM は登録トークンを返します。
iOS クライアントとの FCM 統合に関する最新情報と詳細な手順については、「 iOS で Firebase クラウド メッセージングのクライアント アプリを設定する 」を参照してください。 ガイドを参照してください。
ルール テンプレート
通知には特定のタイトルが必要です
{ "%%args.notification.title": "Test Notification Please Ignore" }
通知は特定のトピックに対してのみ使用してください
{ "%%args.to": "%%values.validTopics" }
通知は限られたユーザー ID にのみ送信可能
{ "%%true": { "%function": { "name": "allUserIdsAreValid", "arguments": [ "%%args.userIds" ] } } }
注意
このテンプレートでは、次の処理を実行するallUserIdsAreValid
という名前のサンプル関数を呼び出します。
userIds
引数で提供されたユーザー ID のリストを受け入れます現在のユーザーの ID に一致するユーザー ドキュメントを MongoDB に照会します
提供された電話番号をユーザー ドキュメントに記載されている番号と比較します
比較のブール値を返します
exports = function(toPhone) { const mdb = context.services.get('mongodb-atlas'); const users = mdb.db('demo').collection('users'); const user = users.findOne({ _id: context.user.id }); return user.phoneNumber === toPhone; }
プッシュ通知ルール
プッシュ通知のルールを指定するには、 Push Notificationsページの [ Rules ] タブをクリックします。
注意
App Services の他のサービスと違い、プッシュ通知のルールは任意です。 デフォルトでは、すべてのプッシュ通知が許可されています。 ただし、ルールを指定すると、そのルールによって課せられる制限が有効になります。
プッシュ通知 ルールでは、次の引数が許可されています。 "%%args"
展開でアクセスできます。
フィールド | タイプ | 説明 |
---|---|---|
userIds | 文字列の配列。 | メッセージ受信者のユーザー ID。 |
to | 文字列 | メッセージの受信者。 値は、デバイスの登録トークン、デバイスグループの通知キー、または単一のトピック( /topics/ がプレフィックス付き)にすることができます。 |
registrationTokens | 文字列の配列。 | マルチキャスト メッセージを受信しているデバイスの登録トークンのリスト。 |
priority | string | 通知の優先順位。 値は "high" または"normal" のいずれかです。 FCM 経由の HTTP JSON メッセージのpriority オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
collapseKey | string | 削減可能なメッセージに関連付けられた削減キー。 FCM 経由の HTTP JSON メッセージの collapse_key オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
contentAvailable | ブール値 | メッセージの受信時にアイドル状態のクライアント アプリを起動するかどうかを決定するフラグ。 FCM 経由の HTTP JSON メッセージの content_available オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
mutableContent | ブール値 | 通知内容をユーザーに表示する前に変更できるかどうかを決定するフラグ。 FCM 経由の HTTP JSON メッセージの mutable_content オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
timeToLive | 整数 | デバイスがオフラインの場合にメッセージを保持する最大時間(ミリ秒単位)。 有効な値の範囲は 0 から 2419200 です。 FCM 経由の HTTP JSON メッセージの |
data | JSON document | データ メッセージのペイロード。 data ドキュメントは、カスタム キーと値のペアで構成されています。 FCM 経由の HTTP JSON メッセージのdata オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
notification | JSON document | 通知のペイロード。 notification ドキュメントは事前定義されたフィールドで構成されています。 FCM 経由の HTTP JSON メッセージのnotification オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
通知ドキュメント フィールド
次の表では、プッシュ通知ルールの許可フィールドとして使用できるnotification
ドキュメントのフィールドが示されています。 ルール内のこれらのフィールドのいずれかにアクセスするには、 "%%args.notification.<field>"
を使用します。
フィールド | タイプ | 説明 |
---|---|---|
title | string | 通知のタイトル。 FCM 経由の HTTP JSON メッセージの title オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
body | string | 通知の本文。 FCM 経由の HTTP JSON メッセージの body オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
sound | string | 通知の受信時に実行される名前。 FCM 経由の HTTP JSON メッセージの sound オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
clickAction | string | ユーザーが通知をクリックしたときに実行するアクション。 FCM 経由の HTTP JSON メッセージの click_action オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
bodyLocKey | string | ボディ string をローカライズするためのキー。 FCM 経由の HTTP JSON メッセージの body_loc_key オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
bodyLocArgs | string | ボディ string 内のローカライズのために形式指定子を置き換える string 値。 FCM 経由の HTTP JSON メッセージの body_loc_args オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
titleLocKey | string | タイトル string をローカライズするためのキー。 FCM 経由の HTTP JSON メッセージの title_loc_key オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
titleLocArgs | string | タイトル string 内のローカライズの形式指定子を置き換える string 値。 FCM 経由の HTTP JSON メッセージの title_loc_args オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
icon | string | Android のみ。 通知アイコン。 FCM 経由の HTTP JSON メッセージの icon オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
color | string | Android のみ。 アイコンの色を #rggb 形式で示します。 FCM 経由の HTTP JSON メッセージの color オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
tag | string | Android のみ。 指定した場合、各通知によって新しいエントリは作成されず、既存のエントリが指定されたタグに置き換えられます。 設定されていない場合、通知ごとに新しいエントリが作成されます。 FCM 経由の HTTP JSON メッセージの tag オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |
badge | string | iOS のみ。 gclient アプリのホームページ アイコンのバッジ。 FCM 経由の HTTP JSON メッセージの badge オプションに対応します。 FCM HTTP プロトコル リファレンスを参照してください。 |