ブログ

[SAP BTP]SAP Build Work Zoneの通知機能でCloud Foundryアプリへ遷移させる(後編)通知の登録

この記事をSNSでシェア!

はじめに

株式会社KYOSOでは、SAP Build Work Zone 上での SAP Fiori アプリケーション開発や、クライアントへの技術支援を幅広く行っています。

前回の記事では通知機能 API を利用するための事前準備 と、NotificationType(通知テンプレート)の登録方法 についてご紹介しました。

本記事では、前回登録を行った通知テンプレートを使用し、実際に通知を登録してクリック後にアプリケーションへ遷移するまでの流れを、解説します。

これから通知機能の導入・運用を検討されている方や、技術調査を進めている方の参考になれば幸いです。


通知の基本的な仕組み

Work Zone の通知は提供されているAPIを使用し通知テンプレートを登録し、それを指定し通知を送るというような構成になります。

通知のテンプレート登録

②実際の通知の登録

本記事では②実際の通知の登録を行う方法について説明致します。


通知の登録

前回作成を行った通知テンプレートに対し実際に通知をPOSTします。

実際にユーザーに通知を送信します。

以下が通知を作成する際に使用するパラメーターになります。

フィールド必須詳細最大長
Id通知ごとに付与される 一意のID(UUID) 
ユーザーが通知をクリックするなどのアクションを行った際に、どの通知に対する操作なのかを識別します。
32
NotificationTypeKey

NotificationTypeVersion
テンプレートなどの決定のため、通知タイプの特定に使用されます。32

20
NavigationTargetAction

NavigationTargetObject
通知からアプリケーションへのナビゲーションに使用します。500

500
Priority通知の優先度を示します、通知に表示される画像が変化します。
High①

Medium②

Low③

Neutral④
*下記図参照
ActorId

ActorType

ActorDisplayText

ActorImageURL
通知を開始するアクタに関する詳細です。
例では、このアクタはユーザであり、これらのフィールドで詳細が示されます。
20

20

120
プロパティ
Keyテンプレートテキストのプロパティのキーを指定します。32
Valueテンプレートでのプロパティのプレースホルダを置き換える値です。255
Language通知の言語を指定します。
Typeフィールド Value で送信されるデータの EDM タイプです。20
IsSensitiveデータが機密であるかどうかを特定します。データが機密である場合、そのデータは暗号化され、データベースに保存されます。
RECIPIENTS (必須)
RecipientId受信者ユーザの電子メール IDを指定します。
TARGETPARAMETERS (オプション)
Key

Value
プロパティ NavigationTargetObject で指定されたターゲットアプリケーションに転送される名前と値のペアです。250

250

*Priority(優先度)パラメーターで設定した値によって、優先度別タブを選択した場合下記順番で通知が表示されます。

通知の作成

上記パラメーターを使用し実際に通知を行います。

POSTする内容は以下です。

項目内容
Addresshttps://生成した認証情報のホスト/v2/NotificationType.svc/NotificationTypes
AuthorizationBearer アクセストークン
Token取得した
X-CSRF-Token取得したX-CSRF-Token
Cookie取得したCookie
Acceptapplication/json
Body下記JSON 
{
    "NotificationTypeKey": "Test",//どのタイプのテンプレートを使用するかをIDで指定します。
    "NotificationTypeVersion": "0.3",//上記のバージョンを指定
    "NavigationTargetAction": "display",//クリック時に行うアクションの指定、今回はタイル表示のためDisplay
    "NavigationTargetObject": "tile01",//遷移するタイルのIDを指定します。
    "Priority": "Low",
    "Properties": [
        {
            "Key": "requester_name",//置き換えるテンプレートのKey
            "Language": "ja",
            "Value": "test太郎",//置き換える値
            "Type": "String"
        }
    ],
    "Recipients": [
        {
            "RecipientId": "test@mail.co.jp"//通知を送る対象のEmail
        }
    ]
}

今回はクリックされたアプリケーションへの遷移を行うためNavigationTargetObjectに遷移したいアプリケーションIDを指定します。

アプリケーションIDは、コンテンツマネージャから確認できます。


動作確認

実際に通知を確認します

RecipientIdで指定したユーザーでログインすると、通知を受け取っていることを確認できます。

ベルマークをクリックします。

指定した内容が、通知されていることが確認できます。

押下後、指定したアプリケーションの画面に遷移することが確認できました!

複数人への一括通知について

複数人に通知する場合にはRecipientsに追加することにより複数人に通知可能です。

    "Recipients": [
        {
            "RecipientId": "test1@mail.co.jp"
        },
        {
            "RecipientId": "test2@mail.co.jp"      
        }
    ]

まとめ

2回にわたり、SAP Build Work Zoneの通知機能を活用したCloud Foundryアプリ連携の手順を紹介しました。

今回は、提供されている通知 API を活用し、通知クリックによる画面遷移の実装方法について紹介しました。

これにより、単なる通知表示にとどまらず、ユーザーをアクションに直結させる通知UXを実現できます。本記事が、みなさまの通知機能導入や運用検討の一助となれば幸いです。
前後編にわたり、最後までお読みいただきありがとうございました。

KYOSOでは今後も、SAP BTP × Build Work Zone の拡張開発・運用ノウハウを発信していきます。

参考文献

通知付きの Cloud Foundry アプリケーションの開発

投稿者プロフィール

増田 駿也
増田 駿也
2021年入社、BS事業部所属。

現在はSAP BTP上でのSide-by-Side拡張開発に携わっており、SAP Fioriを活用したUI開発案件を担当しています。

社内のアプリケーションの開発基盤標準化や、社外活動の参加にも積極的に関わり、ナレッジの共有を通じてチーム全体のスキル向上にも貢献したいと考えています。
趣味はツーリング。
この記事をSNSでシェア!