通信

本文介绍通信类WVStandardEventCenter相关的JS API,供您在通过跨平台DevOps创建H5端应用或者小程序时参考。通信类WVStandardEventCenter的JS API提供H5端向Native端发送事件的能力。

WVStandardEventCenter.postNotificationToNative

H5端向Native端发送事件,具体的事件名称可以是与Native业务方商议一致的任意名称。

iOS事件监听用法

使用标准的消息中心监听事件。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myEventListener) name:eventName object:nil]

- (void)myEventListener:(NSNotification *)notification {
        // 事件参数可以从 notification.userInfo 中获取。
}

Android事件监听用法

@import android.taobao.windvane.service;
@import android.taobao.windvane.standardmodal

// 首先,需要自己实现监听用的 Listener。
public class JsEventListener implements WVEventListener {
        @Override
        public WVEventResult onEvent(int id, WVEventContext ctx, Object... obj) {
                // 所有事件均派发到这里,WVEventId.H5TONATIVE_EVENT 表示 H5 发送过来的事件。
                if (id == WVEventId.H5TONATIVE_EVENT) {
                        if (obj[0] instanceof String) {
                                String params = (String)obj[0];
                                // 这里的 params 是包含 event 和 param 的 JSON String,需要自行反序列化。
                        }
                }
                return null;
        }
}

// 然后,注册监听器。
WVEventService.getInstance().addEventListener(new JsEventListener());

输入参数

  • [string]event:要发送的事件名称。

  • [object]param:(可选)要发送的事件参数。

回调参数

无回调参数,如果成功蜂鸣,则进入success回调,否则进入failure回调。

var params = {
        event: 'eventName',
        param: {
                // 事件要传递的数据。
        }
};
window.WindVane.call('WVStandardEventCenter','postNotificationToNative', params, function(e) {
        alert('success');
}, function(e) {
        alert('failure: ' + JSON.stringify(e));
});