开发步骤
- 用
AppExtensionProfile描述这个插件,绑定应用扩展点(见本文档插件开发 > 绑定应用扩展点章节) - 注册到该应用的
PluginListener类(见本文档插件应用 > PluginListener章节) - 场景模拟,调试
 
注意:本章节提供的相关接口说明,请以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
- name 按钮名称
 - action url地址
 - target 只允许三个常量:_blank/mainFrame/ajax
 - color 只允许三个常量:blue/white/red
 

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