마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰(WebView) 안의 정보를 추출할 수 있나요??

0 추천
현재 만들어진 웹의 흐름도가

( 로그인 > 해당 id 정보 출력  )

 

지금 문제가 웬만한 작업/기능을 모두 웹에서 만들어둔 상태라서..

webview로 만든 사이트를 그냥 뿌려주었는데.

 

앱에 연동하는 이유가 FCM푸쉬알림이 필요하기 때문입니다.

그런데 웹뷰의 사이트에 로그인시,

웹서버에

1. 앱 디바이스 사용자의 토큰키

2. Webview 에서 로그인한 아이디 값

이 두개를 웹서버에 보내줘야 하는데

어떻게 해야될지.. 지금 혼란상태입니다

 

1. 앱에 '로그인 액티비티'를 하나 만들어서 서버랑 통신해야 할지..

2. Webview에 뿌려준 사이트가 로그인한값을 가져오는 방법이 있을지.. (이 방법이 있을까요??)

 

무조건 가능한 방법이 있으면 그쪽으로 할 생각입니다

현재 안드로이드쪽은 너무 아는게 없어서 질문드립니다..
푸타 (200 포인트) 님이 2017년 7월 24일 질문

1개의 답변

0 추천
FCM 생성 예제 해보시면, 디바이스 토큰 생성하는 함수가 있습니다.

sendRegistrationToServer 요 메소드 안에서 서버통신(HttpURLConnection)을 이용하여 바로 서버에 토큰을 뿌려주는 방법이 있구요.

 

로그인과 같은 작업후에 토큰을 던져서 서버에 전달하고 DB저장하시려면 위 함수에서 쓰는게 아니라.. 웹에서 네이티브 함수를 호출하고, 그 네이티브 함수는 웹에 토큰값을 전달해주면 돼요.

            pushToken = FirebaseInstanceId.getInstance().getToken();

위 소스처럼 네이티브에서는 푸시 토큰 값을 언제나 얻을 수가 있거든요.

저희쪽같은경우에는 후자에 사용해서.. 서버 페이지 열리면 네이티브함수호출하고 네이티브에서 푸시 값 등을 JSON으로 던져주고 있습니당.

 

혹은 웹뷰로 열리는 페이지에 헤더값을 심어서 전달하는 방법도 있구요
 

액티비티를 따로 만들필요는 없어요.

웹페이지에서만 다 처리하고, 필요할때 네이티브 함수를 호출하시면 될것같아요.

 

2번같은경우에서는 네이티브가 아니라 웹에서 다 처리하지않나요?? 세션이나

굳이 네이티브에 저장시키려면 푸시 설명한것처럼 네이티브에 값 전달해서 폰DB에 저장시킬수는 있습니다\그리고 이후에 다시 네이티브 함수 호출하고, 폰 DB조회후 리턴같은 방법이요.
겸군님 (1,900 포인트) 님이 2017년 7월 24일 답변
겸군님님이 2017년 7월 24일 수정
...