SDK ์ฐ๋
Java/Kotlin SDK๋ JDK 8 ์ด์์ ์ง์ํฉ๋๋ค.
์์กด์ฑ ์ถ๊ฐ
SDK ์์กด์ฑ์ ์ถ๊ฐํฉ๋๋ค.
repositories {
mavenCentral()
}
dependencies {
implementation 'io.hackle:hackle-server-sdk:2.31.0'
}SDK ์ด๊ธฐํ
HackleClient๋ ๋ฐ๋์ ์ฑ๊ธํค์ด์ด์ผ ํฉ๋๋ค.
HackleClient๋ ํธ์ถ ์ฐ๋ ๋๋ฅผ ๋ธ๋กํน ํ์ง ์๊ณ ๋ฐ๋ก ํ ์คํธ ๊ทธ๋ฃน์ ๋ถ๋ฐฐํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ํ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
์ด๋ฅผ ์ํด ์ถ๊ฐ์ ์ธ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.๋ชจ๋ ์์ฒญ์ ๋ํด ์๋ก์ด ํด๋ผ์ด์ธํธ๋ฅผ ์ธ์คํด์คํ ํ์ง ์๊ณ ์ดํ๋ฆฌ์ผ์ด์ ์๋ช ์ฃผ๊ธฐ ๋์ ์ฑ๊ธ ์ธ์คํด์ค๋ก ๊ด๋ฆฌ๋์ด์ผ ํฉ๋๋ค.
HackleClient๋ SDK ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฉ์๋๋ค์ ์ ๊ณตํ๋ ํด๋์ค์
๋๋ค.
SDK ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ HackleClinet ์ด๊ธฐํ๊ฐ ํ์ํฉ๋๋ค.
์ธ์คํด์คํ
SDK ํค๋ฅผ ์ ๋ฌํ์ฌ HackleClient๋ฅผ ์ธ์คํด์คํ ํฉ๋๋ค.
HackleClient๋ ํ์ํ ์ ๋ณด๋ค์ ์ป๊ธฐ ์ํด ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ผ๋ก ํตํด ์๋ฒ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋๊ธฐํํฉ๋๋ค.
- SDK ํค๋ ํตํด ์๋น์ค์ ๋์๋ณด๋ ์์ ์์นํ SDK ์ฐ๋ ์ ๋ณด์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
import io.hackle.sdk.HackleClient
import io.hackle.sdk.HackleClients
// YOUR_SERVER_SDK_KEY ์๋ฆฌ์ SDK ํค๋ฅผ ๋ฃ์ต๋๋ค.
HackleClient hackleClient = HackleClients.create(YOUR_SERVER_SDK_KEY);import io.hackle.sdk.HackleClient
import io.hackle.sdk.HackleClients
// YOUR_SERVER_SDK_KEY ์๋ฆฌ์ SDK ํค๋ฅผ ๋ฃ์ต๋๋ค.
val hackleClient = Hackle.client(YOUR_SERVER_SDK_KEY) ์ข
๋ฃ
์ดํ๋ฆฌ์ผ์ด์
์ด ์ข
๋ฃ๋ ๋ close() ๋ฉ์๋๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค.
์ด ๊ณผ์ ์ ํตํด ์ฌ์ฉ ์ค์ธ ๋ฆฌ์์ค๋ฅผ ๋ฐ๋ฉํ๊ณ ๋จ์์๋ ์ด๋ฒคํธ๋ฅผ ์ ์กํฉ๋๋ค.
close()ํธ์ถ ์์ด ์ดํ๋ฆฌ์ผ์ด์ ์ด ์ข ๋ฃ๋๋ฉด ์ด๋ฒคํธ๊ฐ ๋๋ฝ๋ ์ ์์ต๋๋ค.
import io.hackle.sdk.HackleClient
hackleClient.close();import io.hackle.sdk.HackleClient
hackleClient.close()์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์๋ ๊ฒฝ์ฐ
HackleClient๋ฅผ ๋น(bean)์ผ๋ก ๋ฑ๋กํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค.
์ดํ๋ฆฌ์ผ์ด์
์๋ช
์ฃผ๊ธฐ ๋์ ์ฑ๊ธ ์ธ์คํด์ค๋ก ๊ด๋ฆฌ๊ฐ ๋๋ฉฐ ์ดํ๋ฆฌ์ผ์ด์
์ข
๋ฃ ์ close()๊น์ง ์๋์ผ๋ก ํธ์ถ๋ฉ๋๋ค.
Hackle Client ๋ฅผ wrapping ํ์ฌ ์ฌ์ฉํ์๋ ๊ฒฝ์ฐ
wrapping ํด๋์ค์ AutoClosable implementation ํ์๊ณ close() ์์ HackleClient ์ close()๋ฅผ ํธ์ถ ํ์๋ ๋ฐฉ๋ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
import io.hackle.sdk.HackleClient
public class CustomHackleClient implements AutoCloseable {
private final HackleClient hackleClient;
public CustomHackleClient(HackleClient hackleClient) {
this.hackleClient = hackleClient;
}
@Override
public void close() throws Exception {
hackleClient.close();
}
}import io.hackle.sdk.HackleClient
class CustomHackleClient(private val hackleClient: HackleClient): AutoCloseable {
override fun close() {
hackleClient.close()
}
}Updated 14 days ago
