本文以个推透传消息为例:
个推SDK下载地址:点击打开链接
开发准备见官方文档:http://docs.igetui.com/pages/viewpage.action?pageId=590077
类使用简图
个推管理类
/// <summary>
/// 个推管理类
/// </summary>
public class GetuiPushManager
{
//参数设置 <-----参数需要重新设置----->
private String APPID = ""; //您应用的AppId
private String APPKEY = ""; //您应用的AppKey
private String MASTERSECRET = ""; //您应用的MasterSecret
private String CLIENTID = ""; //您获取的clientID
private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm"; //HOST:OpenService接口地址
private IGtPush mPushHandler=null; //个推主类
/// <summary>
/// 初始化
/// </summary>
private void Init()
{
try
{
mPushHandler = new IGtPush(HOST, APPKEY, MASTERSECRET);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 建立个推服务器连接
/// </summary>
/// <returns></returns>
public bool Connect()
{
bool ret = false;
try
{
if (mPushHandler == null) Init();
ret=mPushHandler.connect();
}
catch (Exception ex)
{
throw ex;
}
return ret;
}
/// <summary>
/// 关闭与个推服务器建立的连接
/// </summary>
/// <returns></returns>
public bool Close()
{
bool ret = false;
try
{
if (mPushHandler == null) Init();
mPushHandler.close();
ret = true;
}
catch (Exception ex)
{
throw ex;
}
return ret;
}
/// <summary>
/// 推送消息
/// </summary>
/// <param name="msg">透传消息</param>
public void pushMessageToApp(String msg)
{
try
{
if (mPushHandler == null) Connect();
AppMessage message = new AppMessage();
/*消息模版:
1.TransmissionTemplate:透传模板
2.LinkTemplate:通知链接模板
3.NotificationTemplate:通知透传模板
4.NotyPopLoadTemplate:通知弹框下载模板
*/
TransmissionTemplate template = new TransmissionTemplate();
template.AppId = APPID;
template.AppKey = APPKEY;
//应用启动类型,1:强制应用启动 2:等待应用启动
template.TransmissionType = "1";
//透传内容
template.TransmissionContent = msg;
message.IsOffline = true; // 用户当前不在线时,是否离线存储,可选
message.OfflineExpireTime = 1000 * 3600 * 12; // 离线有效时间,单位为毫秒,可选
message.Data = template;
//message.PushNetWorkType = 0; //判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为非WIFI环境
//message.Speed = 1;
List<String> appIdList = new List<string>();
appIdList.Add(APPID);
List<String> phoneTypeList = new List<string>(); //通知接收者的手机操作系统类型
//phoneTypeList.Add("ANDROID");
//phoneTypeList.Add("IOS");
List<String> provinceList = new List<string>(); //通知接收者所在省份
//provinceList.Add("浙江");
//provinceList.Add("上海");
//provinceList.Add("北京");
List<String> tagList = new List<string>();
//tagList.Add("1002");
message.AppIdList = appIdList;
message.PhoneTypeList = phoneTypeList;
message.ProvinceList = provinceList;
message.TagList = tagList;
String pushResult = mPushHandler.pushMessageToApp(message, "toAPP任务别名");
}
catch (Exception ex)
{
throw ex;
}
}
}