Microsoft Teams でユーザーにアクティビティ フィード通知を送信する

Microsoft Teams アクティビティ フィードを使用すると、ユーザーは変更を通知することで注意が必要な項目をトリアージできます。 Microsoft Graph のアクティビティ フィード通知 API を使用すると、この機能をアプリに拡張できます。 これにより、アプリは、使用するツールやワークフローの変更に合わせてユーザーを最新の状態に保つことができるので、より充実したエクスペリエンスを提供し、ユーザーをより惹きつけることができます。

アクティビティ フィード通知の使用例

  • ニュース: ユーザーが新しい課題や新しい投稿などの最新情報を常に把握するのに役立ちます。
  • コラボレーション: ファイルを共有するか、コメントでユーザーを @メンションすると、ユーザーは通知バナーにテキスト プレビューを表示できます。
  • アラーム: イベントまたはタスクについて知らせる通知。 たとえば、今日のトレーニングの期限があり、タスクやイベントを思い出すのに役立つリマインダー通知がアプリから送信されます。
  • アラート: 緊急または即時の対応を必要とする通知。 たとえば、トレーニングの期限が過ぎていたり、管理者が最も優先度の高いバグを修正する要求を送信したりした場合などです。

アクティビティ フィード通知の利点

  • アクティビティ フィード通知はネイティブ Teams 統合であり、ユーザーをシームレスにタブ アプリに誘導し、 アクティビティ からアプリにユーザー エンゲージメントを高めます。
  • アクティビティ フィードの通知は、Teams デスクトップおよびモバイル クライアントの OS 通知に付属しているため、システムのポップアップとサウンドからユーザーの注意が引かれます。
  • 通知コンテンツは高度にカスタマイズ可能で、ユーザーは通知されたイベントの概要をプレビューできます。
  • アプリを通知にディープ リンクして、ユーザーが通知を選択すると、ユーザー アプリのエンゲージメントを高めることができます。
  • アクティビティ フィード通知をさまざまな受信者に送信できます。 たとえば、個人用通知を送信したり、ユーザーのグループにバッチ通知を送信したりします。
  • アプリ マニフェスト (以前は Teams アプリ マニフェストと呼ばれていました) のローカライズでは、アクティビティ フィード通知のテンプレート化されたテキストがサポートされます。

アクティビティ フィード通知の基本を理解する

Teams では、アクティビティ フィードの通知は、次の図に示すように、複数の情報で構成されます。

スクリーンショットは、アクティビティ フィード通知のコンポーネントを示しています。

コンポーネントには次のものが含まれます。

カウンター 説明
1 アバター: アクティビティを開始したユーザーが表示されます。
2 アクティビティの種類またはアプリ アイコン: アクティビティの種類またはアプリのアイコンは、アクティビティの種類を表します。 アプリ通知の場合、行アイコンはアプリ アイコンに置き換えられます。
3 タイトル: アクター + 理由: アクター: アクティビティを開始したユーザーまたはアプリの名前。 理由: アクティビティについて説明します。
4 タイムスタンプ: アクティビティがいつ発生したかが表示されます。
5 テキスト プレビュー: 通知の先頭から切り捨てられた行を表示します。
6 場所: Teams でアクティビティが発生した場所が表示されます。

次の例は、通知に関する詳細を提供するコンポーネントの両方を示しています。

スクリーンショットは、通知の例を示しています。

アクティビティ フィード通知カードの種類

次のバリエーションは、表示できるアクティビティ フィード通知カードの種類を示しています。 アプリのロゴは、アプリによって生成される通知のユーザーのアバターを置き換えます。

デスクトップのアクティビティ フィード通知を示すスクリーンショット。

カウンター 説明
1 Teams カスタム
2 Windows
3 Mac

アクティビティ フィード通知 API を使用するための要件

アクティビティ フィード API は、Teams アプリと連携します。 アクティビティ フィード通知を送信するための要件は次のとおりです。

  • アプリ マニフェストの Microsoft Entra アプリ ID を webApplicationInfo セクションに追加する必要があります。 詳細については、「 アプリ マニフェスト スキーマ」を参照してください。
  • アクティビティ通知は、アプリ マニフェストにアクティビティ タイプを追加した場合でも、追加しなくても送信できます。
  • Teams アプリは、受信者に対して個人的に、または受信者が参加しているチームまたはチャットにインストールする必要があります。

アクセス許可

委任されたアクセス許可またはアプリケーションのアクセス許可を使用して、アクティビティ フィード通知を送信します。 アプリケーションのアクセス許可を使用する場合は、アクティビティ通知を送信するためにユーザーがTeamsActivity.Send.Userアクセス許可に同意するため、リソース固有の同意 (RSC) を使用することをお勧めします。 アプリ マニフェスト ファイルに RSC アクセス許可を追加してください。

アプリ マニフェストの更新

このセクションでは、アプリ マニフェストに追加する必要がある更新プログラムについて説明します。 アプリ マニフェスト バージョン 1.7 以降を使用していることを確認してください。

"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",

webApplicationInfo update

"webApplicationInfo":
{
    "id": "a3111f15-658e-457c-9689-fd20fe907330",
    "resource": "https://contosoapp.com"
}
パラメーター 型 説明
id string Microsoft Entra アプリ ID (クライアント ID)。
resource string Microsoft Entra アプリに関連付けられているリソース。 Microsoft Azure ポータルでは、返信 URL またはリダイレクト URL とも呼ばれます。

注:

同じスコープ内の複数の Teams アプリ (チーム、チャット、またはユーザー) が同じ Microsoft Entra アプリを使用していると、エラーが発生する可能性があります。 固有の Microsoft Entra アプリを使用していることを確認します。

アクティビティの更新

"activities":
{
  "activityTypes": [
    {
      "type": "taskCreated",
      "description": "Task Created Activity",
      "templateText": "{actor} created task {taskId} for you"
    },
    {
      "type": "approvalRequired",
      "description": "Deployment requires your approval",
      "templateText": "{actor} created a new deployment {deploymentId}"
    }
  ]
}
パラメーター 型 説明
type string 動作状況の種類。 これは、特定のアプリ マニフェスト内で一意である必要があります。
説明 string 人間が読める簡単な説明。 これは Teams クライアントに表示されます。
templateText string アクティビティ通知のテンプレート テキスト。 パラメーターを追加するには、 {} にパラメーターをカプセル化します。

注:

  • actor は、常に呼び出し元の名前を受け取る特別なパラメーターです。 委任された呼び出しでは、 actor はユーザーの名前です。 アプリケーションのみの呼び出しでは、Teams アプリの名前を取得します。
  • 予約済み systemDefault アクティビティの種類は、アプリ マニフェストの activities セクションに含めてはなりません。 systemDefaultアクティビティタイプを使用すると、アクティビティフィード通知のActor+Reason行に自由形式のテキストを提供できます。

承認の更新

"authorization": 
{ 
  "permissions": { 
    "resourceSpecific": [ 
      {
        "type": "Application", 
         "name": "TeamsActivity.Send.User" 
      }, 
      { 
        "type": "Application",
        "name": "TeamsActivity.Send.Group"
      }, 
      { 
        "type": "Application", 
        "name": "TeamsActivity.Send.Chat" 
      } 
    ] 
  }
}
パラメーター 型 説明
type string RSC アクセス許可の種類。
name string RSC アクセス許可の名前。 詳細については、「サポートされている RSC アクセス許可」を参照してください。

Teams アプリをインストールする

Teams アプリは、ユーザーがアクティビティ フィード通知を受信するには、チーム、チャット、または個人用スコープ内のユーザーにインストールする必要があります。 詳細については、「 Teams アプリの配布方法」を参照してください。 開発目的の場合、 カスタム アプリのアップロードを優先します。 開発後、1 つのテナントに公開するか、すべてのテナントに公開するかに基づいて、適切な配布方法を選択できます。

Teams アプリのインストール API を使用して、Teams アプリのインストールを管理することもできます。

ユーザーにアクティビティ フィード通知を送信する

Teams アプリはユーザー、チーム、またはチャットにインストールできるため、次の 3 つのコンテキストで通知を送信することもできます。

また、通知は、一度に最大 100 人のユーザーに一括で送信できます。

各シナリオでサポートされているトピックの詳細については、特定の API を参照してください。 カスタムのテキストベースのトピックは、すべてのシナリオでサポートされています。

アクティビティ フィード通知は、次のシナリオで使用できます。

  • 注意を必要とするカスタマイズされたコンテンツについて個人に通知します。
  • タブ アプリまたは URL にリッチ コンテンツを表示します。
  • 複雑なユーザー操作をサポートします。
  • 通知を開始したユーザーからの委任された通知を送信する。
  • アプリ マニフェストにテンプレートを配置します。
  • Teams が通知のローカライズを処理します。

注:

アクティビティ アイコンは、要求が行われたコンテキストに基づきます。 委任されたアクセス許可を使用して要求が行われた場合、ユーザーの写真がアバターとして表示され、Teams アプリ アイコンがアクティビティ アイコンとして表示されます。 アプリケーションのみのコンテキストでは、Teams アプリ アイコンがアバターとして使用され、アクティビティ アイコンは省略されます。

通知をカスタマイズする

Teams ユーザーは、自分のフィードまたはバナーとして表示する通知をカスタマイズできます。 アクティビティ フィード API を通じて生成された通知はカスタマイズすることもできます。 ユーザーは、Teams の設定から通知を受け取る方法を選択できます。 次のスクリーンショットに示すように、Teams アプリが一覧に表示され、ユーザーが選択できます。

スクリーンショットは、[カスタム] オプションが強調表示された Teams の通知設定を示しています。

ユーザーは、アプリの横にある [編集 ] を選択して、通知をカスタマイズできます。 アプリ マニフェストによって description フィールドが表示されます。

Teams アプリのバナーとフィードにカスタマイズされた通知を示すスクリーンショット。

例

アクティビティ フィード通知を送信する方法の例については、「 アクティビティ フィード通知の送信例」を参照してください。

アクティビティ フィード通知の送信用に予約済みのアクティビティの種類

  • systemDefaultアクティビティの種類は予約済みであるため、アクティビティの追加時にアプリ マニフェストで使用することはできません。
  • 通知のテンプレート化は、反復的で大規模なバッチの通知については、アプリ マニフェスト内のアクティビティ テンプレートに依存するため、テンプレート化された通知を使用することをお勧めします。
  • systemDefault で予約されたアクティビティの種類は、他のアクティビティの種類がアプリ マニフェストにリストされている場合でも使用できます。

systemDefault アクティビティ タイプの利点と制限事項は次のとおりです。

利点 制限事項
新しいシナリオをテストし、アクティビティ タイプをアプリ マニフェストに追加せずにアクティビティ フィード通知 API を試すことができます。

Teams ストア アプリを使用すると、 systemDefault アクティビティの種類を使用すると、アプリ マニフェスト内のアクティビティの種類を常に調整する必要がなくなるため、プロセスが簡素化され、時間が節約されます。 systemDefault アクティビティの種類は、すぐに使用する準備ができています。
アプリ マニフェストによって提供される組み込みのローカライズ機能を利用することはできません。

systemDefault アクティビティの種類では、カスタマイズ可能な通知を送信することはできません。 ユーザーは、Teams クライアント設定のトグルを使用してアプリからのすべての通知をオフにすることができます。これにより、アプリとそのユーザー間の通信が妨げられる可能性があります。

コード サンプル

サンプルの名前 説明 .NET Node.js
アクティビティ フィード通知を送信する サンプル アプリでは、Microsoft Graph API を使用してアクティビティ フィード通知を送信する方法を示します。 表示 表示

ステップ バイ ステップのガイド

ステップ バイ ステップ ガイドに従って、Teams でアクティビティ フィード通知を送信します。

関連項目