Docs Menu
Docs Home
/ /
Atlas App Services
/

プッシュ通知

重要

サードパーティ サービスとプッシュ通知の廃止

Atlas App Services のサードパーティ サービスとプッシュ通知は非推奨となり、代わりに関数内の外部依存関係を使用する HTTP エンドポイントを作成できるようになりました。

Webhook はHTTPS endpointsに名前変更され、動作は変更されません。 既存の Webhook を移行する必要があります。

既存のサービスは、 30、2025 まで引き続き機能します。

サードパーティ サービスとプッシュ通知は非推奨になったため、App Services UI からデフォルトで削除されました。 既存のサードパーティ サービスまたはプッシュ通知を管理する必要がある場合は、次の操作を実行して構成を UI に追加できます。

  • 左側のナビゲーションの [ App Settings Manageセクションの下にある [] をクリックします。

  • Temporarily Re-Enable 3rd Party Servicesの横にあるトグル スイッチを有効にし、変更を保存します。

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 アプリケーションにプッシュ通知を統合する一般的なプロセスは次のとおりです。

  1. FCMの依存関係を追加します。

  2. プッシュ のインスタンスを作成します。

  3. push.registseDevice()を使用する またはpush.registerDeviceAsync() メソッドを使用して、クライアントをプッシュ通知に登録します。

  4. Use FirebaseMessaging の describeToToic() を使用してトピックにサブスクライブします。

  5. 抽象的な FirebaseMesgingService を拡張し、 onMessageField() メソッドを実装するクラスを作成します。このクラスは、FCM との通信を処理します。

  6. Android プロジェクトのAndroidManifest.xmlファイルを更新して、 FirebaseMessagingServiceからのクラスとアプリケーションのレシーバーを登録します。

Android クライアントとの FCM 統合に関する最新情報と詳細な手順については、 公式の「Androidガイドで Firebase Cloud メッセージングクライアントアプリを設定する」 を参照してください。

iOS アプリで App Services とともに FCM を使用するには、次の一般的な手順に従います。

  1. Apple Developer Member センター を通じて有効な Apple プッシュ通知サービス(APN)証明書を作成します。

  2. GoogleService-Info.plistファイルをXCodeプロジェクトにコピーします。

  3. FCM を構成し、iOS アプリを追加します。 アプリを登録すると、FCM は登録トークンを返します。

iOSクライアントとの FCM 統合に関する最新情報と詳細な手順については、公式iOSでガイドクラウド メッセージングクライアントアプリの設定を参照してください。

{
"%%args.notification.title": "Test Notification Please Ignore"
}
{
"%%args.to": "%%values.validTopics"
}
{
"%%true": {
"%function": {
"name": "allUserIdsAreValid",
"arguments": [
"%%args.userIds"
]
}
}
}

注意

このテンプレートでは、次の処理を実行するallUserIdsAreValidという名前のサンプル関数を呼び出します。

  1. userIds引数で提供されたユーザー ID のリストを受け入れます

  2. 現在のユーザーの ID に一致するユーザー ドキュメントを MongoDB に照会します

  3. 提供された電話番号をユーザー ドキュメントに記載されている番号と比較します

  4. 比較のブール値を返します

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メッセージの time_to_live オプションに対応します。FCM HTTPプロトコル参照を参照してください。

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プロトコル参照を参照してください。

戻る

パーティションベースの同期モード