このドキュメントでは、H5 からネイティブクライアントにイベントを送信できる WVStandardEventCenter JavaScript API について説明します。このガイドは、H5 アプリケーションおよびミニプログラムの開発者向けのリファレンスです。
WVStandardEventCenter.postNotificationToNative
H5 からネイティブクライアントにイベントを送信します。イベント名は任意の文字列を使用できますが、ネイティブチームと事前に合意しておく必要があります。
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
// まず、リスナーを実装します。
public class JsEventListener implements WVEventListener {
@Override
public WVEventResult onEvent(int id, WVEventContext ctx, Object... obj) {
// サービスはすべてのイベントをこのメソッドにディスパッチします。WVEventId.H5TONATIVE_EVENT ID は、H5 から送信されたイベントを示します。
if (id == WVEventId.H5TONATIVE_EVENT) {
if (obj[0] instanceof String) {
String params = (String)obj[0];
// params 変数は、イベント名とそのパラメーターを含む JSON 文字列です。この文字列を逆シリアル化する必要があります。
}
}
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));
});