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

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

アクティビティ フィード通知のユース ケース

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

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

  • アクティビティ フィード通知は、ユーザーを Tab アプリにシームレスに取り込み、 アクティビティ からアプリへの追加のユーザー エンゲージメントをもたらすネイティブの 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 更新プログラム

"webApplicationInfo":
{
    "id": "a3111f15-658e-457c-9689-fd20fe907330",
    "resource": "https://contosoapp.com"
}
パラメーター 説明
id string アプリ ID (クライアント ID) をMicrosoft Entraします。
resource string Microsoft Entra アプリに関連付けられているリソース。 Microsoft Azure Portal の応答 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 でアクティビティ フィード通知を送信するには、 ステップバイステップ ガイド に従います。

関連項目