1. Cloud development

通知クライアント

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

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

SDKは通知の管理と送信を行うNotifications clientを提供します。

!注以下のコード例におけるclient変数はIMClientインスタンスを指します。Web SDKを使用する場合、変数名は自由に選択できますが、ドキュメントではインスタンス化時に「 client 」とも呼ばれています。

メールテンプレート

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

IMailTemplateEntityはIEntityのサブタイプです。 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(entity);

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

シンプルなHello Worldテンプレートはこんな感じです:

CultureInfo enUs = CultureInfo.GetCultureInfo("en-US"); var entity = await MClient.EntityFactory.CreateAsync(Constants.MailTemplate.DefinitionName); var template = Client.TypedEntityFactory.FromEntity(entity); template.Name = "Hello world template"; template.SubjectenUs = "Hello there!"; template.DescriptionenUs = "Hello"; template.BodyenUs = "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メール通知

メールはユーザー名、ユーザー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/通知に基づいて構築されています。このAPIはすべての通知情報を含むoptionsオブジェクトを使用します。このオブジェクトはIRealtimeRequest.Optionsプロパティから直接渡されます。このオプションオブジェクトの設定を支援するためのヘルパーメソッドも提供されており、例えば通知の本文やアイコンなどがあります。

Send確認メール

!重要SendConfirmationEmailAsyncを動かすには、設定でEnableConfirmationMailをtrueに設定する必要があります。

ユーザーに確認メールを送信するには、IDやユーザー名を使って行えます:

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

これにより、指定されたユーザーにアカウントを有効化するための安全なリンクを含むメールが送信されます。

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