setuserproperty para logevent log google event javascript android webview google-analytics

javascript - para - google analytics mobile



Android webview JavaScript loadurl establece el problema variable sdk 24+ Google Analytics (0)

En mi aplicación, necesito establecer una variable de JavaScript en las visitas web con fines de seguimiento que el javascript utilizará para mantener el seguimiento analítico nativo y el seguimiento web sincronizados. Actualmente funciona cuando tengo compiledSdkVersion y targetSdkVersion establecido en 23.

En OnPageStarted tengo este código.

String javaScript = String.format("javascript: var clientId = ''%s'';", nativeClientId); webView.loadUrl(javaScript);

Cuando aumento el compileSdkVersion y targetSdkVersion a 24, esto ya no funciona. Javascript dice que la variable no está definida. Cuando vuelvo a configurar las versiones en 23, funciona de nuevo.

Encontré en los documentos de WebView https://developer.android.com/reference/android/webkit/WebView.html#evaluateJavascript(java.lang.String , android.webkit.ValueCallback)

Nota de compatibilidad Las aplicaciones que se dirigen a N o posterior, el estado de JavaScript de un WebView vacío ya no se conserva en navegaciones como loadUrl (String). Por ejemplo, las variables y funciones globales definidas antes de llamar a loadUrl (String) no existirán en la página cargada. Las aplicaciones deberían usar addJavascriptInterface (Object, String) en su lugar para persistir los objetos JavaScript a través de las navegaciones.

¿Cómo puedo convertir mi javascript para usar AddJavascriptInterface para establecer este ID de cliente para que el JavaScript pueda leer la variable sin tener que cambiar el código web?

¡Cualquier sugerencia u otras ideas ayudarían mucho!