- 웹뷰 앱에서 FCM 토큰값을 서버로 전달 방법
앱내 웹뷰에서 서버로 FCM 토큰값을 전달하기 위해 웹뷰내 자바 스크립트를 호출하여 FCM 토큰값을 전달한다.
callJavaScriptcallJavaScriptFunc 호출
- javascript 함수 정보 및 모바일 정보, FCM 토큰 정보 전달
//로그인 페이지일 경우 javascript 호출 처리
if (url.indexOf(LOGIN_URL) > -1 || url.indexOf(MAIN_URL) > -1) { // 로그인 url이 틀어오면 setAppInfo javascript를 호출함. (푸시키값 포함됨)
val appDeviceId = AndroidUtil.getDeviceId(this@MainActivity)
val appPushKey = Preference.getPushToken(this@MainActivity)
val appOs = "android"
val appVersion = AndroidUtil.getVersion(this@MainActivity)
val appModel = Build.MODEL
callJavaScriptFunc("setAppInfo", appDeviceId, appPushKey, appOs, appVersion, appModel) //javascript 함수호출(setAppInfo)
}
- loadUrl으로 javascript 호출 정보 생성하여 전달
protected fun callJavaScriptFunc(func: String?, vararg params: String?) {
if (mWebView != null && func != null && "" != func) {
var paramsStr = ""
if (params != null && !"".equals(params)) {
val count = params.size
for (i in 0 until count) {
if (i > 0) {
paramsStr += ','
}
paramsStr += "'" + StringUtil.defaultStr(params[i]) + "'"
}
}
Timber.d("callJavaScriptFunc = javascript:$func($paramsStr)")
loadUrl("javascript:$func($paramsStr)")
}
}
'잡동사니' 카테고리의 다른 글
스냅샷(snapshot)의 의미 (0) | 2021.02.26 |
---|---|
[네트워크] 공인IP와 사설IP 설명 (0) | 2021.02.25 |