概述

这是 JPush REST API 的 C# 版本封装开发包,是由极光推送官方提供的,一般支持最新的 API 功能。

对应的 REST API 文档:http://docs.jpush.io/server/rest_api_v3_push/

环境配置

在 jpush-api-csharp-client 项目根目录可以下载下面的两个文件。

  • 在项目引用中添加依赖包: Newtonsoft.Json.dll

  • 在项目引用中添加: cn.jpush.api.dll

    Push API v3

    向某单个设备或者某设备列表推送一条通知或者消息

    推送的载体:PushPayload

    对应 REST API 中 Push API v3 的 json 格式说明文档 http://docs.jpush.io/server/rest_api_v3_push/

  • 推送的载体:类PushPayload

  • Platform 平台信息(必填)

  • Audience 推送目标(必填)

  • Notification 通知内容(可选)

  • Message 消息内容(可选)

  • Options 可选参数(可选)

    推送样例

    进行推送的关键在于构建一个 PushPayload 对象。以下示例一般的构建对象的用法。

    • 快捷地构建推送对象:所有平台,所有设备,内容为 ALERT 的通知。
    public static PushPayload PushObject_All_All_Alert()
    {
    PushPayload pushPayload = new PushPayload();
    pushPayload.platform = Platform.all();
    pushPayload.audience = Audience.all();
    pushPayload.notification = new Notification().setAlert(ALERT);
    return pushPayload;
    }
    • 构建推送对象:所有平台,推送目标是别名为 "alias1",通知内容为 ALERT。
    public static PushPayload PushObject_all_alias_alert()
    {
    PushPayload pushPayload_alias = new PushPayload();
    pushPayload_alias.platform = Platform.android();
    pushPayload_alias.audience = Audience.s_alias("alias1");
    pushPayload_alias.notification = new Notification().setAlert(ALERT);
    return pushPayload_alias;
    }
    • 构建推送对象:平台是 Android,目标是 tag 为 "tag1" 的设备,内容是 Android 通知 ALERT,并且标题为 TITLE。
    public static PushPayload PushObject_Android_Tag_AlertWithTitle()
    {
    PushPayload pushPayload = new PushPayload();
    pushPayload.platform = Platform.android();
    pushPayload.audience = Audience.s_tag("tag1");
    pushPayload.notification = Notification.android(ALERT,TITLE);
    return pushPayload;
    }
    • 构建推送对象:平台是 iOS,推送目标是 "tag1", "tag_all" 的并集,推送内容同时包括通知与消息 - 通知信息是 ALERT,角标数字为 5,通知声音为 "happy",并且附加字段 from = "JPush";消息内容是 MSG_CONTENT。通知是 APNs 推送通道的,消息是 JPush 应用内消息通道的。APNs 的推送环境是“生产”(如果不显式设置的话,Library 会默认指定为开发)
    public static PushPayload PushObject_ios_tagAnd_alertWithExtrasAndMessage()
    {
    PushPayload pushPayload = new PushPayload();
    pushPayload.platform = Platform.android_ios();
    pushPayload.audience = Audience.s_tag_and("tag1", "tag_all");
    var notification = new Notification();
    notification.IosNotification = new IosNotification().setAlert(ALERT)
    .setBadge(5)
    .setSound("happy")
    .AddExtra("from","JPush";
    pushPayload.notification = notification;
    pushPayload.message = Message.content(MSG_CONTENT);
    return pushPayload;
    }
  • C# SDK 下载地址:https://github.com/jpush/jpush-api-csharp-client 

JPush API client library for C Sharp(极光推送API)的更多相关文章

  1. 极光推送 api ios参数问题

    这是首个app项目,推送用的是极光推送jpush 由于用官方文档出现接收多条的问题,在网上找到一套封装好的,非常感觉这位开发者 //推送.指定人error_reporting(E_ALL^E_NOTI ...

  2. Phonegap 极光推送api 服务器端推送代码

    .net 版本 极光推送 后台接口 HttpWebResponseUtility类 using System; using System.Collections.Generic; using Syst ...

  3. 极光推送API

    https://github.com/jpush/jpush-api-ruby-client/blob/master/docs/Guides.md#%E6%9B%B4%E6%96%B0%E8%AE%B ...

  4. 关于ios极光推送server端注意的地方

    今天试用了极光推送API 用它是因为,大多数人说它的文档是最全的,但是用过之后,发现关于IOS的文档,还是很不够,导致走了一点弯路! 特别是服务端的代码:https://github.com/jpus ...

  5. iOS极光推送SDK的使用流程

    一.极光推送简介 极光推送是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,整合了iOS.Android和WP平台的统一推送服务.使用起来方便简单,已于集成,解决了原生远程推送繁 ...

  6. Cordova 集成极光推送

    1.申请极光推送账号,创建应用,配置包等信息,可以获得AppKey,用于添加Cordova插件,这部分暂不细讲,根据官网的提示操作就能完成. 2.命令窗口给cordova项目添加极光推送插件 cord ...

  7. 极光推送Jpush(v3)服务端PHP版本的api脚本类

    原文地址:http://www.dodobook.net/php/780 关于极光推送的上一篇文章已经说明了,此处就不多说了.使用v3版本的原因是v2使用到2014年年底就停止了.点击查看上一篇的地址 ...

  8. 极光推送Jpush(v3)服务端PHP版本集成(V3版本只调用推送API)

    因为版本升级,极光推送的API也有了V3,功能也更丰富了,但是对于我们有的用户来说,我们还是只需要调用推送的API就够了. 下载了一份PHP服务端的SDK(下载地址:http://docs.jpush ...

  9. JPush极光推送 Java调用服务器端API开发

       极光推送是:使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验.简单的说就是通过JPush后台管理网站进行app消息的推送.可以让用户及时 ...

随机推荐

  1. Jquery序列化与反序列化备忘

    序列化:JSON.stringify(obj) 反序列化:$.parseJSON(str)

  2. SSH 端口转发+内网穿透

    用最直白的语言对本文所有内容进行定义: 端口转发(-L):用A机器(内网)登录B机器(公网), 在A机器打开端口,将收到的所有请求转发到B机器的某个端口 (在代理机上执行) 内网穿透(-R):用A机器 ...

  3. 15、java中的内部类介绍

    内部类顾名思义就是定义在类中的类,下面做一个简单介绍: 内部类的访问规则:1,内部类可以直接访问外部类中的成员,包括私有. 之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 ...

  4. 如何用Matplotlib绘制三元函数

    #!/usr/bin/env python #coding=GBK from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm ...

  5. Mysql大范围分页优化案例

    在BBS线上业务抓到如下分页SQL: meizu_bbs meizu_bbs Query Sending data , meizu_bbs meizu_bbs Query Sending data , ...

  6. IQueryable,IEnumerable,List相互转换

    发个文记录一下犯的错误吧!!! 如果在使用ASP.NET MVC很多的数据存取都是以IQueryable<>泛型类接收,那么在做两个IQueryable<>集合拼接时对于新手可 ...

  7. HTML input-file 上传类型控制

    HTML input-file 上传类型控制 input file 属性 accept 表示可以选择的文件MIME类型,多个MIME类型用英文逗号分开,常用的MIME类型见下表. 只能选择png和gi ...

  8. (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about t

    运行redis过程中,突然报错如下: (error) MISCONF Redis is configured to save RDB snapshots, but is currently not a ...

  9. 如何用CSS实现在新窗口打开链接?

    *如何用CSS实现在新窗口打开链接? <style type="text/css"> <!-- .target2 a:active {test:expressio ...

  10. 修改eclipse中包的显示结构为树形