Skip to content

Commit f406495

Browse files
committed
docs(readme): add korean translation
1 parent f0f539a commit f406495

1 file changed

Lines changed: 142 additions & 0 deletions

File tree

README.ko.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
<div align="center">
2+
<a href="README.md">English</a> |
3+
<a href="README.zh-CN.md">简体中文</a> |
4+
<a href="README.zh-TW.md">繁體中文</a> |
5+
<a href="README.ja.md">日本語</a> |
6+
<b>한국어</b>
7+
</div>
8+
9+
# Unity 멀티 플랫폼 채널 가져오기
10+
11+
이 플러그인은 Unity 프로젝트에서 멀티 플랫폼의 배포 채널 식별자를 가져오는 데 사용됩니다(iOS, tvOS, visionOS, Android, Editor, PC, WebGL, UWP 및 콘솔 플랫폼 지원). `https://github.com/GameFrameX/GameFrameX` 프로젝트의 서브모듈입니다.
12+
13+
## 기능
14+
15+
- **멀티 플랫폼 지원**: iOS, tvOS, visionOS, Android, Editor, PC(Windows/Mac/Linux), WebGL, UWP, PS4, PS5, Xbox One, Nintendo Switch.
16+
- 사전 설정된 채널 정보를 가져오는 간단한 API 제공.
17+
- iOS 플랫폼에서 빌드 시 `Info.plist`에 기본 채널을 자동 추가(미설정 시).
18+
19+
## 설치
20+
21+
다음 세 가지 방법 중 하나로 이 플러그인을 Unity 프로젝트에 추가할 수 있습니다:
22+
23+
1. **`manifest.json`을 통한 추가:**
24+
프로젝트 `Packages` 디렉토리의 `manifest.json` 파일에 있는 `dependencies` 노드에 다음을 추가하세요:
25+
```json
26+
{
27+
"dependencies": {
28+
"com.gameframex.unity.getchannel": "https://github.com/gameframex/com.gameframex.unity.getchannel.git",
29+
// ... 기타 종속성
30+
}
31+
}
32+
```
33+
34+
2. **Unity Package Manager에서 Git URL 사용:**
35+
Unity 에디터에서 `Window -> Package Manager`를 엽니다.
36+
좌측 상단의 `+` 버튼을 클릭하고 `Add package from git URL...`을 선택합니다.
37+
다음 URL을 입력하고 `Add`를 클릭하세요:
38+
```
39+
https://github.com/gameframex/com.gameframex.unity.getchannel.git
40+
```
41+
42+
3. **저장소 다운로드 또는 복제:**
43+
이 저장소를 Unity 프로젝트의 `Packages` 디렉토리에 다운로드하거나 복제하세요. Unity가 자동으로 인식하여 플러그인을 로드합니다.
44+
45+
## 사용 방법
46+
47+
### 1. 채널 정보 가져오기
48+
49+
C# 스크립트에서 `BlankGetChannel.GetChannelName(string key)` 메서드를 사용하여 채널 정보를 가져옵니다. `key` 매개변수는 해당 플랫폼에서 채널 정보를 설정할 때 사용한 키 이름입니다.
50+
51+
**예제 코드:**
52+
53+
```csharp
54+
using UnityEngine;
55+
56+
public class MyGameScript : MonoBehaviour
57+
{
58+
void Start()
59+
{
60+
// 기본 채널 가져오기(키 이름은 "channel")
61+
string channel = BlankGetChannel.GetChannelName();
62+
Debug.Log("현재 채널: " + channel);
63+
64+
// 특정 키로 채널 가져오기
65+
string customChannel = BlankGetChannel.GetChannelName("channelName");
66+
Debug.Log("커스텀 채널: " + customChannel);
67+
68+
// 기본값을 지정하여 채널 가져오기
69+
string subChannel = BlankGetChannel.GetChannelName("sub_channel", "unknown");
70+
Debug.Log("서브 채널: " + subChannel);
71+
}
72+
}
73+
```
74+
75+
### 2. iOS / tvOS / visionOS 플랫폼 설정
76+
77+
iOS, tvOS, visionOS 플랫폼의 경우 플러그인에 빌드 후 처리기 (`PostProcessBuildHandler.cs`)가 포함되어 있습니다. 빌드 시 프로젝트의 `Info.plist` 파일에:
78+
- `channel`이라는 이름의 키가 **없는** 경우, 스크립트가 자동으로 키 `channel`, 값 `default` 항목을 추가합니다.
79+
- `channel`이라는 이름의 키가 **이미 존재하는** 경우, 수정이 이루어지지 않습니다.
80+
81+
Xcode 프로젝트의 `Info.plist` 파일에서 `channel` 값을 수정하거나, `BlankGetChannel.GetChannelName()`을 호출할 때 커스텀 키 이름을 사용하세요(해당 키 이름이 `Info.plist`에 존재하는지 확인하세요).
82+
83+
**Info.plist 설정 예시:**
84+
85+
```xml
86+
<key>channel</key>
87+
<string>ios_cn_taptap</string>
88+
89+
<key>sub_channel</key>
90+
<string>beta</string>
91+
```
92+
93+
### 3. Android 플랫폼 설정
94+
95+
Android 플랫폼에서는 `AndroidManifest.xml` 파일에 채널 정보를 정의해야 합니다. 일반적으로 `<application>` 태그 내에 `<meta-data>` 태그를 추가하여 수행합니다.
96+
97+
예를 들어, 키 이름 `channel`과 값 `android_cn_taptap`을 사용하려는 경우:
98+
99+
```xml
100+
<application ...>
101+
<activity ...>
102+
...
103+
</activity>
104+
105+
<meta-data
106+
android:name="channel"
107+
android:value="android_cn_taptap" />
108+
109+
<meta-data
110+
android:name="sub_channel"
111+
android:value="beta" />
112+
113+
<!-- 기타 meta-data -->
114+
</application>
115+
```
116+
117+
그런 다음 C# 코드에서 `BlankGetChannel.GetChannelName("channel")`을 사용하여 이 값을 가져올 수 있습니다.
118+
119+
### 4. Editor / PC / WebGL / UWP / 콘솔 플랫폼 설정
120+
121+
Editor, PC(Windows/Mac/Linux), WebGL, UWP, PS4, PS5, Xbox One, Nintendo Switch 등의 플랫폼에서는 Unity 프로젝트의 `Resources` 폴더에 `app_info.txt`라는 이름의 텍스트 파일을 만들어야 합니다.
122+
123+
**app_info.txt 파일 형식 예시:**
124+
125+
```
126+
channel=editor_cn_test
127+
sub_channel=beta
128+
other_key=other_value
129+
```
130+
131+
각 행의 형식:`키이름=값`
132+
133+
플러그인은 이 파일에서 키-값 쌍을 자동으로 읽고 후속 사용을 위해 캐시합니다.
134+
135+
## 주의 사항
136+
137+
- `BlankGetChannel.GetChannelName(string key)`를 호출할 때 사용하는 `key`가 해당 플랫폼의 설정 파일에 설정한 키 이름과 일치하는지 확인하세요:
138+
- **iOS / tvOS / visionOS**`Info.plist` 파일
139+
- **Android**`AndroidManifest.xml` 파일의 `<meta-data>` 태그
140+
- **Editor / PC / WebGL / UWP / 콘솔 플랫폼**`Resources/app_info.txt` 파일
141+
- 플러그인에는 Unity의 코드 스트리핑 기능으로 인한 코드 제거를 방지하기 위해 `link.xml` 파일이 포함되어 있습니다.
142+
- `GetChannelName()` 메서드는 채널 정보를 캐시하여 설정 파일의 반복 읽기를 방지하고 성능을 향상시킵니다.

0 commit comments

Comments
 (0)