μ›Ήμ•± 연동

πŸ“˜

지원 SDK 버전

Android SDK 2.29.0 이상 λ²„μ „μ—μ„œ μ§€μ›ν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.
JavaScript SDK 11.24.1 이상 λ²„μ „μ—μ„œ μ§€μ›ν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

WebView λ₯Ό 톡해 μžμ‚¬ μ›Ήμ‚¬μ΄νŠΈλ₯Ό λžœλ”λ§ν•˜λŠ” 경우, λ‹€μŒ 같은 섀정을 톡해 μ›Ήμ‚¬μ΄νŠΈμ— ν¬ν•¨λœ 핡클 JavaScript SDKλ₯Ό μ›Ήμ‚¬μ΄νŠΈ μ½”λ“œ 변경없이 핡클 Android SDK κΈ°λŠ₯κ³Ό λ™μΌν•˜κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

...
HackleApp.getInstance().setWebViewBridge(webView)
...
...
Hackle.app.setWebViewBridge(webView)
...

🚧

핡클 μ•ˆλ“œλ‘œμ΄λ“œ μ›Ήλ·° 섀정은 μ•ˆλ“œλ‘œμ΄λ“œ Javascript Interfaceλ₯Ό 톡해 핡클 JavaScript SDK와 μƒν˜Έμž‘μš©ν•˜κ²Œ λ©λ‹ˆλ‹€. λ°˜λ“œμ‹œ WebView::loadUrl ν•¨μˆ˜ 호좜 이전에 ν•΄λ‹Ή 섀정이 μ™„λ£Œλ  수 μžˆλ„λ‘ μ½”λ“œλ₯Ό μœ„μΉ˜μ‹œμΌœ μ£Όμ„Έμš”.

🚧

ν•΄λ‹Ή κΈ°λŠ₯을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” JavaScript μ›ΉνŽ˜μ΄μ§€μ—μ„œ λ™μΌν•œ App SDK ν‚€λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

(Optional) Webview Wrapper App 연동

λ§Œμ•½ 핡클 이벀트λ₯Ό Android SDKκ°€ μ•„λ‹Œ JavaScript SDKλ₯Ό 톡해 μˆ˜μ§‘ν•˜κ³  μ‹Άλ‹€λ©΄ 핡클 SDKλ₯Ό μ΄ˆκΈ°ν™” ν•  λ•Œ HackleAppModeλ₯Ό WEB_VIEW_WRAPPER둜 μ„€μ •ν•˜λ©΄ λ©λ‹ˆλ‹€.

import io.hackle.android.Hackle
import io.hackle.android.HackleConfig
import io.hackle.android.HackleAppMode
import io.hackle.android.initialize

val config = HackleConfig.builder()
  .mode(HackleAppMode.WEB_VIEW_WRAPPER)
  .build()

Hackle.initialize(applicationContext, YOUR_APP_SDK_KEY, config) {
  // SDK ready to use.
}
import io.hackle.android.HackleApp;
import io.hackle.android.HackleConfig;
import io.hackle.android.HackleAppMode

HackleConfig config = HackleConfig.builder()
  .mode(HackleAppMode.WEB_VIEW_WRAPPER)
  .build();

HackleApp.initializeApp(getApplicationContext(), YOUR_APP_SDK_KEY, config, () -> {
  // SDK ready to use.
});