μΉμ± μ°λ
μ§μ 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.
});
Updated about 1 month ago