An open API service indexing awesome lists of open source software.

https://github.com/flippercorporation/nachocode-client-sdk

Nachocode Client SDK
https://github.com/flippercorporation/nachocode-client-sdk

android app-development ios low-code nachocode react sdk

Last synced: about 2 months ago
JSON representation

Nachocode Client SDK

Awesome Lists containing this project

README

        

# πŸ“¦ nachocode Client SDK


Nachocode Logo



Nachocode Character

> πŸ”” **μ΅œμ‹ ν™” 일자:** _2025-03-25_

## λͺ©μ°¨

- [πŸ“¦ nachocode Client SDK](#-nachocode-client-sdk)
- [λͺ©μ°¨](#λͺ©μ°¨)
- [κ°œμš”](#κ°œμš”)
- [μ„€μΉ˜](#μ„€μΉ˜)
- [μ‚¬μš©λ²•](#μ‚¬μš©λ²•)
- [1️⃣ `NachoProvider` (React Context 방식)](#1️⃣-nachoprovider-react-context-방식)
- [`useNachocode()` λ°˜ν™˜κ°’](#usenachocode-λ°˜ν™˜κ°’)
- [2️⃣ `loadNachocode` 직접 μ‚¬μš©](#2️⃣-loadnachocode-직접-μ‚¬μš©)
- [SDK μ΄ˆκΈ°ν™” μ˜΅μ…˜ (`InitializeOptions`)](#sdk-μ΄ˆκΈ°ν™”-μ˜΅μ…˜-initializeoptions)
- [SDK 버전 관리](#sdk-버전-관리)
- [SDK κΈ°λŠ₯ μ‚¬μš©](#sdk-κΈ°λŠ₯-μ‚¬μš©)
- [λ„€μž„μŠ€νŽ˜μ΄μŠ€ μ†Œκ°œ](#λ„€μž„μŠ€νŽ˜μ΄μŠ€-μ†Œκ°œ)
- [λΌμ΄μ„ μŠ€](#λΌμ΄μ„ μŠ€)
- [κΈ°μ—¬μž](#κΈ°μ—¬μž)
- [마무리](#마무리)

---

## κ°œμš”

**nachocode Client SDK**λŠ” **μ›Ή κ°œλ°œμžλ“€μ΄ λ„€μ΄ν‹°λΈŒ μ•±μ˜ 고유 κΈ°λŠ₯을 μ†μ‰½κ²Œ ν™œμš©ν•  수 μžˆλ„λ‘ λ•λŠ” SDK**μž…λ‹ˆλ‹€.

이 λ¬Έμ„œλŠ” **SDK의 μ„€μΉ˜, μ΄ˆκΈ°ν™”, μ£Όμš” κΈ°λŠ₯ 및 μ‚¬μš© 방법** 등을 μ•ˆλ‚΄ν•©λ‹ˆλ‹€.

- [곡식 λ¬Έμ„œ λ°”λ‘œκ°€κΈ°](https://developer.nachocode.io/docs/sdk/intro)

---

## μ„€μΉ˜

```bash
npm install nachocode-client-sdk
```

λ˜λŠ”

```bash
yarn add nachocode-client-sdk
```

---

## μ‚¬μš©λ²•

nachocode Client SDKλŠ” 두 κ°€μ§€ λ°©λ²•μœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

### 1️⃣ `NachoProvider` (React Context 방식)

- μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ „μ²΄μ—μ„œ `Nachocode`λ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ `Provider` νŒ¨ν„΄μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
- `useNachocode` 훅을 μ‚¬μš©ν•˜μ—¬ `Nachocode` 객체에 μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

```jsx
import { NachoProvider, useNachocode } from 'nachocode-client-sdk';

function MyComponent() {
const { Nachocode, loading, error } = useNachocode();

if (loading) return

Loading...

;
if (error) return

Error: {error.message}

;

return

Nachocode SDK μ‚¬μš© κ°€λŠ₯!

;
}

export default function App() {
return (



);
}
```

#### `useNachocode()` λ°˜ν™˜κ°’

| λ°˜ν™˜κ°’ | μ„€λͺ… |
| ----------- | --------------------------------------------- |
| `Nachocode` | Nachocode SDK 객체 |
| `loading` | SDK λ‘œλ”© μƒνƒœ (`true` λ˜λŠ” `false`) |
| `error` | SDK λ‘œλ“œ 쀑 λ°œμƒν•œ μ—λŸ¬ (`Error` λ˜λŠ” `null`) |

### 2️⃣ `loadNachocode` 직접 μ‚¬μš©

- React μ™ΈλΆ€μ—μ„œλ„ `loadNachocode` ν•¨μˆ˜λ₯Ό 직접 ν˜ΈμΆœν•˜μ—¬ μ‚¬μš© κ°€λŠ₯ν•©λ‹ˆλ‹€.

```jsx
import { loadNachocode } from 'nachocode-client-sdk';

async function initSDK() {
try {
const Nachocode = await loadNachocode('your-api-key-here');
console.log('Nachocode SDK λ‘œλ“œ μ™„λ£Œ:', Nachocode);
} catch (error) {
console.error('Nachocode SDK λ‘œλ“œ μ‹€νŒ¨:', error);
}
}

initSDK();
```

---

## SDK μ΄ˆκΈ°ν™” μ˜΅μ…˜ (`InitializeOptions`)

nachocode Client SDKλŠ” μ΄ˆκΈ°ν™” μ‹œ μ„ νƒμ μœΌλ‘œ μ˜΅μ…˜μ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄ˆκΈ°ν™” μ˜΅μ…˜μ€ `NachoProvider`, `loadNachocode` 두 λ°©μ‹μ—μ„œ λͺ¨λ‘ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

1. `NachoProvider` λ°©μ‹μ—μ„œ `options` μ‚¬μš©

- `NachoProvider`에 `apiKey`와 ν•¨κ»˜ `options`λ₯Ό 전달할 수 μžˆμŠ΅λ‹ˆλ‹€:

```jsx



```

2. `loadNachocode` 직접 호좜 μ‹œ `options` μ‚¬μš©

- λΉ„ React ν™˜κ²½ λ˜λŠ” μˆ˜λ™μœΌλ‘œ μ΄ˆκΈ°ν™”ν•˜κ³  싢을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€:

```jsx
loadNachocode('your-api-key', {
sandbox: true,
logger: true,
});
```

| μ˜΅μ…˜ 이름 | νƒ€μž… | μ„€λͺ… |
| --------- | ------- | -------------------------------------------------------------------- |
| `sandbox` | boolean | βœ… μƒŒλ“œλ°•μŠ€ ν™˜κ²½μ—μ„œ ν…ŒμŠ€νŠΈ μ‹œ `true`둜 μ„€μ • |
| `logger` | boolean | βœ… μ½˜μ†” 둜그λ₯Ό 톡해 SDK λ‚΄λΆ€ λ™μž‘μ„ λ””λ²„κΉ…ν•˜κ³  싢을 λ•Œ `true`둜 μ„€μ • |

- `logger`λŠ” 기본적으둜 true둜 μ„€μ •λ˜μ–΄ 있으며, 개발 쀑 디버깅에 μœ μš©ν•©λ‹ˆλ‹€.
- `sandbox`λŠ” μ‹€μ œ 운영 APIκ°€ μ•„λ‹Œ ν…ŒμŠ€νŠΈ μ„œλ²„λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 μœ μš©ν•©λ‹ˆλ‹€.

---

## SDK 버전 관리

μ΅œμ‹  버전 λ‘œλ“œ (κΈ°λ³Έ)

- μ΅œμ‹  λ²„μ „μ˜ SDKλ₯Ό 항상 μœ μ§€ν•˜λ €λ©΄ μ•„λž˜ μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ„Έμš”
- ν˜„μž¬ μ΅œμ‹  버전 v.1.4.2

```jsx
loadNachocode('your-api-key'); // μ΅œμ‹  버전이 μžλ™μœΌλ‘œ λ‘œλ“œλ¨
```

νŠΉμ • 버전 μ§€μ •

- νŠΉμ • λ²„μ „μœΌλ‘œ κ³ μ •ν•˜λ €λ©΄ λ‹€μŒκ³Ό 같이 μ‚¬μš©ν•©λ‹ˆλ‹€

```jsx
loadNachocode('your-api-key', options, '1.4.2');
```

> πŸ“’ μ΅œμ‹  버전 μ‚¬μš©μ΄ ꢌμž₯되며, νŠΉμ • 버전 고정은 ν˜Έν™˜μ„±μ΄ μ€‘μš”ν•œ κ²½μš°μ—λ§Œ μ‚¬μš©ν•˜μ„Έμš”.

---

## SDK κΈ°λŠ₯ μ‚¬μš©

- nachocode Client SDKκ°€ μ΄ˆκΈ°ν™”κ°€ μ™„λ£Œλ˜λ©΄, `Nachocode` λ„€μž„μŠ€νŽ˜μ΄μŠ€ μ•„λž˜μ— μ •μ˜λœ λ‹€μ–‘ν•œ λ„€μ΄ν‹°λΈŒ κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

- μ•„λž˜ μ˜ˆμ‹œλŠ” SDK의 일뢀 κΈ°λŠ₯을 μ‚¬μš©ν•˜λŠ” 방법을 λ³΄μ—¬μ€λ‹ˆλ‹€.

- **μ•± 정보 κ°€μ Έμ˜€κΈ°**

```jsx
const appName = Nachocode.app.getAppName();
console.log(`μ•± 이름: ${appName}`); // ex. "Nachocode Developer"
```

- **λ””λ°”μ΄μŠ€ 정보 확인**

```jsx
Nachocode.device.getDeviceModel(model => {
console.log(`λ””λ°”μ΄μŠ€ λͺ¨λΈ: ${model}`);
});
```

- λŒ€λΆ€λΆ„μ˜ κΈ°λŠ₯은 μ›Ή μ‹€ν–‰ν™˜κ²½μ—μ„  λ¬΄μ‹œλ˜κ³ , μ•± μ‹€ν–‰ν™˜κ²½μ—μ„œ 정상 μž‘λ™ν•©λ‹ˆλ‹€.

---

## λ„€μž„μŠ€νŽ˜μ΄μŠ€ μ†Œκ°œ

nachocode Client SDKλŠ” 각 κΈ°λŠ₯λ³„λ‘œ **λ„€μž„μŠ€νŽ˜μ΄μŠ€(namespace)** 둜 κ΅¬λΆ„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜λŠ” μ£Όμš” λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ λͺ©λ‘κ³Ό μ„€λͺ…μž…λ‹ˆλ‹€. 각 λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— λŒ€ν•œ μƒμ„Έν•œ λ¬Έμ„œλŠ” **λ¬Έμ„œ 링크**μ—μ„œ ν™•μΈν•˜μ„Έμš”.

| **λ„€μž„μŠ€νŽ˜μ΄μŠ€** | **μ„€λͺ…** | **λ¬Έμ„œ 링크** |
| ---------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `app` | μ•± 이름, 버전, νŒ¨ν‚€μ§€ 이름 λ“±μ˜ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. | [μ•± λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/app) |
| `apple` | Apple 계정을 ν†΅ν•œ μ†Œμ…œ 둜그인 κΈ°λŠ₯ 등을 μ œκ³΅ν•©λ‹ˆλ‹€. | [Apple λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/apple) |
| `authentication` | 생체 인증(Fingerprint/Face ID) λ“±μ˜ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. | [인증 λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/authentication) |
| `backkey` | Android λ””λ°”μ΄μŠ€μ˜ λ„€μ΄ν‹°λΈŒ λ°± ν‚€ 이벀트λ₯Ό μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€. | [λ°± ν‚€ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/backkey) |
| `browser` | μ™ΈλΆ€ λ˜λŠ” λ‚΄λΆ€ λΈŒλΌμš°μ €λ‘œ URL을 μ—΄ 수 μžˆμŠ΅λ‹ˆλ‹€. | [λΈŒλΌμš°μ € λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/browser) |
| `clipboard` | ν…μŠ€νŠΈλ₯Ό ν΄λ¦½λ³΄λ“œμ— λ³΅μ‚¬ν•˜κ±°λ‚˜ 읽을 수 μžˆμŠ΅λ‹ˆλ‹€. | [ν΄λ¦½λ³΄λ“œ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/clipboard) |
| `device` | λ””λ°”μ΄μŠ€ λͺ¨λΈ, OS 버전, 배터리 및 λ„€νŠΈμ›Œν¬ μƒνƒœ 등을 ν™•μΈν•©λ‹ˆλ‹€. | [λ””λ°”μ΄μŠ€ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/device) |
| `env` | SDK μ΄ˆκΈ°ν™” μƒνƒœ, μ‹€ν–‰ ν™˜κ²½(μ›Ή/μ•±) 등을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. | [ν™˜κ²½ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/env) |
| `event` | μ΄ˆκΈ°ν™”, ν¬κ·ΈλΌμš΄λ“œ/λ°±κ·ΈλΌμš΄λ“œ μ „ν™˜, λ„€νŠΈμ›Œν¬ μƒνƒœ λ³€κ²½ λ“±μ˜ 이벀트λ₯Ό μ²˜λ¦¬ν•©λ‹ˆλ‹€. | [이벀트 λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/event) |
| `facebook` | Facebook μ†Œμ…œ 둜그인 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. | [Facebook λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/facebook) |
| `iap` | Google Play 및 Apple App Store 인앱 결제 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. | [인앱 결제 λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/iap) |
| `permission` | 카메라, μœ„μΉ˜, ν‘Έμ‹œ μ•Œλ¦Ό λ“± λ””λ°”μ΄μŠ€ κΆŒν•œμ„ μš”μ²­ν•˜κ³  μƒνƒœλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. | [κΆŒν•œ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/permission) |
| `preference` | μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‚΄λΆ€ μ €μž₯μ†Œλ₯Ό 톡해 데이터λ₯Ό μ €μž₯ 및 κ΄€λ¦¬ν•©λ‹ˆλ‹€. | [λ‚΄λΆ€ μ €μž₯μ†Œ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/preference) |
| `push` | ν‘Έμ‹œ μ•Œλ¦Ό 토큰을 κ΄€λ¦¬ν•˜κ³  Nachocode μ„œλ²„μ— 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€. | [ν‘Έμ‹œ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/push) |
| `scanner` | QR μ½”λ“œ μŠ€μΊ” 및 기타 μŠ€μΊ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. | [μŠ€μΊλ„ˆ λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/scanner) |
| `setting` | Pull to Refresh와 같은 μ„€μ • κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. | [μ„€μ • λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/setting) |
| `share` | λ„€μ΄ν‹°λΈŒ 곡유 UIλ₯Ό 톡해 URL을 κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. | [곡유 λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/share) |
| `tabbar` | μ•± λ‚΄λΆ€ νƒ­λ°”μ˜ ν‘œμ‹œ μ—¬λΆ€ 및 이동을 μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€. | [νƒ­ λ°” λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/tabbar) |
| `vibration` | λ””λ°”μ΄μŠ€ 진동 및 ν–…ν‹± ν”Όλ“œλ°±μ„ μ œμ–΄ν•©λ‹ˆλ‹€. | [진동 λ„€μž„μŠ€νŽ˜μ΄μŠ€](https://developer.nachocode.io/docs/sdk/namespaces/vibration) |

더 λ§Žμ€ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ™€ μ‚¬μš©λ²•μ€ [곡식 λ¬Έμ„œ](https://developer.nachocode.io/docs/sdk/intro)λ₯Ό ν™•μΈν•˜μ„Έμš”.

---

## λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— μ œκ³΅λ©λ‹ˆλ‹€.

---

## κΈ°μ—¬μž




Your GitHub Profile Picture


Taekyu Park





GitHub Profile Picture


John An



## 마무리

nachocode Client SDKλ₯Ό μ‚¬μš©ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! πŸš€

κΆκΈˆν•œ μ μ΄λ‚˜ κ°œμ„  사항이 μžˆλ‹€λ©΄ [Issues](https://github.com/FlipperCorporation/nachocode-client-sdk/issues) λ˜λŠ” [Pull Requests](https://github.com/FlipperCorporation/nachocode-client-sdk/pulls)λ₯Ό 톡해 λ‚¨κ²¨μ£Όμ‹œκ±°λ‚˜,

μ–Έμ œλ“ μ§€ [[email protected]](mailto:[email protected])둜 문의λ₯Ό λ³΄λ‚΄μ£Όμ„Έμš”. πŸ™Œ