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でガワネイティブ
イベントやタグの実装方法は ガイドの「イベントの送信」、「タグの送信」を参照してください。