此SDK已停止维护,请开发者对接 RestApi V2
访问个推开发者中心http://dev.getui.com, 注册个推开发者帐号,如下图所示:
创建账号成功并登录后,可以在应用列表中看到自动生成的【个推App Demo】,然后点击【创建推送】,如下图所示:
然后点击左侧菜单栏【配置管理】—> 【应用配置】,就能看到关于此app的配置信息,这些配置信息就是第五步使用SDK发送消息需要的AppID,AppKey,MasterSecret,如下图所示:
在应用【个推App Demo】点击【下载应用】,下载后安装到手机上,用来接受推送消息:
.NET Framework 版本
下载个推C# Demo,.NET Framework demo目录结构如下图所示:
.NET Core 版本
个推C# SDK支持.Net Core 版本 , 可以到后面的网址去下载的.Net SDK(版本要求>=2.2):(https://dotnet.microsoft.com/download/)
下载个推C# Demo, .NET Core demo 目录结构如下图所示:
下面以app推送接口为例来发送消息:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;
/**
*
* 说明:
* 此工程是一个测试工程,所用的相关.dll文件,都已经存在protobuffer文件里,需要加载到References里。
* 工程中还有用到一个System.Web.Extensions文件,这个文件是用到Framework里V4.0版本的,
* 一般路径如下:C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0,
* 或如下路径:C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5没有的也可以在protobuffer
* 文件夹里找到。如再有问题,请直接联系技术客服,谢谢!
* GetuiServerApiSDK:此.dll文件为个推C#版本的SDK文件
* Google.ProtocolBuffers:此.dll文件为Google的数据交换格式文件
* 注:
* 新增一个连接超时时间设置,通过在环境变量--用户变量中增加名为:GETUI_TIMEOUT 的变量(修改环境变量,
电脑重启后才能生效),值则是超时时间,如不设定,则默认为20秒。
**/
namespace GetuiServerApiSDKDemo
{
public class demo
{
//参数设置 <-----参数需要重新设置----->
//http的域名
private static String HOST = "http://api.getui.com/apiex.htm";
//https的域名
//private static String HOST = "https://api.getui.com/apiex.htm";
//定义常量, appId、appKey、masterSecret 采用本文档 "第二步 获取访问凭证 "中获得的应用配置
private static String APPID = "";
private static String APPKEY = "";
private static String MASTERSECRET = "";
static void Main(string[] args)
{
//toList接口每个用户状态返回是否开启,可选
Console.OutputEncoding = Encoding.GetEncoding(936);
Environment.SetEnvironmentVariable("gexin_pushList_needDetails", "true");
pushMessageToApp();
}
//pushMessageToApp接口测试代码
private static void pushMessageToApp()
{
IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
// 定义"AppMessage"类型消息对象,设置消息内容模板、发送的目标App列表、是否支持离线发送、以及离线消息有效期(单位毫秒)
AppMessage message = new AppMessage();
TransmissionTemplate template = TransmissionTemplateDemo();
message.IsOffline = true; // 用户当前不在线时,是否离线存储,可选
message.OfflineExpireTime = 1000 * 3600 * 12; // 离线有效时间,单位为毫秒,可选
message.Data = template;
//判断是否客户端是否wifi环境下推送,2:4G/3G/2G,1为在WIFI环境下,0为无限制环境
//message.PushNetWorkType = 0;
//message.Speed = 1000;
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("中文");
message.AppIdList = appIdList;
message.PhoneTypeList = phoneTypeList;
message.ProvinceList = provinceList;
message.TagList = tagList;
String pushResult = push.pushMessageToApp(message);
System.Console.WriteLine("-----------------------------------------------");
System.Console.WriteLine("服务端返回结果:" + pushResult);
}
//透传模板动作内容
public static TransmissionTemplate TransmissionTemplateDemo()
{
TransmissionTemplate template = new TransmissionTemplate();
template.AppId = APPID;
template.AppKey = APPKEY;
//应用启动类型,1:强制应用启动 2:等待应用启动
template.TransmissionType = 1;
//透传内容
template.TransmissionContent = "测试";
return template;
}
}
}
将上面的代码文件放入C# Demo的根目录,然后运行。如果收到下面一样的推送,恭喜你~推送成功了。