随着科技的飞速发展,我们的通信方式也在不断地更新和演变。视频彩信,作为一种新型的通信方式,已经开始在市场推广中占据一席之地。那么,视频彩信推广具有哪些优势呢?
1.视听双重冲击,提高用户吸引力
传统的短信推广主要以文字为主,用户接收到的信息往往显得单调乏味。而视频彩信则不同,它结合了视频和音频的优势,通过生动的画面和悦耳的音乐,给用户带来强烈的视听冲击,从而极大地提高了用户的吸引力。
2.内容丰富,提高信息传递效率
视频彩信可以包含更多的内容,比如产品展示、使用教程、客户反馈等,使得信息传达更加全方面和深入。同时,由于其直观的表现形式,用户能更快地理解和接收信息,提高了信息传递的效率。
3.高度个性化,增强用户体验
视频彩信可以根据不同的用户群体和需求,进行个性化的定制。无论是内容还是风格,都可以做到高度个性化,满足不同用户的需求。这种个性化的推广方式,无疑会增强用户的体验,提高用户的满意度。
4.覆盖广泛,提高品牌影响力
视频彩信的接收设备主要是手机,而手机在现代社会的普及率极高,几乎人人都有。这使得视频彩信的推广覆盖面广泛,无论用户身处何地,都能接收到推广信息。这种广泛的覆盖,无疑会提高品牌的影响力,帮助企业在市场中获得更大的份额。
5.互动性强,提高用户参与度
视频彩信推广不仅可以传递信息,还可以接收用户的反馈。用户可以通过回复短信、点击链接等方式,与企业进行互动,表达自己的想法和意见。这种互动性的推广方式,无疑会提高用户的参与度,增强企业与用户之间的联系。
总的来说,视频彩信推广具有许多优势,无论是从提高用户吸引力、提高信息传递效率,还是从增强用户体验、提高品牌影响力、提高用户参与度等方面,都展现出其独特的魅力。在未来,随着移动设备的普及和网络技术的发展,视频彩信推广有望成为一种主流的市场推广方式,为企业的发展注入新的活力。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WinApiDemo
{
class Program
{
private const string url = "http://www.lokapi.cn/smsUTF8.aspx";
private const string urlReply = "http://www.lokapi.cn/callApi.aspx";
private const string urlStatus = "http://www.lokapi.cn/statusApi.aspx";
private const string urlBalance = "http://www.lokapi.cn/smsUTF8.aspx";
private const string urlKeyword = "http://www.lokapi.cn/checkWord.aspx";
private const string rece = "json";
private const string username = "";
private const string password = "";
private const string encode = "utf-8";
//token
private const string tokenYZM = "";//验证码
private const string tokenTZ = "";//通知
private const string tokenYX = "";//营销
private const string tokenMMS = "";//彩信
private const string tokenVideo = "";//视频
private const string tokenSX = "";//闪信
private const string tokenVoice = "";//语音
private const string tokenInter = "";//国际
//模板ID
private const string templateid = "";
//参数
private const string param = "17733861234|2541";
private const string mobile = "";
private const string title = "祝福短信";//彩信标题
static void Main(string[] args)
{
string result = "";
string sign = "";
string passwordMd5 = Common.Md5Hash(password);
string ticks = ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000).ToString();
Encoding encoding = Encoding.GetEncoding(encode);
StringBuilder sb = new StringBuilder();
#region 文字短信
sb.AppendFormat("action=sendtemplate&username={0}&password={1}&token={2}×tamp={3}", username, passwordMd5, tokenYZM, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
sb.AppendFormat("&templateid={0}¶m={1}", templateid, param);
result = Common.HttpPost(url, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 彩信
sb.Clear();
sb.AppendFormat("action=sendimagetext&username={0}&password={1}&token={2}×tamp={3}", username, passwordMd5, tokenYZM, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
sb.AppendFormat("&mobile={0}&title={1}", mobile, title);
//彩信发送主体
//文字
string content = "祝你生日快乐";
Encoding encodingGB = Encoding.GetEncoding("gb2312");
byte[] txt_bytes = encoding.GetBytes(content);
string txt = Convert.ToBase64String(txt_bytes);
//图片
string path = @"D:\我的文档\Pictures\11.jpg";
string extension = "jpg";//图片后缀
byte[] bytes = File.ReadAllBytes(path);
string imgContent = System.Convert.ToBase64String(bytes);
string message = string.Format("txt|{0},{1}|{2};", txt, extension, imgContent);
message = message.Replace("%", "%25");
message = message.Replace("&", "%26");
message = message.Replace("+", "%2B");
sb.AppendFormat("&message={0}", message);
result = Common.HttpPost(url, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 视频
sb.Clear();
sb.AppendFormat("action=sendvideo&username={0}&password={1}&token={2}×tamp={3}", username, passwordMd5, tokenYZM, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
sb.AppendFormat("&mobile={0}&templateid={1}", mobile, templateid);
result = Common.HttpPost(url, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 闪信
sb.Clear();
sb.AppendFormat("action=sendshanxin&username={0}&password={1}&token={2}×tamp={3}", username, passwordMd5, tokenYZM, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
sb.AppendFormat("&templateid={0}¶m={1}", templateid, param);
result = Common.HttpPost(url, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 语音
sb.Clear();
sb.AppendFormat("action=sendvoice&username={0}&password={1}&token={2}×tamp={3}", username, passwordMd5, tokenYZM, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
sb.AppendFormat("&templateid={0}¶m={1}", templateid, param);
result = Common.HttpPost(url, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 国际
sb.Clear();
sb.AppendFormat("action=sendinternation&username={0}&password={1}&token={2}×tamp={3}", username, passwordMd5, tokenYZM, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
sb.AppendFormat("&templateid={0}¶m={1}", templateid, param);
result = Common.HttpPost(url, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 文字回复报告
sb.Clear();
sb.AppendFormat("action=sms&username={0}&password={1}×tamp={2}", username, passwordMd5, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
result = Common.HttpPost(urlReply, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 状态报告
sb.Clear();
//action根据API文档选择合适产品的action
sb.AppendFormat("action=sms&username={0}&password={1}×tamp={2}", username, passwordMd5, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
result = Common.HttpPost(urlStatus, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 余额查询
sb.Clear();
sb.AppendFormat("action=overage&username={0}&password={1}&token={2}×tamp={3}", username, passwordMd5, tokenTZ, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}", sign, rece);
result = Common.HttpPost(urlBalance, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
#region 屏蔽词检测
sb.Clear();
sb.AppendFormat("username={0}&password={1}×tamp={2}", username, passwordMd5, ticks);
sign = Common.Md5Hash(sb.ToString());
sb.AppendFormat("&sign={0}&rece={1}&message={2}", sign, rece, "您的验证码是5412");
result = Common.HttpPost(urlKeyword, sb.ToString(), encoding);
Console.WriteLine(result);
#endregion
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace WinApiDemo
{
public class Common
{
public static string HttpPost(string Url, string Body, Encoding encode)
{
string ResponseContent = "";
try
{
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(Url);
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.Method = "POST";
httpWebRequest.Timeout = 600000; //setInstanceFollowRedirects
byte[] btBodys = encode.GetBytes(Body);
httpWebRequest.ContentLength = btBodys.Length;
Stream reqStream = httpWebRequest.GetRequestStream();
reqStream.Write(btBodys, 0, btBodys.Length);
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
Stream resStream = httpWebResponse.GetResponseStream();
StreamReader streamReader = new StreamReader(resStream, encode);
ResponseContent = streamReader.ReadToEnd();
streamReader.Close();
resStream.Close();
reqStream.Close();
streamReader.Dispose();
resStream.Dispose();
reqStream.Dispose();
httpWebResponse.Close();
httpWebResponse.Dispose();
httpWebRequest.Abort();
}
catch (Exception ex)
{
return ex.ToString();
}
return ResponseContent;
}
public static string Md5Hash(string input)
{
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString().ToUpper();
}
}
}