Topik ini menjelaskan API JavaScript dari WVStandardEventCenter. Anda dapat merujuk pada topik ini saat membuat aplikasi HTML5 atau MiniApps. Gunakan API JavaScript dari WVStandardEventCenter untuk mengirimkan event dari aplikasi HTML5 atau MiniApps ke Native.
WVStandardEventCenter.postNotificationToNative
Mengirimkan event dari aplikasi HTML5 atau MiniApps ke Native. Nama event dapat disesuaikan berdasarkan kebutuhan bisnis Anda.
iOS event listeners
Gunakan Notification Center untuk mendengarkan event.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myEventListener) name:eventName object:nil]
- (void)myEventListener:(NSNotification *)notification {
// Tentukan untuk memperoleh parameter event dari notification.userInfo.
}
Android event listeners
@import android.taobao.windvane.service;
@import android.taobao.windvane.standardmodal
// Implementasikan sebuah listener.
public class JsEventListener implements WVEventListener {
@Override
public WVEventResult onEvent(int id, WVEventContext ctx, Object... obj) {
// Semua event dikirim ke listener. WVEventId.H5TONATIVE_EVENT menunjukkan event yang dikirim oleh aplikasi HTML5 atau MiniApps.
if (id == WVEventId.H5TONATIVE_EVENT) {
if (obj[0] instanceof String) {
String params = (String)obj[0];
// params adalah string JSON yang berisi dua parameter – event dan param. Anda perlu melakukan deserialisasi string tersebut.
}
}
return null;
}
}
// Daftarkan sebuah listener.
WVEventService.getInstance().addEventListener(new JsEventListener());
Parameter input
[
string] event: nama event yang akan dikirim.[
object] param: (opsional) parameter dari event yang akan dikirim.
Parameter callback
Tidak ada parameter callback yang tersedia. Jika ponsel berbunyi, callback success dipanggil. Sebaliknya, callback failure dipanggil.
var params = {
event: 'eventName',
param: {
// Data dari event yang akan dikirim.
}
};
window.WindVane.call('WVStandardEventCenter','postNotificationToNative', params, function(e) {
alert('sukses');
}, function(e) {
alert('kegagalan: ' + JSON.stringify(e));
});