Android


Android 가이드 문서는 아래 조건을 기준으로 작성되었습니다.

  • 사용언어 : Kotlin

    • 해당 가이드는 코틀린 언어를 기반으로 작성되었습니다.

  • 아키텍쳐 : ViewBinding

    • 해당 가이드는 ViewBinding(뷰결합)arrow-up-right 아키텍처로 작성되었습니다.

    • findViewByld 형식의 아키텍처를 사용하시는 경우, 자체적인 샘플 코드의 수정이 필요할 수 있습니다.


1단계: Activity 레이아웃 파일 생성

res/layout 경로에 런처를 실행할 Activity 레이아웃 파일을 생성합니다.

circle-exclamation

AndroidManifest.xml 파일의 <application></application> 태그 내 런처 WebView Activity를 추가합니다.

  • 게임은 세로모드 해상도에 최적화 되어 screenOrientation 값을 portrait 으로 고정해주세요.


2단계: Activity 내 WebView 설정 추가

1. Javascript Interface 선언

런처 ↔ 클라이언트 앱 간의 통신을 위해 우리는 Javascript Interface 선언이 필요합니다.

이와 관련된 내용은 [안드로이드 개발자 사이트]arrow-up-right를 참고 할 수 있습니다.

Javascript Interface 추가 코드

  • addJavascriptInterface 선언 시 name 값을 BlpLauncher 로 설정해야 합니다.

ExampleWebAppInterface 클래스 내부에 아래 케이스 function들을 선언합니다.

Interface function
Description

closeLauncher()

런처의 Back 버튼 UI 클릭 시 (뒤로가기 처리)

launcherLoaded()

런처의 로드가 완료된 후 추가적인 처리 필요 시 사용

timerMissionComplete()

타이머 미션 완료 후 추가적인 처리 필요 시 사용

giftReceived()

육성완료 후 추가적인 처리 필요 시 사용

2. WebView 기본 설정 추가

런처가 WebView 내에서 정상적인 동작을 하려면 몇가지 기본 설정이 필요합니다.

  • WebView에 로드한 런처 자바스크립트 코드가 정상적으로 허용되도록 javaScriptEnabled 값을 true 로 설정해주세요.

  • 런처에서는 Storage 영역을 사용하기에 domStorageEnabled 값을 true 로 설정해주세요.

3. WebView URL 로드

Activity가 실행되었을 때 onCreate() 안에서 런처 호출 URL 을 WebView에 로드합니다.


3단계: onDestroy() 설정

Activity가 종료될 때 onDestroy() 라이프 사이클이 수행됩니다. 이 때 WebView 인스턴스를 초기화 하고 Destroy 하여 메모리 누수를 방지합니다.

런처 WebView가 포함된 Activity 뿐만 아니라 이 후 추가적으로 WebView Activity를 생성할 경우 다음과 같이 onDestroy() 처리를 넣어주는 편이 좋습니다.

circle-info

개발에 대한 추가 설명이 더 필요하신가요?

"[Client Admin]arrow-up-right 로그인 → 오른쪽 하단 채널톡 위젯" 클릭 후 개발 카테고리에 문의 남겨주시면 기술 개발팀에서 확인 후 연락드리겠습니다.


4단계: 화면 전환 설정

1. AndroidManifest 설정

Activity별 <intent-filter></intent-filter> 내부 data-element에 schemehost 설정을 추가해주세요.

자세한 설명은 [Manifest data-element]arrow-up-right 를 참고합니다.

2. queryString을 통한 데이터 얻기

scheme , host 값 외 queryString을 사용하여 Activity에서 원하는 데이터를 사용할 수 있습니다.

circle-info

개발에 대한 추가 설명이 더 필요하신가요?

"[Client Admin]arrow-up-right 로그인 → 오른쪽 하단 채널톡 위젯" 클릭 후 개발 카테고리에 문의 남겨주시면 기술 개발팀에서 확인 후 연락드리겠습니다.

Last updated