モバイルアプリのプッシュ通知Issue ServiceNow モバイルアプリのプッシュ通知 概要 ここでの説明は、iOS と Android 向けの ServiceNow ネイティブのモバイルアプリに適用されます。通知をカスタムモバイルアプリケーションと統合する方法については、「カスタムプッシュアプリのプッシュ通知のセットアップ」を参照してください。 インスタンスから ServiceNow モバイルアプリに送信されるプッシュ通知ペイロードでは、次の属性がサポートされています。 メッセージ:通知アラートに表示されるメッセージテキスト。通知カテゴリ:事前定義されたアクション (ボタン) のうちどれを表示するか、およびアクションに応えてモバイルアプリを開くかどうかを決定するために使用されるオプションのカテゴリ。スクリプト:特定のボタンをタップすると実行されるスクリプト。スクリプトは、[sys_push_notif_act_script] テーブルに保存されます。レコード:通知に応えて開くオプションのレコード。Web パス:通知に応えて開くオプションの Web パスまたは URL。これは、レコード属性よりも優先されます。 サポートされているカテゴリ 通知カテゴリは、事前定義されたアクション (ボタン) のうちどれを表示するか、およびアクションに応えてモバイルアプリを開くかどうかを決定するために使用されます。 注意:ServiceNow モバイルアプリは、カスタムボタンタイトルをサポートしていません。事前定義されたボタンタイトルを指定するには、通知カテゴリを使用する以外に方法がありません。通知カテゴリは、インスタンスに保存されないため変更できません。 ServiceNow モバイルアプリは、次のカテゴリをサポートしています。 カテゴリ識別子ボタン 1 のタイトルボタン 1 の識別子ボタン 1 のモードボタン 2 のタイトルボタン 2 の識別子ボタン 2 のモードapprove_reject_foreground承認approve_foregroundフォアグラウンド却下reject_foregroundフォアグラウンドapprove_reject_background承認approve_backgroundバックグラウンド却下reject_backgroundバックグラウンドyes_no_foregroundはいyes_foregroundフォアグラウンドいいえno_foregroundフォアグラウンドyes_no_backgroundはいyes_backgroundバックグラウンドいいえno_backgroundバックグラウンドaccept_decline_foreground受け入れaccept_foregroundフォアグラウンド拒否decline_foregroundフォアグラウンドaccept_decline_background受け入れaccept_backgroundバックグラウンド拒否decline_backgroundバックグラウンド ペイロードの生成 プッシュ通知メッセージコンテンツレコードは、[sys_push_notif_msg_content] テーブルに保存されます。このレコードは、プッシュ通知ペイロードの生成に使用されます。ここでは、サンプルのスクリプトを使用して、動作とボタンがさまざまに異なるペイロードを生成する方法を示します。 レコードペイロード 通知を開くと、このペイロードが働いて、現在のレコードに対してアプリが開きます。通知にはボタンがありません。 (function buildJSON(/*GlideRecord*/ current, /*String*/ message, /*Object*/ attributes) { var json = {}; json = { "aps" : { "sound" : "default" }, "record" : { "table" : current.getTableName(), "sys_id" : current.sys_id } }; return json; })(current, message, attributes); Web パスペイロード 通知を開くと、このペイロードが働いて、カスタム Web パスまたは URL に対してアプリが開きます。通知にはボタンがありません。 (function buildJSON(/*GlideRecord*/ current, /*String*/ message, /*Object*/ attributes) { var json = {}; json = { "aps" : { "sound" : "default" }, "web_path" : "$vtb.do" }; return json; })(current, message, attributes); 承認/拒否フォアグラウンドペイロード 通知を開くか、ボタンをタップすると、このペイロードが働いて、現在のレコードに対してアプリが開きます。通知には [承認] ボタンと [却下] ボタンがあり、クリックするとフォアグラウンドでスクリプトがトリガーされて、アプリが開きます。 (function buildJSON(/*GlideRecord*/ current, /*String*/ message, /*Object*/ attributes) { var json = {}; json = { "aps" : { "sound" : "default", "category" : "approve_reject_foreground" }, "record" : { "table" : current.getTableName(), "sys_id" : current.sys_id }, "scripts" : {"approve_foreground" : "333ecc6253020200601fa3fc9ec58727", "reject_foreground" : "632ecc6253020200601fa3fc9ec58708" } }; return json; })(current, message, attributes); はい/いいえバックグラウンドペイロード 通知を開くと、このペイロードが働いて、現在のレコードに対してアプリが開きますが、ボタンをタップしたときには開きません。通知には [はい] ボタンと [いいえ] ボタンがあり、クリックするとバックグラウンドでスクリプトがトリガーされ、アプリは開きません。 (function buildJSON(/*GlideRecord*/ current, /*String*/ message, /*Object*/ attributes) { var json = {}; json = { "aps" : { "sound" : "default", "category" : "yes_no_background" }, "record" : { "table" : current.getTableName(), "sys_id" : current.sys_id }, "scripts" : {"yes_background" : "333ecc6253020200601fa3fc9ec58727", "no_background" : "632ecc6253020200601fa3fc9ec58708" } }; return json; })(current, message, attributes);