WebView画面(UIWebView画面)やWebページのアクション内でイベントやタグの送信をする方法
WebViewからイベントやタグを送信するのには、WebViewからネイティブコードを呼び出し、SDKのメソッドを実行する方法があります。
iOS
URLが変わるタイミングで「shouldStartLoadWithRequest」が実行されるので、URLを取り出して中身を解析することでObjective-Cのメソッドを実行します。
document.location = "webview://sampleMethod";
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { NSURL *URL = [request URL]; if ([[URL scheme] isEqualToString:@"webview"]) { [self [URL host]]; return NO; } return YES; } - (void)sampleMethod { // 任意のイベント・タグを送信 }
参考: WebView で Javascript と Objective-C のコードを相互に呼び出す方法
iPhoneのネイティブ機能をWebViewから呼び出す方法(2)
Android
WebView 上で addJavascriptInterface といったメソッドを実行することで、Javaのネイティブコードを実行可能です。 このJavaのネイティブコードでGrowth Pushのイベントやタグの送信を実装してください。
class MyInterface(private val context: Context) { @JavascriptInterface fun trackEvent(eventName: String) { // 任意のイベント・タグを送信 } }
webView.addJavascriptInterface(MyInterface(this), "Event")
// JavaScript Event.trackEvent('YOUR_EVENT_NAME');
参考: Androidでガワネイティブ
イベントやタグの実装方法は ガイドの「イベントの送信」、「タグの送信」を参照してください。