ホームページ > 記事 > WeChat アプレット > .net WeChat パブリック アカウントの開発
著者: Wang Xianrong
この記事では、次の内容を含む WeChat パブリック アカウントのテンプレート メッセージを紹介します。(1) TemplateMessage クラスの概要 (2) テンプレート ID を取得します。 4) テンプレート メッセージを送信します。 ( 5) プッシュ テンプレート メッセージ送信結果イベントを受信します。
1 TemplateMessage クラスの概要
TemplateMessage 静的クラスは、テンプレート メッセージに関連するメソッドをカプセル化します。以下の表を参照してください。
テンプレートidを取得 | |
テンプレートメッセージを送信 | |
2 業種を設定 | |
があります: Code—業種コード、Name—業種名、PrimaryIndustry—主な業種。 業種の設定例:
/// <summary> /// 设置所属行业 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSetIndustry_Click(object sender, EventArgs e) { string userName = lbPublicAccount.SelectedValue; string industryCode1 = "", industryCode2 = ""; int count = 0; foreach (ListItem item in cblIndustry.Items) { if (item.Selected) { count++; if (count == 1) industryCode1 = item.Value; else if (count == 2) { industryCode2 = item.Value; break; } } } if (count != 2) ltrMessage.Text = "请选择两个行业。"; else { ErrorMessage errorMessage = TemplateMessage.SetIndustry(userName, industryCode1, industryCode2); ltrMessage.Text = string.Format("设置所属行业{0}。{1}", errorMessage.IsSuccess ? "成功" : "失败", errorMessage.IsSuccess ? "" : errorMessage.ToString()); } } 设置所属行业示例
業種の設定例
3 テンプレートIDの取得 テンプレートIDの取得には、TemplateMessageクラスのGetIdメソッドを使用します。次のように定義されます:
/// <summary> /// 获取模板ID /// </summary> /// <param name="userName">公众号</param> /// <param name="shortTemplateId">模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式</param> /// <param name="errorMessage">返回获取是否成功</param> /// <returns>返回模板ID;如果获取失败,返回空字符串。</returns> public static string GetId(string userName, string shortTemplateId, out ErrorMessage errorMessage)注: (1) テンプレートが追加されていない場合、このメソッドは最初にテンプレートを追加し、次にテンプレート ID を返します。 (2) テンプレートが追加されている場合は、このメソッドを再度呼び出します。最後に取得したテンプレート ID とは異なる新しいテンプレート ID を返します。
テンプレート ID の取得例:
/// <summary> /// 添加并模板id /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGetTemplateId_Click(object sender, EventArgs e) { string userName = lbPublicAccount.SelectedValue; ErrorMessage errorMessage; string templateId = TemplateMessage.GetId(userName, txtTemplateIdShort.Text, out errorMessage); if (errorMessage.IsSuccess) ltrMessage.Text = string.Format("添加并获取模板id成功。模板id:{0}", templateId); else ltrMessage.Text = string.Format("添加并获取模板id失败。{0}", errorMessage.ToString()); }
テンプレート ID の取得例
4 テンプレート メッセージの送信テンプレート メッセージの送信には、TemplateMessage クラスの Send メソッドを使用します。メソッドは次のように定義されます。
/// 631fb227578dfffda61e1fa4d04b7d25 /// 发送模板消息 /// 039f3e95db2a684c7b74365531eb6044 /// 20e42ef3279b479672c1207a13c1abab公众号8bb7487ae6a16a43571bc14c7fcf93c2 /// b34a78e356dd5e42f9d330d79f145693接收消息的账号8bb7487ae6a16a43571bc14c7fcf93c2 /// f0116b851bf4413f5bf75b2a2aeb1058模板id8bb7487ae6a16a43571bc14c7fcf93c2 /// cbabe74617639c1c27560c98af959168详情地址8bb7487ae6a16a43571bc14c7fcf93c2 /// 657cc48a9fcdf82a27a82fe3fa9f4e77顶端颜色8bb7487ae6a16a43571bc14c7fcf93c2 /// c8a98340aded2d5f70b63a18be4bcac7数据8bb7487ae6a16a43571bc14c7fcf93c2 /// 2e8f4f2a373a35ec512cab8bc7c1425a返回发送是否成功8bb7487ae6a16a43571bc14c7fcf93c2 /// 2363942ed0d6cd3e85bae1dffa568116返回消息id;如果发送失败,返回-1。f7735d9f6a7af371769ab5c16d23b2f3 public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor, Tuple72ca0ee74ca7edd147f17f5da5225be9[] data, out ErrorMessage errorMessage)
このうち、dataパラメータはTuple型で、data.Item1はデータキー、data.Item2はデータ値、data.Item3は色です。表示されたデータ。
テンプレートメッセージの送信例:
/// <summary> /// 发送模板消息 /// </summary> /// <param name="userName">公众号</param> /// <param name="touser">接收消息的账号</param> /// <param name="templateId">模板id</param> /// <param name="detailUrl">详情地址</param> /// <param name="topColor">顶端颜色</param> /// <param name="data">数据</param> /// <param name="errorMessage">返回发送是否成功</param> /// <returns>返回消息id;如果发送失败,返回-1。</returns> public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor, Tuple<string, string, Color>[] data, out ErrorMessage errorMessage)
テンプレートメッセージの送信例
5 プッシュテンプレートメッセージを受信し、結果イベントを送信します
RequestTemplateSendJobFinishMessage クラスには、次の読み取り専用プロパティがあります: /// <summary>
/// 获取消息id
/// </summary>
public long MsgID { get; private set; }
/// <summary>
/// 获取群发消息的结果
/// </summary>
public string Status { get; private set; }
/// <summary>
/// 获取消息是否群发成功
/// </summary>
public TemplateMessageSendStatusEnum SendStatus
{
get
{
TemplateMessageSendStatusEnum status;
if (Status == sendFailedUserBlock)
status = TemplateMessageSendStatusEnum.UserBlock;
else if (Status == sendFailedSystemFailed)
status = TemplateMessageSendStatusEnum.SystemFailed;
else
status = TemplateMessageSendStatusEnum.Success;
return status;
}
}
以上が.net WeChat パブリック アカウントの開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。