魅族开放平台 PUSH 系统 JAVA 版本 SDK JavaPushSdk 发布说明 ( 请使用最新版本 ) 中央仓库获取 MVN Repository 或者 Central Repository 直接下载获取 Java Server SDK 更新日志 [ ]V

Size: px
Start display at page:

Download "魅族开放平台 PUSH 系统 JAVA 版本 SDK JavaPushSdk 发布说明 ( 请使用最新版本 ) 中央仓库获取 MVN Repository 或者 Central Repository 直接下载获取 Java Server SDK 更新日志 [ ]V"

Transcription

1 魅族开放平台 PUSH 系统 JAVA 版本 SDK JavaPushSdk 发布 ( 请使用最新版本 ) 中央仓库获取 MVN Repository 或者 Central Repository 直接下载获取 Java Server SDK 更新日志 [ ]V _release 增加 sdk 日志配置文件 [ ]V _release 增加 pushid 开关关闭状态返回 [ ]V _release 通知栏消息聚合功能 [ ]V _release 推送 & 订阅域名解耦 [ ]V _release 通知栏 pushid alias 增加消息回执功能 [ ]V _release 开放统计 : 获取应用推送统计 ( 最长跨度 30 天 ) [ ]V _release 开放别名 标签订阅服务开放通知栏 透传消息开关 [ ]V _release fixed #12 [ ]V _release 推送结果增加 msgid 通过 msgid 以及推送目标在推送平台查询具体的推送日志明细 [ ]V _release 1/39

2 1.0.0 标准版 为优化 flyme 系统整体功耗, 推送平台决定本周五 (6 月 16 号 ) 起限制透传消息推送的使用, 不排除关闭透传推送 使用透传推送的业务请尽快切换到通知栏推送, 以避免消息推送失败 新接入的应用请使用通知栏推送受影响的及功能 : 1. pushid 透传消息推送 (pushmessage) 2. 别名透传消息推送 (pushmessagebyalias) 3. 获取 taskid 的透传推送 (gettaskid) 4. 全网透传推送 (pushtoapp) 5. 标签透传推送 (pushtotag) 6. 在平台上进行的透传推送 SDK 日志配置 本 SDK 是利用 JDK 中类 java.util.logging.logger 来记录日志, 如需 SDK 日志,classpath 中增加 flyme-pushlogger.properties 文件即可配置如下 handlers = java.util.logging.consolehandler,java.util.logging.filehandler java.util.logging.consolehandler.formatter = java.util.logging.simpleformatter java.util.logging.consolehandler.level = INFO java.util.logging.filehandler.pattern = c:/push.log%g.log java.util.logging.filehandler.formatter = java.util.logging.simpleformatter java.util.logging.filehandler.limit = java.util.logging.filehandler.count = 3 java.util.logging.filehandler.append = true java.util.logging.filehandler.level = INFO LOGGER.level = FINEST 定义 推送服务 (IFlymePush) 调用该类实例的方法来推送消息, 构造函数如下 : 必填 appsecret String 是 null 注册应用 appsecret 2/39

3 usessl Boolean 否 false 是否使用 https 调用 :true 使用 https 连接,false 使用 http 连接 订阅服务 (IFlymePushSub) 调用该类实例的方法做别名 标签 推送开关订阅服务, 构造函数如下 : 必填 appid Long 是 null 注册应用 appid appsecret String 是 null 注册应用 appsecret usessl Boolean 否 false 是否使用 https 调用 :true 使用 https 连接,false 使用 http 连接 通知栏消息体 (Message) 推送消息实体 ( 抽象类 ) 子类 VarnishedMessage UnVarnishedMessage 通知栏消息体 透传消息体 通知栏消息 (VarnishedMessage) 必 填 appid Long 是 null 注册应用 appid title String 是 null 推送标题, 字数限制 1~32 content String 是 null 推送内容, 字数限制 1~100 noticebartype int 否 0 noticeexpandtype int 否 0 通知栏样式 (0, " 标准 "),(2, " 安卓原生 ") 非必填, 值为 0 展开方式 (0, " 标准 "),(1, " 文本 ") 非必填, 值为 0 noticeexpandcontent String 否 null 展开内容, noticeexpandtype 为文本时, 必填 clicktype int 否 0 url String 否 null 点击动作 (0," 打开应用 "),(1," 打开应用页面 "),(2," 打开 URI 页面 "),(3, " 应用客户端自定义 ") 非必填, 值为 0 URI 页面地址, clicktype 为打开 URI 页面时, 必填, 长度限制 1000byte parameters JSONObject 否 null 透传参数 JSON 格式, 非必填 3/39

4 activity String 否 null customattribute String 否 null isoffline Boolean 否 true validtime int 否 24 pushtimetype int 否 0 starttime Date 否 null 应用页面地址, clicktype 为打开应用页面时, 格式 pkg.activity eg: com.meizu.upspushdemo.testactivity 必填 应用客户端自定义内容, clicktype 为应用客户端自定义时, 必填, 长度限制 1000byte 是否进离线消息, (false 否 true 是 ) 非必填, 值为 true 有效时长 (1~72 小时内的正整数 ), isoffline 值为 true 时, 必填, 值的范围 1~72 定时推送 (0, " 即时 "),(1, " 定时 "), 只对全部用户推送生效 任务定时开始时间, 非必填,pushTimeType 为 True 必填 只对全部用户推送生效 isfixspeed Boolean 否 false 是否定速推送, 非必填, 值为 False fixspeedrate Long 否 0 定速速率, isfixspeed 为 true 时, 必填 issuspend Boolean 否 true isclearnoticebar Boolean 否 true 是否通知栏悬浮窗显示 (true 显示,false 不显示 ) 非必填, True 是否可清除通知栏 (true 可以,false 不可以 ), 非必填, true isfixdisplay Boolean 否 false 是否定时展示 非必填, false fixdisplaytime (Date,Date) 否 (null,null) vibrate Boolean 否 true lights Boolean 否 true sound Boolean 否 true notifykey String 否 null 定时展示开始, 结束时间 fixdisplay 为 true 时, 必填, 并且开始时间要晚于结束时间 震动 (false 关闭 true 开启 ), 非必填, true 闪光 (false 关闭 true 开启 ), 非必填, true 声音 (false 关闭 true 开启 ), 非必填, true 分组合并推送的 key, 凡是带有此 key 的通知栏消息只会显示最后到达的一条 由数字 ([0-9]), 大小写字母 ([a-za-z]), 下划线 (_) 和中划线 (-) 组成, 长度不大于 8 个字符 extra Map<String, String> 否 null 回执参数 (ExtraParam) 透传消息 (UnVarnishedMessage) 4/39

5 必 填 默 认 appid Long 是 null 注册应用 appid title String 否 null 推送标题, 任务推送建议填写, 方便数据查询, 字数限制 1~32 content String 是 null 推送内容, 必填, 字数限制 3800byte 以内 isoffline Boolean 否 true 是否进离线消息, 非必填, 为 true validtime int 否 24 有效时长 (1~72 小时内的正整数 ), isoffline 值为 true 时, 必填, 值的范围 pushtimetype int 否 0 定时推送 (0, " 即时 "),(1, " 定时 "), 只对全部用户推送生效 starttime Date 否 null 任务定时开始时间, pushtimetype 为 1 必填 只对全部用户推 送生效 isfixspeed Boolean 否 false 是否定速推送, 非必填, 值为 false fixspeedrate Long 否 0 定速速率 isfixspeed 为 true 时, 必填 (ResultPack) 方法名称 code() String 响应码 Comment() String 响应 value() T 响应内容 errorcode() Enum 响应异常枚举详见 ErrorCode 消息推送结果 (PushResult) 方法名称 getmsgid() String 推送消息 ID, 用于推送流程明细排查 getresptarget() Map 推送目标结果状态 (KEY: 推送响应码 VALUE: 响应码对应的目标用户 ) 响应码定义 (ErrorCode) 名称 Code Commen UNKNOWN_ERROR -1 未知错误 SUCCESS 200 成功 SYSTEM_ERROR 1001 系统错误 SYSTEM_BUSY 1003 服务器忙 5/39

6 PARAMETER_ERROR 1005 参数错误, 请参考 API 文档 INVALID_SIGN 1006 签名认证失败 INVALID_APPLICATION_ID appid 不合法 INVALID_APPLICATION_KEY appkey 不合法 UNSUBSCRIBE_PUSHID pushid 未注册 INVALID_PUSHID pushid 非法 PARAM_BLANK 参数不能为空 APP_IN_BLACK_LIST 应用被加入黑名单 APP_REQUEST_EXCEED_LIMIT 应用请求频率过快 APP_PUSH_TIME_EXCEED_LIMIT 超过该应用的次数限制 APP_REQUEST_PUSH_LIMIT 超过该应用每天推送次数限制 INVALID_APPLICATION_PACKAGENAME packagename 不合法 INVALID_TASK_ID 非法的 taskid INVALID_APPLICATION_SECRET 非法的 appsecret DIRECT_OUT_LIMIT 透传超过限制 推送响应码定义 (PushResponseCode) 名称 Code Commen RSP_NO_AUT 201 没有权限, 服务器主动拒绝 RSP_DB_ERROR 501 推送消息失败 (db_error) RSP_INTERNAL_ERROR 513 推送消息失败 RSP_SPEED_LIMIT 518 推送超过配置的速率 RSP_OVERFLOW 519 推送消息失败服务过载 RSP_REPEATED 520 消息折叠 (1 分钟内同一设备同一应用消息收到多 次, 5 次 ) RSP_UNSUBSCRIBE_PUSHID pushid 失效 (pushid 未订阅 ) RSP_INVALID_PUSHID pushid 非法 RSP_UNSUBSCRIBE_ALIAS 别名未订阅 ( 包括推送开关关闭的设备 ) RSP_OFF_PUSHID pushid 失效 ( 消息开关关闭 ) 推送 (PushType) 6/39

7 枚举 STATUSBAR Enum 通知栏消息 DIRECT Enum 透传消息 推送标签集合 (ScopeType) 枚举 UNION Enum 并集 INTERSECTION Enum 交集 任务推送统计 (TaskStatistics) 名称 targetno Long 目标数 validno Long 有效数 pushedno Long 推送数 acceptno Long 接受数 displayno Long 展示数 clickno Long 点击数 任务推送统计 ( 天 )(DailyPushStatics) 名称 date Date 日期 targetno Long 目标数 validno Long 有效数 pushedno Long 推送数 acceptno Long 接受数 displayno Long 展示数 clickno Long 点击数 订阅别名信息 (AliasInfo) 名称 pushid String 订阅 pushid 7/39

8 alias String 订阅别名 订阅标签信息 (TagInfo) 名称 pushid String 订阅 pushid tags List 订阅标签 订阅开关状态 (SwitchStatusInfo) 名称 pushid String 订阅 pushid statusbarswitch boolean 通知栏开关状态 directswitch boolean 透传开关状态 回执 (CallBackType) 枚举 RECEIVE Enum 送达回执 CLICK Enum 点击回执 RECEIVE_CLICK Enum 送达与点击回执 回执参数 (ExtraParam) 枚举 CALLBACK Enum 回执 ( 第三方接收回执的 Http, 最大长度 128 字节 ) CALLBACK_PARAM Enum 回执参数 ( 第三方自定义回执参数, 最大长度 64 字节 ) CALLBACK_TYPE Enum 回执 ((1- 送达回执, 2- 点击回执, 3- 送达与点击回执 ), 3) 非任务推送 向指定的 pushid 推送消息 注 : 推送平台使用 pushid 来标识每个独立的用户, 每一台终端上每一个 app 拥有一个独立的 pushid 8/39

9 应用场景 场景 1: 查找手机业务需要远程定位位置, 可发送消息指令到对应的设备 场景 2: 社区用户回帖消息提醒, 用户对发表的帖子有最新回复时, 消息提醒发帖者 pushid 通知栏消息推送 (pushmessage) ResultPack<PushResult> pushmessage(varnishedmessage message, List<String> pushids) ResultPack<PushResult> pushmessage(varnishedmessage message, List<String> pushids, int retries) 推送通知栏 消息 推送通知栏 消息 参数 message VarnishedMessage 是 null 推送消息 pushids List 是 null 推送目标, 一批最多不能超过 1000 个 retries int 否 0 超时 or 异常重试次数 PushResult msgid; 推送消息 ID, 用于推送流程明细排查 resptarget; 推送目标结果状态 (key: 推送响应码 value: 响应码对应的目标用户 ) 注 : 只返回不合法 超速以及推送失败的目标用户, 业务一般对超速的 pushid 处理 /** * 通知栏消息推送 (pushmessage) Exception */ public void testvarnishedmessagepush() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); 9/39

10 // 组装消息 VarnishedMessage message = new VarnishedMessage.Builder().appId(appId).title("Java SDK 推送标题 ").content("java SDK 推送内容 ").noticeexpandtype(1).noticeexpandcontent(" 展开文本内容 ").clicktype(2).url(" {\"k1\":\"value1\",\"k2\":0,\"k3\":\"value3\"")).offline(true).validtime(12).suspend(true).clearnoticebar(true).vibrate(true).lights(true).sound(true).build(); // 目标用户 List<String> pushids = new ArrayList<String>(); pushids.add("pushid_1"); pushids.add("pushid_2"); // 1 调用推送服务 ResultPack<PushResult> result = push.pushmessage(message, pushids); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 // 全部超速 if (String.valueOf(ErrorCode.APP_REQUEST_EXCEED_LIMIT.getValue()).equals(result.co de())) { //TODO 5 业务处理, 重推... 10/39

11 System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); pushid 透传消息推送 (pushmessage) ResultPack<PushResult> pushmessage(unvarnishedmessage message, List<String> pushids) ResultPack<PushResult> pushmessage(unvarnishedmessage message, List<String> pushids, int retries) 推送透传 消息 推送透传 消息 参数 message UnVarnishedMessage 是 null 推送消息 pushids List 是 null 推送目标, 一批最多不能超过 1000 个 retries int 否 0 超时 or 异常重试次数 PushResult msgid; 推送消息 ID, 用于推送流程明细排查 resptarget; 推送目标结果状态 (key: 推送响应码 value: 响应码对应的目标用户 ) 注 : 只返回不合法 超速以及推送失败的目标用户, 业务一般对超速的 pushid 处理 /** * 透传消息推送 (pushmessage) Exception */ public void testunvarnishedmessagepush() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 组装透传消息 UnVarnishedMessage message = new UnVarnishedMessage.Builder().appId(appId) 11/39

12 .title("java SDK 透传推送标题 ").content("java Sdk 透传推送内容 ").isoffline(true).validtime(10).build(); // 目标用户 List<String> pushids = new ArrayList<String>(); pushids.add("pushid_1"); pushids.add("pushid_2"); // 1 调用推送服务 ResultPack<PushResult> result = push.pushmessage(message, pushids); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 // 全部超速 if (String.valueOf(ErrorCode.APP_REQUEST_EXCEED_LIMIT.getValue()).equals(result.co de())) { //TODO 5 业务处理, 重推... System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); 12/39

13 别名通知栏消息推送 (pushmessagebyalias) ResultPack<PushResult> pushmessagebyalias(varnishedmessage message, List<String> alias) ResultPack<PushResult> pushmessagebyalias(varnishedmessage message, List<String> alias, int retries) 推送通知 栏消息 推送通知 栏消息 参数 message VarnishedMessage 是 null 推送消息 alias List 是 null 推送目标, 一批最多不能超过 1000 个 retries int 否 0 超时 or 异常重试次数 PushResult msgid; 推送消息 ID, 用于推送流程明细排查 resptarget; 推送目标结果状态 (key: 推送响应码 value: 响应码对应的目标用户 ) 注 : 只返回不合法 超速以及推送失败的目标用户 /** * 别名通知栏消息推送 (pushmessage) * Exception */ public void testvarnishedmessagepushbyalias() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 组装消息 VarnishedMessage message = new VarnishedMessage.Builder().appId(appId).title("Java SDK 推送标题 ").content("java SDK 推送内容 ").noticeexpandtype(1).noticeexpandcontent(" 展开文本内容 ").clicktype(2).url(" 13/39

14 {\"k1\":\"value1\",\"k2\":0,\"k3\":\"value3\"")).offline(true).validtime(12).isfixdisplay(true).fixdisplaytime(str2date(" :00:00"), str2date(" :30:00")).suspend(true).clearNoticeBar(true).vibrate(true).lights(true).sound(true).build(); // 目标用户 List<String> alias = new ArrayList<String>(); alias.add("android"); alias.add("alias2"); // 1 调用推送服务 ResultPack<PushResult> result = push.pushmessagebyalias(message, alias); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 // 全部超速 if (String.valueOf(ErrorCode.APP_REQUEST_EXCEED_LIMIT.getValue()).equals(result.co de())) { //TODO 5 业务处理, 重推... System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); 14/39

15 别名透传消息推送 (pushmessagebyalias) ResultPack<PushResult> pushmessagebyalias(unvarnishedmessage message, List<String> alias) ResultPack<PushResult> pushmessagebyalias(unvarnishedmessage message, List<String> alias, int retries) 推送透传 消息 推送透传 消息 参数 message UnVarnishedMessage 是 null 推送消息 alias List 是 null 推送目标, 一批最多不能超过 1000 个 retries int 否 0 超时 or 异常重试次数 PushResult msgid; 推送消息 ID, 用于推送流程明细排查 resptarget; 推送目标结果状态 (key: 推送响应码 value: 响应码对应的目标用户 ) 注 : 只返回不合法 超速以及推送失败的目标用户 /** * 别名透传推送 * Exception */ public void testunvarnishedmessagepushbyalias() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 组装透传消息 UnVarnishedMessage message = new UnVarnishedMessage.Builder().appId(appId).title("Java SDK 透传推送标题 ").content("java Sdk 透传推送内容 ").build(); 15/39

16 // 目标用户 List<String> alias = new ArrayList<String>(); alias.add("alias"); alias.add("alias2"); // 1 调用推送服务 ResultPack<PushResult> result = push.pushmessagebyalias(message, alias); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 // 全部超速 if (String.valueOf(ErrorCode.APP_REQUEST_EXCEED_LIMIT.getValue()).equals(result.co de())) { //TODO 5 业务处理, 重推... System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); 任务推送 16/39

17 首先获取推送的 taskid, 然后通过 taskid 向指定的 pushid 推送消息 应用场景 浏览器对指定的某一大批量 pushid 用户推送活动或者新闻消息, 通过先获取 taskid, 然后通过 taskid 批量 推送, 推送过程中可以根据 taskid 时时获取推送统计结果 获取推送 taskid(gettaskid) ResultPack gettaskid(pushtype pushtype, Message message) 获取推送 taskid 参数 pushtype PushType 是 null 消息 message Message 是 null 消息体 Long 任务 ID /** * 获取通知栏推送 taskid(gettaskid) Exception */ public void testgetvarnishedmessagetaskid() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 组装消息 VarnishedMessage message = new VarnishedMessage.Builder().appId(appId).title("java Sdk 推送标题 ").content("java Sdk 推送内容 ").noticeexpandtype(1).noticeexpandcontent(" 展开文本内容 ").clicktype(2).url(" {\"k1\":\"value1\",\"k2\":0,\"k3\":\"value3\"")) 17/39

18 .offline(true).validtime(12).suspend(true).clearnoticebar(true).vibrate(false).lights(false).sound(false).fixspeed(true).fixspeedrate(20).build(); ResultPack<Long> result = push.gettaskid(pushtype.statusbar, message); System.out.println(result); /** * 获取透传推送 taskid(gettaskid) Exception */ public void testgetunvarnishedmessagetaskid() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 组装消息 UnVarnishedMessage message = new UnVarnishedMessage.Builder().appId(appId).title("java sdk 推送标题 ").content("java sdk 推送内容 ").build(); ResultPack<Long> result = push.gettaskid(pushtype.direct, message); System.out.println(result); pushid 消息推送 (pushmessagebytaskid) ResultPack<PushResult> pushmessagebytaskid(pushtype pushtype, long appid, long taskid, List<String> pushids) ResultPack<PushResult> pushmessagebytaskid(pushtype pushtype, long appid, long taskid, List<String> pushids, int retries) 任务消 息推送 任务消 息推送 参数 pushtype PushType 是 null 消息 appid Long 是 null 推送应用 ID 18/39

19 taskid Long 是 null 推送任务 ID pushids List 是 null 推送目标, 一批最多不能超过 1000 个 retries int 否 0 超时 or 异常重试次数 PushResult msgid; 推送消息 ID, 用于推送流程明细排查 resptarget; 推送目标结果状态 (key: 推送响应码 value: 响应码对应的目标用户 ) 注 : 只返回不合法 超速以及推送失败的目标用户, 业务一般对超速的 pushid 对处理 /** * 任务消息推送 (pushmessagebytaskid) IOException */ public void testpushpytaskid() throws IOException { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 目标用户 List<String> pushids = new ArrayList<String>(); pushids.add("pushid_1"); pushids.add("pushid_2"); // 通知栏任务消息推送 Long taskid = 123l; // 1 调用推送服务 ResultPack<PushResult> result = push.pushmessagebytaskid(pushtype.statusbar, appid, taskid, pushids, 0); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if 19/39

20 (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); // 透传消息任务推送 taskid = 123l; // 1 调用推送服务 result = push.pushmessagebytaskid(pushtype.direct, appid, taskid, pushids, 0); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 // 全部超速 if (String.valueOf(ErrorCode.APP_REQUEST_EXCEED_LIMIT.getValue()).equals(result.co 20/39

21 de())) { //TODO 5 业务处理, 重推... System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); 别名消息推送 (pushaliasmessagebytaskid) ResultPack<PushResult> pushaliasmessagebytaskid(pushtype pushtype, long appid, long taskid, List<String> alias) ResultPack<PushResult> pushaliasmessagebytaskid(pushtype pushtype, long appid, long taskid, List<String> alias, int retries) 任务消 息推送 任务消 息推送 参数 pushtype PushType 是 null 消息 appid Long 是 null 推送应用 ID taskid Long 是 null 推送任务 ID alias List 是 null 推送目标别名, 一批最多不能超过 1000 个 retries int 否 0 超时 or 异常重试次数 PushResult msgid; 推送消息 ID, 用于推送流程明细排查 resptarget; 推送目标结果状态 (key: 推送响应码 value: 响应码对应的目标用户 ) 注 : 只返回不合法 超速以及推送失败的目标用户, 业务一般对超速的 pushid 对处理 ** * 别名任务消息推送 * IOException 21/39

22 */ public void testpushaliaspytaskid() throws IOException { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 目标用户 List<String> alias = new ArrayList<String>(); alias.add("alias123"); alias.add("android654"); // 通知栏任务消息推送 Long taskid = 45361L; // 1 调用推送服务 ResultPack<PushResult> result = push.pushaliasmessagebytaskid(pushtype.statusbar, appid, taskid, alias); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 // 全部超速 if (String.valueOf(ErrorCode.APP_REQUEST_EXCEED_LIMIT.getValue()).equals(result.co de())) { //TODO 5 业务处理, 重推... System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); 22/39

23 // 透传消息任务推送 taskid = 45407L; // 1 调用推送服务 result = push.pushaliasmessagebytaskid(pushtype.direct, appid, taskid, alias); if (result.issucceed()) { // 2 调用推送服务成功 ( 其中 map 为设备的具体推送结果, 一般业务针对超速的 code 做处理 ) PushResult pushresult = result.value(); String msgid = pushresult.getmsgid();// 推送消息 ID, 用于推送流程明细排查 Map<Integer, List<String>> targetresultmap = pushresult.getresptarget();// 推送结果, 全部推送成功, 则 map 为 empty System.out.println("push msgid:" + msgid); System.out.println("push targetresultmap:" + targetresultmap); if (targetresultmap!= null &&!targetresultmap.isempty()) { // 3 判断是否有获取超速的 target if (targetresultmap.containskey(pushresponsecode.rsp_speed_limit.getvalue())) { // 4 获取超速的 target List<String> ratelimittarget = targetresultmap.get(pushresponsecode.rsp_speed_limit.getvalue()); System.out.println("rateLimitTarget is :" + ratelimittarget); //TODO 5 业务处理, 重推... else { // 调用推送服务异常 eg: appid appkey 非法 推送消息非法... // result.code(); // 服务异常码 // result.comment();// 服务异常 // 全部超速 if (String.valueOf(ErrorCode.APP_REQUEST_EXCEED_LIMIT.getValue()).equals(result.co de())) { //TODO 5 业务处理, 重推... System.out.println(String.format("pushMessage error code:%s comment:%s", result.code(), result.comment())); 应用全部推送 (pushtoapp) 23/39

24 ResultPack<Long> pushtoapp(pushtype pushtype, Message message) 应用全部推送 参数 pushtype PushType 是 null 消息 message Message 是 null 消息体 Long 任务 ID /** * 应用全部推送 (pushtoapp) IOException */ public void testpushtoapp() throws IOException { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 通知栏全部消息推送 VarnishedMessage message = new VarnishedMessage.Builder().appId(appId).title("java Sdk 全部推送标题 ").content("java Sdk 全部推送内容 ").noticeexpandtype(1).noticeexpandcontent(" 展开文本内容 ").clicktype(2).url(" {\"k1\":\"value1\",\"k2\":0,\"k3\":\"value3\"")).offline(true).validtime(12).suspend(true).clearnoticebar(true).vibrate(false).lights(false).sound(false).fixspeed(true).fixspeedrate(30).pushtimetype(1).starttime(new Date()).build(); ResultPack<Long> result = push.pushtoapp(pushtype.statusbar, message); System.out.println(result); // 透传全部推送 UnVarnishedMessage message2 = new UnVarnishedMessage.Builder().appId(appId).title("Java SDK 全部推送标题 ").content("java Sdk 全部推送内容 ").isoffline(true) 24/39

25 .validtime(10).pushtimetype(1).starttime(new Date()).build(); result = push.pushtoapp(pushtype.direct, message2); System.out.println(result); 应用标签推送 (pushtotag) ResultPack<Long> pushtotag(pushtype pushtype, Message message, List<String> tagname, ScopeType scopetype) 应用标 签推送 参数 pushtype PushType 是 null 消息 message Message 是 null 消息体 tagname List 是 null 推送标签 scopetype ScopeType 是 null 标签集合 Long 任务 ID /** * 标签推送 (pushtotag) * IOException */ public void testpushtotag() throws IOException { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 推送标签 List<String> tagname = new ArrayList<String>(); tagname.add("news"); 25/39

26 tagname.add("tech"); // 通知栏标签推送 VarnishedMessage varnishedmessage = new VarnishedMessage.Builder().appId(appId).title("java Sdk 标签推送标题 ").content("java Sdk 标签推送内容 ").noticeexpandtype(1).noticeexpandcontent(" 展开文本内容 ").offline(true).validtime(12).suspend(true).clearnoticebar(true).vibrate(false).lights(false).sound(false).fixspeed(true).fixspeedrate(30).pushtimetype(1).starttime(new Date()).build(); ResultPack<Long> result = push.pushtotag(pushtype.statusbar, varnishedmessage, tagname, ScopeType.INTERSECTION); System.out.println(result); // 透传标签推送 UnVarnishedMessage unvarnishedmessage = new UnVarnishedMessage.Builder().appId(appId).title("Java SDK 标签推送标题 ").content("java Sdk 标签推送内容 ").isoffline(true).validtime(10).pushtimetype(1).starttime(new Date()).build(); result = push.pushtotag(pushtype.direct, unvarnishedmessage, tagname, ScopeType.UNION); System.out.println(result); 取消推送任务 (canceltaskpush) ResultPack<Boolean> canceltaskpush(pushtype pushtype, long appid, long taskid) 只针对全部用户推送以及标签推送且推送状 态为待推送或者推送中的任务取消 参数 pushtype PushType 是 null 消息 appid Long 是 null 应用 ID 26/39

27 taskid Long 是 null 任务 ID Boolean true: 成功 false: 失败 /** * 取消推送任务 (canceltaskpush) 只针对全网推送生效 IOException */ public void testcanceltaskpush() throws IOException { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); long taskid = 123l; ResultPack resultpack = push.canceltaskpush(pushtype.statusbar, appid, taskid); System.out.println(resultPack); 推送统计 获取任务推送统计 (gettaskstatistics) public ResultPack<TaskStatistics> gettaskstatistics(long appid, long taskid) 获取推送统 计 参数 appid Long 是 null 应用 ID taskid Long 是 null 任务 ID TaskStatistics 27/39

28 /** * 获取任务统计结果 * IOException */ public void testgettaskstatistics() throws IOException { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); long taskid = 44760L; ResultPack<TaskStatistics> resultpack = push.gettaskstatistics(appid, taskid); System.out.println(resultPack); 获取应用推送统计 (dailypushstatics) public ResultPack<List<DailyPushStatics>> dailypushstatics(long appid, Date starttime, Date endtime) 获取应用推 送统计 参数 appid Long 是 null 应用 ID starttime Date 是 null 开始日期 endtime Date 是 null 结束日期 List<DailyPushStatics> /** * 获取任务统计结果 * IOException 28/39

29 */ public void testdailypushstatics() throws IOException { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); Date starttime = DateUtils.str2Date(" ", "yyyy-mm-dd"); Date endtime = DateUtils.str2Date(" ", "yyyy-mm-dd"); ResultPack<List<DailyPushStatics>> resultpack = push.dailypushstatics(appid, starttime, endtime); System.out.println(resultPack); 高级功能 消息送达与回执支持回执 pushid 通知栏消息推送 (pushmessage) 别名通知栏消息推送 (pushmessagebyalias) 开发者通过设置通知栏消息 extra 来指定消息的送达和点击回执规则回执地址请登录推送平台 配置管理 -> 回执管理 注册回执地址 key value 含义 callback 回执 ( 第三方接收回执的 Http, 最大长度 128 字节 ) callback.param 回执参数 ( 第三方自定义回执参数, 最大长度 64 字节 ) callback.type 回执 ((1- 送达回执, 2- 点击回执, 3- 送达与点击回执 ), 3) 魅族推送服务器每隔 1s 将已送达或已点击的消息 ID 和对应设备的 pushid 或 alias 通过调用开发者 http 传给开发者 ( 每次调用后, 魅族推送服务器会清空这些数据, 下次传给业务方将是新一拨数据 ) 注 : 消息的送达回执只支持向 pushid 或 alias 发送的消息 单个应用注册不同回执地址累计上限不能超过 100 个 回执响应内容 key value cb 回执明细内容如下所述 (Json 数据 ) 29/39

30 access_token 回执访问令牌 ( 推送平台设置回执地址令牌 ) 回执明细格式 : 外层 key 代表相应的消息 id 和回执 (msgid-type), value 是一个 JSONObject, 包含了下面的参数值 param: 业务上传的自定义参数值 type: callback targets: 一批 alias 或者 pushid 集合 { "msgid2-1": { "param": "param2", "type": 1, "targets": [ "pushid3", "pushid2", "pushid1" ], "msgid1-2": { "param": "param1", "type": 2, "targets": [ "alias2", "alias", "alias1" ] 抓包 Hypertext Transfer Protocol POST /callbackurl/callback HTTP/1.1\r\n [Expert Info (Chat/Sequence): POST /callbackurl/callback HTTP/1.1\r\n] Request Method: POST Request URI: /callbackurl/callback Request Version: HTTP/1.1 Content-Length: 32\r\n [Content length: 32] Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n Host: xxx.xxx.xxx\r\n Connection: Keep-Alive\r\n 30/39

31 User-Agent: Apache-HttpClient/4.3.4 (java 1.5)\r\n Accept-Encoding: gzip,deflate\r\n \r\n [Full request URI: [HTTP request 1/1] [Response in frame: 7253] File Data: 32 bytes HTML Form URL Encoded: application/x-www-form-urlencoded Form item: "access_token" = "token" Key: access_token Value: token Form item: "cb" = "json value" Key: cb Value: json value public void testpushidcallback() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 组装消息 VarnishedMessage message = new VarnishedMessage.Builder().appId(appId).title("Java SDK 推送标题 ").content("java SDK 推送内容 ").extra(extraparam.callback.getkey(), callbackurl).extra(extraparam.callback_param.getkey(), "param").extra(extraparam.callback_type.getkey(), CallBackType.RECEIVE.getKey()).build(); // 目标用户 List<String> pushids = new ArrayList<String>(); pushids.add("pushid_1"); pushids.add("pushid_2"); // 1 调用推送服务 ResultPack<PushResult> result = push.pushmessage(message, pushids); handleresult(result); public void testaliascallback() throws Exception { // 推送对象 IFlymePush push = new IFlymePush(APP_SECRET_KEY); // 组装消息 VarnishedMessage message = new VarnishedMessage.Builder().appId(appId).title("Java SDK 推送标题 ").content("java SDK 推送内容 ") 31/39

32 .extra(extraparam.callback.getkey(), callbackurl).extra(extraparam.callback_param.getkey(), "param").extra(extraparam.callback_type.getkey(), CallBackType.RECEIVE.getKey()).build(); alias); // 目标用户 List<String> alias = new ArrayList<String>(); alias.add("alias_1"); alias.add("alias_2"); // 1 调用推送服务 ResultPack<PushResult> result = push.pushmessagebyalias(message, handleresult(result); 订阅服务 修改通知栏订阅开关状态 (updatestatusbarswitch) ResultPack<SwitchStatusInfo> updatestatusbarswitch(string pushid, Boolean subswitch) 修改通知栏订阅开 关状态 参数 pushid String 是 null 订阅 pushid subswitch Boolean 是 null 开关状态 true: 打开 false: 关闭 SwitchStatusInfo public void updatestatusbarswitch() throws Exception { ResultPack<SwitchStatusInfo> resultpack = sub.updatestatusbarswitch(pushid, true); System.out.println("updateStatusbarSwitch:" + resultpack); 32/39

33 修改透传订阅开关状态 (updatedirectswitch) ResultPack<SwitchStatusInfo> updatedirectswitch(string pushid, Boolean subswitch) 修改透传订阅开关 状态 参数 pushid String 是 null 订阅 pushid subswitch Boolean 是 null 开关状态 true: 打开 false: 关闭 SwitchStatusInfo public void updatedirectswitch() throws Exception { ResultPack<SwitchStatusInfo> resultpack = sub.updatedirectswitch(pushid, false); System.out.println("updateDirectSwitch:" + resultpack); 同步修改所有开关状态 (updateallswitch) ResultPack<SwitchStatusInfo> updateallswitch(string pushid, Boolean subswitch) 同步修改所有开关 状态 参数 pushid String 是 null 订阅 pushid 33/39

34 subswitch Boolean 是 null 开关状态 true: 打开 false: 关闭 SwitchStatusInfo public void updateallswitch() throws Exception { ResultPack<SwitchStatusInfo> resultpack = sub.updateallswitch(pushid, true); System.out.println("updateAllSwitch:" + resultpack); 获取订阅开关状态 (updateallswitch) ResultPack<SwitchStatusInfo> getregisterswitch(string pushid) 获取订阅开关状态 参数 pushid String 是 null 订阅 pushid SwitchStatusInfo public void getregisterswitch() throws Exception { ResultPack<SwitchStatusInfo> resultpack = sub.getregisterswitch(pushid); System.out.println("getRegisterSwitch:" + resultpack); 34/39

35 别名订阅 (subscribealias) ResultPack<AliasInfo> subscribealias(string pushid, String alias) 别名订阅 参数 pushid String 是 null 订阅 pushid alias String 是 null 订阅别名 60 字符限制 AliasInfo public void subscribealias() throws Exception { ResultPack<AliasInfo> resultpack = sub.subscribealias(pushid, "flyme"); System.out.println("subscribeAlias:" + resultpack); 取消别名订阅 (unsubscribealias) ResultPack<AliasInfo> unsubscribealias(string pushid) 取消别名订阅 参数 pushid String 是 null 订阅 pushid AliasInfo 35/39

36 public void unsubscribealias() throws Exception { ResultPack<AliasInfo> resultpack = sub.unsubscribealias(pushid); System.out.println("unSubscribeAlias:" + resultpack); 获取订阅别名 (getsubalias) ResultPack<AliasInfo> getsubalias(string pushid) 获取订阅别名 参数 pushid String 是 null 订阅 pushid AliasInfo public void getsubalias() throws Exception { ResultPack<AliasInfo> resultpack = sub.getsubalias(pushid); System.out.println("getSubAlias:" + resultpack); 标签订阅 (subscribetags) ResultPack<TagInfo> subscribetags(string pushid, List<String> tags) 标签订阅 参数 36/39

37 pushid String 是 null 订阅 pushid tags List 是 null 订阅标签 ( 单个标签 20 个字符限制,100 个标签数量限制 ) TagInfo public void subscribetags() throws Exception { List<String> tags = new ArrayList<String>(2); tags.add("tag1"); tags.add("tag2"); ResultPack<TagInfo> resultpack = sub.subscribetags(pushid, tags); System.out.println("subscribeTags:" + resultpack); 取消标签订阅 (unsubscribetags) ResultPack<TagInfo> unsubscribetags(string pushid, List<String> tags) 取消标签订阅 参数 pushid String 是 null 订阅 pushid tags List 是 null 订阅标签 ( 单个标签 20 个字符限制,100 个标签数量限制 ) TagInfo public void unsubscribetags() throws Exception { 37/39

38 List<String> tags = new ArrayList<String>(2); tags.add("tag1"); tags.add("tag2"); ResultPack<TagInfo> resultpack = sub.unsubscribetags(pushid, tags); System.out.println("unSubscribeTags:" + resultpack); 获取订阅标签 (getsubtags) ResultPack<TagInfo> getsubtags(string pushid) 获取订阅标签 参数 pushid String 是 null 订阅 pushid TagInfo public void getsubtags() throws Exception { ResultPack<TagInfo> resultpack = sub.getsubtags(pushid); System.out.println("getSubTags:" + resultpack); 取消订阅所有标签 (unsuballtags) ResultPack<Boolean> unsuballtags(string pushid) 取消订阅所有标签 参数 pushid String 是 null 订阅 pushid 38/39

39 Boolean public void unsuballtags() throws Exception { ResultPack<Boolean> resultpack = sub.unsuballtags(pushid); System.out.println("unSubAllTags:" + resultpack); 39/39

集成推送平台 JAVA 版本 SDK JavaPushSdk 发布说明 ( 请使用最新版本 ) 中央仓库获取 MVN Repository 或者 Central Repository 直接下载获取 Java Server SDK 更新日志 [ ]V

集成推送平台 JAVA 版本 SDK JavaPushSdk 发布说明 ( 请使用最新版本 ) 中央仓库获取 MVN Repository 或者 Central Repository 直接下载获取 Java Server SDK 更新日志 [ ]V 集成推送平台 JAVA 版本 SDK JavaPushSdk 发布说明 ( 请使用最新版本 ) 中央仓库获取 MVN Repository 或者 Central Repository 直接下载获取 Java Server SDK 更新日志 [2017-12-06]V1.0.0.20171206 1.0.0 标准版 定义 推送服务 (IFlymeUpsPush) 调用该类实例的方法来推送消息, 构造函数说明如下

More information

魅族推送平台接入文档 (JAVA-SDK)

魅族推送平台接入文档 (JAVA-SDK) 魅族推送平台接入文档 (JAVA-SDK) 2017.02 文档变更记录 日期作者版本变更描述下载链接 2016-12-18 王新国 1.0.0.20161218_release 1.0.0 标准版 Download 2017-02-16 王新国 1.1.0.20170216_release 1.1.0 标准版 Download 2 目录 魅族推送平台接入文档 (JAVA-SDK)... 1 1.

More information

推送平台开放接口

推送平台开放接口 魅族推送平台接入文档 (Http-API) 2016.12 文档变更记录 日期变更人版本内容 2016-12-20 王新国 1.0 创建文档 1 目录 1.API 接口规范... 4 1.1 接口响应规范... 4 1.2 接口签名规范... 5 2. 开放 API... 6 2.1 前言... 6 2.2 非任务推送... 6 2.2.1 应用场景... 6 2.2.2 pushid 推送接口 (

More information

1005 错误, 请参考 API 文档 1006 签名认证失败 不合法 appkey 不合法 不能为空 应用被加入黑名单 应用推送速率过快 透传超过限制 接口签名规范 请求分别是 k1 k2 k3, 它们的值分别是

1005 错误, 请参考 API 文档 1006 签名认证失败 不合法 appkey 不合法 不能为空 应用被加入黑名单 应用推送速率过快 透传超过限制 接口签名规范 请求分别是 k1 k2 k3, 它们的值分别是 透传限制说明 * 为优化 flyme 系统整体功耗, 推送平台决定本周五 (6 月 16 号 ) 起限制透传消息推送的使用, 不排除关闭透传推送类型 使用透传推送的业务请尽快切换到通知栏推送, 以避免消息推送失败 新接入的应用请使用通知栏推送受影响的接口及功能 : 1. pushid 推送接口 ( 透传消息 ) 2. 别名推送接口 ( 透传消息 ) 3. 获取 taskid 的透传推送 (gettaskid)

More information

推送平台开放接口

推送平台开放接口 魅族推送平台接入文档 (Http-API) 2017.02 文档变更记录 (GItHub) 日期 变更人 版本 内容 2016-12-20 王新国 1.0.0.20161108_release 创建文档 2017-02-16 王新国 1.1.0.20170216_release 推送结果增加 msgid 1 目录 1.API 接口规范... 4 1.1 接口响应规范... 4 1.2 接口签名规范...

More information

上述字符串的 MD5 值即为签名的值 (32 位小写 ) 将签名值放在请求的参数中例如 sign=md5_sign 服务端 SDK 调用 API 的应用的私钥 Secret Key 为 appsecret /** parammap 请求参数 secret 密钥 *

上述字符串的 MD5 值即为签名的值 (32 位小写 ) 将签名值放在请求的参数中例如 sign=md5_sign 服务端 SDK 调用 API 的应用的私钥 Secret Key 为 appsecret /** parammap 请求参数 secret 密钥 * 集成推送平台接口说明 API 接口规范 接口响应规范 HTTP 接口遵循魅族 API 协议规范 返回数据格式统一如下 : code :, // 必选, 返回码 message :, // 可选, 返回消息, 网页端接口出现错误时使用此消息展示给用户, 手机端可忽略此消息, 甚至服务端不传输此消息 value :,// 必选, 返回结果 Api returncode 定义 code value 200

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

OPPO 推送平台服务端 API 修订记录 : 版本号修订人修订日期修订描述 V0.1 宫建涛 初始版本 V0.2 宫建涛 部分 API 修改 V0.3 宫建涛 修改返回码 V0.4 宫建涛 修改推送统计接口 V

OPPO 推送平台服务端 API 修订记录 : 版本号修订人修订日期修订描述 V0.1 宫建涛 初始版本 V0.2 宫建涛 部分 API 修改 V0.3 宫建涛 修改返回码 V0.4 宫建涛 修改推送统计接口 V OPPO 推送平台服务端 API 修订记录 : 版本号修订人修订日期修订描述 V0.1 宫建涛 2017-03-28 初始版本 V0.2 宫建涛 2017-07-11 部分 API 修改 V0.3 宫建涛 2017-08-31 修改返回码 V0.4 宫建涛 2017-10-13 修改推送统计接口 V0.5 宫建涛 2017-10-14 增加批量单推 - 通知栏消息的消息长度限制 V0.6 宫建涛 2017-11-20

More information

在设备联网情况下, 到达率可达到 99.9% 三 基本架构 四 组件说明 Push Service:Flyme OS 上的一个常驻系统服务, 在网络可达的情况下时刻保持与推送服务器的长连接 Push SDK: 用于接收 Push Service 透传过来的消息并回调给应用, 它包括 Android

在设备联网情况下, 到达率可达到 99.9% 三 基本架构 四 组件说明 Push Service:Flyme OS 上的一个常驻系统服务, 在网络可达的情况下时刻保持与推送服务器的长连接 Push SDK: 用于接收 Push Service 透传过来的消息并回调给应用, 它包括 Android Meizu Push 接入文档概述 一 概述 魅族推送 (Push) 是魅族公司向开发者提供的消息推送服务, 通过在云端与客户端之间建立一 条稳定, 可靠的长连接, 为开发者提供向客户端应用实时推送消息的服务, 通过推送消息, 魅族推送服务能有效地帮助开发者拉动用户活跃度, 改善产品体验 二 产品作用 2.1 促进用户活跃, 增强用户粘性 通过云和端之间建立长连接, 开发者可以实时地将消息推送到用户设备端

More information

此文章将会根据不同厂商的 SDK 的接入方式逐步分析, 进而梳理出最为精简的接入方式, 同时说明各个接入配置的细节问题 一接入准备工作 关于组件的基本配置将会全部打包到 aar 中的 AndroidManifest 中, 用户只需要手动配置一些与包名相关的权限配置 1.1 小米 混淆配置 基于 aa

此文章将会根据不同厂商的 SDK 的接入方式逐步分析, 进而梳理出最为精简的接入方式, 同时说明各个接入配置的细节问题 一接入准备工作 关于组件的基本配置将会全部打包到 aar 中的 AndroidManifest 中, 用户只需要手动配置一些与包名相关的权限配置 1.1 小米 混淆配置 基于 aa 此文章将会根据不同厂商的 SDK 的接入方式逐步分析, 进而梳理出最为精简的接入方式, 同时说明各个接入配置的细节问题 一接入准备工作 关于组件的基本配置将会全部打包到 aar 中的 AndridManifest 中, 用户只需要手动配置一些与包名相关的权限配置 1.1 混淆配置 基于 aar 整体打包的方式 AppID 和 APPKey 本地配置 andrid:name="xiaomi_app_id"

More information

集成推送平台 PushSDK 设计文档 此文档在于向开发者介绍魅族统一推送平台 PushSDK 如何对各个厂家的 PushSDK 进行整合以及我们在统一接口设计中遵循的规则, 由于各个厂家的 API 接口功能差异巨大我们只对各个厂商共用的接口进行统一封装, 当然你也可以直接使用厂商提供的接口 Ups

集成推送平台 PushSDK 设计文档 此文档在于向开发者介绍魅族统一推送平台 PushSDK 如何对各个厂家的 PushSDK 进行整合以及我们在统一接口设计中遵循的规则, 由于各个厂家的 API 接口功能差异巨大我们只对各个厂商共用的接口进行统一封装, 当然你也可以直接使用厂商提供的接口 Ups 集成推送平台 PushSDK 设计文档 此文档在于向开发者介绍魅族统一推送平台 PushSDK 如何对各个厂家的 PushSDK 进行整合以及我们在统一接口设计中遵循的规则, 由于各个厂家的 API 接口功能差异巨大我们只对各个厂商共用的接口进行统一封装, 当然你也可以直接使用厂商提供的接口 UpsPushSDK 设计初衷不仅仅是在帮助开发者接入魅族的统一推送平台, 也希望我们能够尽量简化接口的同时,

More information

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址   access_token=access_token (http 停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 https://webapi.zego.im/cgi/stop-mix? access_token=access_token (https://webapi.zego.im/cgi/stop-mix? access_token=access_token)

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

魅族推送平台接入文档 (Push-Demo)

魅族推送平台接入文档 (Push-Demo) 魅族推送平台接入文档 (Push-Demo) 2016.12 文档变更记录 日期作者版本变更描述 2016-11-30 廖金龙 V3.2.161129 撰写文档 去除第三方依赖, 不再依赖其 他任何第三方库 ; 2016-12-23 廖金龙 V3.3.161222 jecter 暂停使用, 请下载 PushSDK aar 本地引用, 具体可 以参考 pushdemo 的 libs 目录 删除 https

More information

RPC SOAP REST API API HTTP JSON XML PHP PHP PHP PHP PHP HTTP request/response cycle HTTP HTTP verbs headers Cookies JSON XML PHP RPC SOAP RESTful HTTP

RPC SOAP REST API API HTTP JSON XML PHP PHP PHP PHP PHP HTTP request/response cycle HTTP HTTP verbs headers Cookies JSON XML PHP RPC SOAP RESTful HTTP RPC SOAP REST API API HTTP JSON XML PHP PHP PHP PHP PHP HTTP request/response cycle HTTP HTTP verbs headers Cookies JSON XML PHP RPC SOAP RESTful HTTP API API 前言 vii 第一章 HTTP HTTP HyperText Transfer Protocol

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

优斗士微分销产品使用指南

优斗士微分销产品使用指南 优 斗 士 云 店 操 作 手 册 优 斗 士 ( 中 国 ). 市 场 部 www.udows.com 咨 询 热 线 :400-877-7882 移 动 让 商 业 更 简 单 www.udows.com 1 目 录 第 1 章 优 斗 士 云 店 产 品 使 用 手 册... 7 1.1 什 么 是 优 斗 士 云 店 系 统?... 7 1.2 企 业 为 什 么 要 使 用 优 斗 士 云

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) 09 (File Processes) 9-1 9-2 (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) Java Servlet 9-1 Servlet (File Processes) Client Servlet Servlet Java Java (Stream)

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

新美大酒店开放平台SDK(.NET版)使用说明.pages

新美大酒店开放平台SDK(.NET版)使用说明.pages SDK(.NET 版 ) 使 用说明 1 SDK 包说明 1.1 获取 SDK SDK 可以在数据平台下载, 也可直接通过下载地址获得 下载地址 : http://s3.meituan.net/v1/mss_de81c933e113413ea913a772b707b9c9/open-platform-sdk/mthotelopenplatform-sdk-1.0-net.zip 下载成功后, 解压后可获得

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

RxJava

RxJava RxJava By 侦跃 & @hi 头 hi RxJava 扩展的观察者模式 处 观察者模式 Observable 发出事件 Subscriber 订阅事件 bus.post(new AnswerEvent(42)); @Subscribe public void onanswer(answerevent event) {! }! Observable observable = Observable.create(new

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener SGML HTML XML 1 SGML XML Extensible Markup Language XML SGML Standard Generalized Markup Language, ISO 8879, SGML HTML ( Hypertext Markup Language HTML) (Markup Language) (Tag) < > Markup (ISO) 1986 SGML

More information

Microsoft PowerPoint - 05-Status-Codes-Chinese.ppt

Microsoft PowerPoint - 05-Status-Codes-Chinese.ppt 2004 Marty Hall 服务器响应的生成 : HTTP 状态代码 JSP, Servlet, & Struts Training Courses: http://courses.coreservlets.com Available in US, China, Taiwan, HK, and Worldwide 2 JSP and Servlet Books from Sun Press: http://www.coreservlets.com

More information

概述

概述 OPC Version 1.8 build 0925 KOCRDK Knight OPC Client Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOC_Init...5 2.2.2 KOC_Uninit...5 2.3...5

More information

目 录 概 述...4 1 背 景.4 1.1 社 会 背 景...4 1.2 行 业 背 景...5 2 需 求 分 析..6 3 优 势 分 析....7 3.1 资 源 优 势.....7 3.2 品 牌 优 势.....7 3.3 技 术 优 势.....8 3.4 用 户 体 验.....

目 录 概 述...4 1 背 景.4 1.1 社 会 背 景...4 1.2 行 业 背 景...5 2 需 求 分 析..6 3 优 势 分 析....7 3.1 资 源 优 势.....7 3.2 品 牌 优 势.....7 3.3 技 术 优 势.....8 3.4 用 户 体 验..... 目 录 概 述...4 1 背 景.4 1.1 社 会 背 景...4 1.2 行 业 背 景...5 2 需 求 分 析..6 3 优 势 分 析....7 3.1 资 源 优 势.....7 3.2 品 牌 优 势.....7 3.3 技 术 优 势.....8 3.4 用 户 体 验.....8 4 综 合 解 决 方 案....9 4.1 资 源 应 用 服 务 方 案. 9 4.1.1 下

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

PIC_SERVER (11) SMTP ( ) ( ) PIC_SERVER (10) SMTP PIC_SERVER (event driven) PIC_SERVER SMTP 1. E-

PIC_SERVER (11) SMTP  ( ) ( ) PIC_SERVER (10) SMTP  PIC_SERVER (event driven)  PIC_SERVER SMTP  1.  E- (2005-02-01) (2005-04-28) PIC_SERVER (10) SMTP E-mail PIC_SERVER (event driven) E-mail PIC_SERVER SMTP E-mail 1. E-mail E-mail 1 (1) (2) (3) (4) 1 1. 2 E-mail A E-mail B E-mail SMTP(Simple Mail Transfer

More information

跨領域學位學程

跨領域學位學程 大 葉 大 多 媒 體 位 內 容 位 程 課 程 習 地 圖 及 職 涯 進 路 地 圖 大 葉 大 多 媒 體 位 內 容 位 程 的 課 程 涵 蓋 基 礎 位 視 覺 設 計 2D/3D 動 畫 製 作 2D/3D 遊 戲 設 計 虛 擬 / 擴 增 實 境 設 計 及 位 習 等, 是 目 前 政 府 極 力 推 動 的 雙 星 產 業 之 一 生 可 自 由 選 位 內 容 相 關 課

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID 58 2016. 14 * LireSolr LireSolr CEDD Ajax CSpace LireSolr CEDD Abstract In order to offer better image support services it is necessary to extend the image retrieval function of our institutional repository.

More information

( Version 0.4 ) 1

( Version 0.4 ) 1 ( Version 0.4 ) 1 3 3.... 3 3 5.... 9 10 12 Entities-Relationship Model. 13 14 15.. 17 2 ( ) version 0.3 Int TextVarchar byte byte byte 3 Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2 (2005-01-26) (2005-01-26) (2005-02-27) PIC_SERVER (9) VB TCP/UDP Visual Basic Microsoft Winsock Control (MSWINSCK.OCX) UDP TCP Client Server Visual Basic UDP/TCP PIC_SERVER UDP/TCP 1. Microsoft Winsock

More information

CAS CAS GY/Z GY/Z Extensible Markup Language (XML) 1.0 File Transfer Protocol, RFC959, RFC1123, RFC228, RFC2577, RFC

CAS CAS GY/Z GY/Z Extensible Markup Language (XML) 1.0 File Transfer Protocol, RFC959, RFC1123, RFC228, RFC2577, RFC I CAS 2003 3 CAS GY/Z 174-2001 GY/Z 175-2001 Extensible Markup Language (XML) 1.0 File Transfer Protocol, RFC959, RFC1123, RFC228, RFC2577, RFC2640 2003 6 13 2005 1 28 II 1....1 2......1 3......1 3.1...1

More information

构建 Bluetooth 移动应用 主讲人 : 任凯 微信 :kaiser-tech 2016 年 5 月 6 日 3

构建 Bluetooth 移动应用 主讲人 : 任凯 微信 :kaiser-tech 2016 年 5 月 6 日 3 构建 Bluetooth 移动应用 主讲人 : 任凯 kren@bluetooth.com 微信 :kaiser-tech 2016 年 5 月 6 日 3 无处不在 IOS ANDROID WINDOWS BLACKBERRY TIZEN 4 平台性能 平台 操作系统 操作系统版本 ios / Android / Windows / BlackBerry 10 / Tizen Android 4.3

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

云数据库 RDS SDK

云数据库 RDS SDK 云数据库 RDS SDK SDK SDK 下载 SDK 下载 最新版本 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip 历史版本 2015-11-3 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip JAVA 教程 JAVA 创建 Access Key 登陆阿里云账号 打开 我的 Access

More information

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK 2 l 跨裝置網頁設計 Android ios Windows 8 BlackBerry OS Android HTML 5 HTML 5 HTML 4.01 HTML 5 CSS 3 CSS 3 CSS 2.01 CSS 3 2D/3D PC JavaScript

More information

ARP ICMP

ARP ICMP ARP ICMP 2 9-1 ARP 9-2 ARP 9-3 ARP 9-4 ICMP 9-5 ICMP 9-6 ICMP 9-7 ICMP 3 ARP ICMP TCP / IP, IP ARP ICMP 3 IP, ARP ICMP IP ARP ICMP 2, 4 9-1 ARP, MAC, IP IP, MAC ARP Address Resolution Protocol, OSI ARP,,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

untitled

untitled PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說

More information

ASP 電子商務網頁設計

ASP 電子商務網頁設計 Flash Flash CSIE, NTU December 22, 2007 Outline & Flash National Taiwan University December 22, 2007 Page 2 Outline & Flash National Taiwan University December 22, 2007 Page 3 Course Introduction (1/3)

More information

<4D6963726F736F667420576F7264202D203120BBA5C1AACDF8BBF9B4A1B1EAD7BC2E646F63>

<4D6963726F736F667420576F7264202D203120BBA5C1AACDF8BBF9B4A1B1EAD7BC2E646F63> 概 要 本 标 准 是 中 国 广 告 协 会 的 互 动 网 络 委 员 会 主 持, 行 业 互 联 网 企 业 广 告 公 司 广 告 主 第 三 方 数 据 机 构 共 同 参 与 研 制 完 成 本 标 准 已 经 通 过 了 小 范 围 测 试 和 专 业 论 证, 并 根 据 行 业 和 相 关 部 门 的 反 馈 意 见 进 行 了 修 改, 具 备 了 行 业 试 行 的 基 础,

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 3 Access 3.1 SharePoint SharePoint SharePoint 3.6 1 1.15 1 3.1 3.2 1 3.1 40 Access 3.2 2 ID / 3.3 3 3.4 3.5 3.3 / 3.4 3.5 3 41 4 / 6 3.6 3.6 5 1 40 24 3.7 3.7 6 3.8 * 3.8 2 42 Access 1.16 1 3.1 / 1 3.9

More information

问 调 用 云 端 的 语 音 服 务 的 接 口 形 式, 对 规 范 语 音 识 别 服 务 提 供 方 式, 方 便 客 户 端 的 集 成 调 用, 从 而 促 进 语 音 交 互 应 用 的 推 广 发 展, 促 进 广 大 用 户 充 分 享 受 到 语 音 交 互 带 来 的 快 速

问 调 用 云 端 的 语 音 服 务 的 接 口 形 式, 对 规 范 语 音 识 别 服 务 提 供 方 式, 方 便 客 户 端 的 集 成 调 用, 从 而 促 进 语 音 交 互 应 用 的 推 广 发 展, 促 进 广 大 用 户 充 分 享 受 到 语 音 交 互 带 来 的 快 速 国 家 标 准 中 文 语 音 识 别 互 联 网 服 务 接 口 规 范 ( 征 求 意 见 稿 ) 编 制 说 明 一 工 作 简 况 1 任 务 来 源 按 照 国 家 标 准 化 管 理 委 员 会 2014 年 第 一 批 国 家 标 准 制 修 订 计 划 安 排, 国 家 标 准 制 定 项 目 中 文 语 音 识 别 互 联 网 服 务 接 口 规 范 ( 征 求 意 见 稿 ) 计

More information

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的 4.2 使 用 Table Service Table Service 相 对 来 说 是 三 个 Storage Service 中 最 好 理 解 和 最 易 于 接 受 的, 它 主 要 用 来 存 储 结 构 化 数 据 但 是 Table Service 却 并 不 是 一 个 关 系 型 数 据 库 Table Service 由 两 个 部 分 组 成 :Table 和 Entity

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 友乾营 报表的 SQL 植入风险 规避风险 : 让你的报表变的安全起来 SQL 植入的概念 恶意的 SQL 归根结底 : 执行了不该允许执行的 SQL 命令, 达到非法的目的 常见案例 骗过登录验证非法获取账号信息篡改 删除数据 为什么存在 SQL 植入 植入原理 如何攻击 特殊的输入参数 未处理特殊字符 -- # 数据库配置不合理 植入原理 : 案例 1, 特殊输入参数 union or 猜表名

More information

第 4 章 XMLHttpRequest 对象 AJAX AJAX 2 iframe AJAX iframe XMLHttpRequest JavaScript iframe AJAX XMLHttpRequest XMLHttpRequest Server Access Object Web XM

第 4 章 XMLHttpRequest 对象 AJAX AJAX 2 iframe AJAX iframe XMLHttpRequest JavaScript iframe AJAX XMLHttpRequest XMLHttpRequest Server Access Object Web XM 第 4 章 XMLHttpRequest 对象 AJAX AJAX 2 iframe AJAX iframe XMLHttpRequest JavaScript iframe AJAX XMLHttpRequest XMLHttpRequest Server Access Object Web XMLHttpRequest 64 第 Ⅱ 部分动态表示 : 用户接口与服务器之间的通信 4.1 Microsoft

More information

获取 Access Token 1 基础概念 access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要妥善保存,access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新

获取 Access Token 1 基础概念 access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要妥善保存,access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新 获取 Access Token 1 基础概念 access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要妥善保存,access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新 接入方可以使用 app_id 和 server_app_secret 调用本接口来获取 access_token

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information



 蜀 乐 微 信 概 况 : 蜀 乐 微 信 是 上 海 蜀 乐 网 络 科 技 有 限 公 司 打 造 的 专 业 的 微 信 互 动 产 品 平 台, 目 前 已 经 是 国 内 微 信 互 动 领 域 的 领 导 品 牌, 产 品 包 括 微 信 摇 一 摇 抽 奖 微 信 墙 微 信 摇 周 边 二 维 码 电 子 签 到 微 信 电 子 签 到 墙 H5 邀 请 函 页 面 制 作 微 信

More information

http://panweizeng.com http://meituan.com http://meituan.com hosts http://meituan.com hosts localhost 127.0.0.1 /etc/nsswitch.conf /etc/hosts /etc/resolv.conf Mail Client Web Browser cache 1-30mins Clients

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

「人名權威檔」資料庫欄位建置表

「人名權威檔」資料庫欄位建置表 ( version 0.2) 1 3 3 3 3 5 6 9.... 11 Entities - Relationship Model..... 12 13 14 16 2 ( ) Int Varchar Text byte byte byte Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate Type Varchar 10

More information

ebook 86-15

ebook 86-15 15 G t k + d e l e t e _ e v e n t G n o m e G n o m e 15.1 GnomeDialog G t k + G n o m e D i a l o g 15.1.1 G n o m e D i a l o g g n o m e _ d i a l o g _ n e w ( ) G N O M E _ D I A L O G ( d i a l

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

Socket Socket TcpClient Socket.Connect TcpClient.Connect Socket.Send / Receive NetworkStream 6-5

Socket Socket TcpClient Socket.Connect TcpClient.Connect Socket.Send / Receive NetworkStream 6-5 6 6-1 6-2 Socket 6-2-1 Socket 6-2-2 TcpClient 6-3 6-3-1 Socket.Connect 6-3-2 TcpClient.Connect 6-4 6-4-1 Socket.Send / Receive 6-4-2 NetworkStream 6-5 6-5-1 Socket.Close 6-5-2 TcpClient.Close 6-6 DateTime

More information

Simulator By SunLingxi 2003

Simulator By SunLingxi 2003 Simulator By SunLingxi sunlingxi@sina.com 2003 windows 2000 Tornado ping ping 1. Tornado Full Simulator...3 2....3 3. ping...6 4. Tornado Simulator BSP...6 5. VxWorks simpc...7 6. simulator...7 7. simulator

More information

untitled

untitled 1 .NET sln csproj dll cs aspx 說 料 料 利 來 料 ( 來 ) 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Click 滑 料 Response 列 料 Response HttpResponse 類 Write 料 Redirect URL Response.Write("!!

More information

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 Web (CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 1092 1/ 16 30.75 748 2005 1 1 2005 1 1 : 1 3 100

More information

Microsoft Word - 苹果脚本跟我学.doc

Microsoft Word - 苹果脚本跟我学.doc AppleScript for Absolute Starters 2 2 3 0 5 1 6 2 10 3 I 13 4 15 5 17 6 list 20 7 record 27 8 II 32 9 34 10 36 11 44 12 46 13 51 14 handler 57 15 62 63 3 AppleScript AppleScript AppleScript AppleScript

More information

RUN_PC連載_8_.doc

RUN_PC連載_8_.doc PowerBuilder 8 (8) Web DataWindow ( ) DataWindow Web DataWindow Web DataWindow Web DataWindow PowerDynamo Web DataWindow / Web DataWindow Web DataWindow Wizard Web DataWindow Web DataWindow DataWindow

More information

<4D6963726F736F667420576F7264202D20313035BEC7A67EABD7B9B4A5CDB3E6BF57A9DBA5CDC2B2B3B931303530333031B0EABBDA202832292E646F63>

<4D6963726F736F667420576F7264202D20313035BEC7A67EABD7B9B4A5CDB3E6BF57A9DBA5CDC2B2B3B931303530333031B0EABBDA202832292E646F63> 06 年 度 僑 生 學 士 班 單 獨 招 生 簡 章 招 生 招 生 招 生 招 生 招 生 學 系 招 生 學 系 代 碼 名 額 代 碼 名 額 F400 電 子 工 程 系 F40 企 業 管 理 系 3 F40 電 子 工 程 系 航 空 電 子 組 F43 行 銷 與 流 通 管 理 系 F400 電 機 工 程 系 F44 應 用 外 語 系 英 文 組 F4030 機 械 與 自

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63> 基 于 Android 平 台 的 电 子 拍 卖 系 统 摘 要 本 电 子 拍 卖 系 统 其 实 就 是 一 个 电 子 商 务 平 台, 只 要 将 该 系 统 部 署 到 互 联 网 上, 客 户 都 可 以 在 该 系 统 上 发 布 想 出 售 的 商 品, 也 可 以 对 拍 卖 中 的 商 品 参 与 竞 价 整 个 过 程 无 须 人 工 干 预, 由 系 统 自 动 完 成 本

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

F515_CS_Book.book

F515_CS_Book.book /USB , ( ) / L R 1 > > > 2, / 3 L 1 > > > 2 + - 3, 4 L 1 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 ( ) GSM 手机已连接到 GSM 网络 指示条越多, 接收质量越好 2 ...........................4.............................. 4 Micro SD (

More information

Chapter #

Chapter # 第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5 網頁程式設計 HTML JavaScript CSS HTML JavaScript CSS HTML 5 JavaScript JavaScript HTML 5 API CSS CSS Part 1 HTML HTML 5 API HTML 5 Apple QuickTime Adobe Flash RealPlayer Ajax XMLHttpRequest HTML 4.01 HTML 5

More information

ebook

ebook 26 JBuilder RMI Java Remote Method Invocation R M I J a v a - - J a v a J a v J a v a J a v a J a v a R M I R M I ( m a r s h a l ) ( u n m a r c h a l ) C a ff e i n e J a v a j a v a 2 i i o p J a v

More information

使用Cassandra和Spark 2.0实现Rest API服务

使用Cassandra和Spark 2.0实现Rest API服务 使用 Cassandra 和 Spark 2.0 实现 Rest API 服务 在这篇文章中, 我将介绍如何在 Spark 中使用 Akkahttp 并结合 Cassandra 实现 REST 服务, 在这个系统中 Cassandra 用于数据的存储 我们已经见识到 Spark 的威力, 如果和 Cassandra 正确地结合可以实现更强大的系统 我们先创建一个 build.sbt 文件, 内容如下

More information

Microsoft Word - SDD.doc

Microsoft Word - SDD.doc 結 合 腦 波 專 心 度 開 發 訓 練 弱 視 兒 童 系 統 軟 體 設 計 文 件 SDD-IM-2012-014-1-1 朝 陽 科 技 大 學 資 訊 管 理 系 指 導 老 師 : 陳 榮 靜 教 授 學 生 : 羅 育 文 林 資 皓 林 家 瑜 林 于 婷 江 諺 誠 邢 涵 向 中 華 中 華 民 國 一 百 零 一 年 十 二 月 三 日 1 目 錄 1. 簡 介... 6 1.1

More information

TC35短信发送程序设计

TC35短信发送程序设计 http://www.dragonsoft.net.cn/down/project/tc35_sms.rar TC35 AT /down/book/tc35_at.pdf TC35/TC35i GSM Modem TC35 GSM POS COM SIM DOWN COM E, vbcr AT VB6.0 1)C# http://www.yesky.com/softchannel/72342380468109312/20040523/1800310.shtml,

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

weblogic

weblogic Weblogic Allen Long allen@huihoo.com http://www.huihoo.com 2004-04 1 WebLogic, WLS WLS Domain 2 Weblogic6.1 Weblogic6.1 J2EE1.2,J2EE1.3 HTTP 1.1 J2EE Connector Architecture 1.0 J2EE EJB 2.0 J2EE JDBC 2.0

More information

第1章 簡介

第1章 簡介 EAN.UCCThe Global Language of Business 4 512345 678906 > 0 12345 67890 5 < > 1 89 31234 56789 4 ( 01) 04601234567893 EAN/UCC-14: 15412150000151 EAN/UCC-13: 5412150000161 EAN/UCC-14: 25412150000158 EAN/UCC-13:

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information