AWS 插件扩展开发参考指南

开发步骤

  1. AppExtensionProfile描述这个插件,绑定应用扩展点(见本文档插件开发 > 绑定应用扩展点章节)
  2. 注册到该应用的PluginListener类(见本文档插件应用 > PluginListener章节)
  3. 场景模拟,调试

注意:本章节提供的相关接口说明,请以aws-api-doc为主。

注册语法

AppExtensionProfile类完成向通知中心的注册。

// 注册通知中心
Map<String, Object> params1 = new HashMap<String, Object>();
params1.put("systemName", MyFormatter.DEMO_NAME);
params1.put("icon", "../apps/com.actionsoft.apps.poc.plugin/img/icon96.png");
params1.put("formatter", MyFormatter.class.getName());
list.add(new AppExtensionProfile(MyFormatter.DEMO_NAME, "aslp://com.actionsoft.apps.notification/registerApp", params1));

要成功注册,必须设置该应用依赖com.actionsoft.apps.notification,即在该应用的manifest.xml声明依赖

  <requires>
    <require appId="com.actionsoft.apps.notification" notActiveHandler="error"/>
  </requires>
  • notActiveHandler=error,表示高度依赖。如果服务提供方被停用,该应用将收到错误
  • notActiveHandler=warning,表示中度依赖。如果服务提供方被停用,该应用将收到警告
  • notActiveHandler=none,表示智能依赖。如果服务提供方被停用,该应用不会收到任何信息

formatterClass

一个提供parser()方法的Java类,继承NotificationMessageFormatter父类

/**
 * @param user 通知查看人
 * @param content 发送的原始内容,可能是简单信息也可能是开发者约定的json串
 * @return ResponseObject,包含content和buttons两个变量
*/
public ResponseObject parser(UserContext user, String content) {
    // 封装结果
    ResponseObject ro = ResponseObject.newOkResponse();
    ...
    return ro;
}

该方法要求返回一个ResponseObject对象,该对象含有一个名为content的字符串和buttons的ArrayList(非必须)。ArrayList是一个Map结构,每个Map用来描述一个button的定义,包含属性:

  • name 按钮名称
  • action url地址
  • target 只允许三个常量:_blank/mainFrame/ajax
  • color 只允许三个常量:blue/white/red


Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区