1. WebクライアントSDK

通知クライアント

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このSDKは、通知を管理および送信するためのNotifications clientを提供します。

メモ

次のコード例のclient変数は、IMClientインスタンスを参照します。Web SDKを使用する場合、変数名は自由に選択できますが、ドキュメントではインスタンス化時にclientとも呼ばれます。

メールテンプレート

メール テンプレート エンティティには、メールを送信するためのテンプレートが含まれています。変数は実行時に解決できます。

IMailTemplateEntityIEntityのサブタイプです。これは、M.Mailing.Templateエンティティ定義のメンバーにC#プロパティとメソッドを提供します。

クライアントは、エンティティクライアントでは利用できないこれらのメールテンプレートを取得するための追加のゲッターを提供します。これにより、メールテンプレートを名前で取得できます。ただし、IEntityに対するすべての操作は、引き続きIMailTemplateEntityに適用されます。 IMailTemplateEntityオブジェクトの保存と削除は、引き続きエンティティクライアントを介して行われます。

メール テンプレートを取得する

名前でメールテンプレートを取得するには (たとえば、ユーザーがパスワードを忘れた場合のテンプレート):

var template = await MClient.Notifications.GetMailTemplateEntityAsync("ForgotPassword");

メールテンプレートをIDで取得することも可能であることに注意してください。

var entity = await MClient.Entities.GetAsync(id);
// create an instance of a typed IMailTemplateEntity
IMailTemplateEntity template = Client.TypedEntityFactory.FromEntity<IMailTemplateEntity>(entity);

メール テンプレートを作成する

単純なhello worldテンプレートは次のようになります。

CultureInfo enUs = CultureInfo.GetCultureInfo("en-US");
var entity = await MClient.EntityFactory.CreateAsync(Constants.MailTemplate.DefinitionName);
var template = Client.TypedEntityFactory.FromEntity<IMailTemplateEntity>(entity);
template.Name = "Hello world template";
template.Subject[enUs] = "Hello there!";
template.Description[enUs] = "Hello";
template.Body[enUs] = "Hello {{Username}}!";
template.SetPropertyValue("M.Mailing.TemplateLabel", enUs, "Hello world template");

var templateVariable = new TemplateVariable
{
  Name = "Username",
  VariableType = TemplateVariableType.String
};
template.SetTemplateVariables(new[] { templateVariable });

await MClient.Entities.SaveAsync(template);

メール通知Send email notifications

メールは、ユーザー名、ユーザーID、またはブロードキャストでユーザーに送信できます。 SendEmailNotificationAsyncにはそれぞれ3つのオーバーロードがあります。次の入力を受け入れます。

  • MailRequestById - IDでユーザーを特定するため。

  • MailRequestByUsername - ユーザー名でユーザーを指定するため。

  • MailRequestBroadcast - すべてのユーザーに送信します。

メールブロードキャストは、以前に作成したテンプレートを使用して送信できます。

var request = new MailRequestBroadcast
{
  MailTemplateName = "Hello world template"
};
request.Variables.Add("Username", "world");

await MClient.Notifications.SendEmailNotificationAsync(request);

これにより、「Hello world!」を含むメールが全員に送信されます。

リアルタイム通知Send

リアルタイム通知は、ユーザー名、ユーザーID、またはブロードキャストでユーザーに送信できます。 SendRealTimeNotificationAsyncにはそれぞれ3つのオーバーロードがあります。次の入力を受け入れます。

  • RealtimeRequestById - IDでユーザーを特定するため。

  • RealtimeRequestByUsername - ユーザー名でユーザーを指定するため。

  • RealtimeRequestBroadcast: - すべてのユーザーに送信します。

リアルタイムの通知をDemoUserに送信できます。

var request = new RealtimeRequestByUsername()
{
  Title = "Your notification title",
  Link = new System.Uri("https://example.com")
};
request.Recipients.Add("DemoUser");
request.SetBody("Your description");
request.SetIcon("https://example.com/image.png");

await MClient.Notifications.SendRealTimeNotificationAsync(request);

ユーザーが通知をクリックすると、リンクが開きます。

このリアルタイム要求インターフェイスは、標準の通知API (https://developer.mozilla.org/en-US/docs/Web/API/notification) に基づいて構築されています。このAPIでは、すべての通知情報を含むoptionsオブジェクトを使用します。このオブジェクトは、IRealtimeRequest.Optionsプロパティから直接渡されます。このオプション オブジェクトを構成するのに役立ついくつかのヘルパー メソッド (通知の本文やアイコンなど) が提供されています。

確認メールSend confirm emails

大事な

SendConfirmationEmailAsyncを機能させるには、設定でEnableConfirmationMailtrueに設定する必要があります。

ユーザーに確認メールを送信するには、IDまたはユーザー名を使用します。

await MClient.Notifications.SendConfirmationEmailAsync("DemoUser");

これにより、指定したユーザーに、アカウントをアクティブ化するための安全なリンクが記載された電子メールが送信されます。

この記事を改善するための提案がある場合は、 お知らせください!