logo
1
0
WeChat Login
docs(readme): rename app_info to application_config in all translations

GameFrameX Logo

Unity 멀티 플랫폼 채널 가져오기

Version Unity License Documentation

인디 게임 개발자를 위한 올인원 솔루션 · 인디 개발자의 꿈을 실현

📖 문서🚀 빠른 시작💬 QQ 그룹: 467608841


🌐 언어: English | 简体中文 | 繁體中文 | 日本語 | 한국어


이 플러그인은 Unity 프로젝트에서 멀티 플랫폼의 배포 채널 식별자를 가져오는 데 사용됩니다(iOS, tvOS, visionOS, Android, Editor, PC, WebGL, UWP 및 콘솔 플랫폼 지원). https://github.com/GameFrameX/GameFrameX 프로젝트의 서브모듈입니다.

기능

  • 멀티 플랫폼 지원: iOS, tvOS, visionOS, Android, Editor, PC(Windows/Mac/Linux), WebGL, UWP, PS4, PS5, Xbox One, Nintendo Switch.
  • 사전 설정된 채널 정보를 가져오는 간단한 API 제공.
  • iOS 플랫폼에서 빌드 시 Info.plist에 기본 채널을 자동 추가(미설정 시).

설치

다음 세 가지 방법 중 하나로 이 플러그인을 Unity 프로젝트에 추가할 수 있습니다:

  1. manifest.json을 통한 추가: 프로젝트 Packages 디렉토리의 manifest.json 파일에 있는 dependencies 노드에 다음을 추가하세요:

    { "dependencies": { "com.gameframex.unity.getchannel": "https://github.com/gameframex/com.gameframex.unity.getchannel.git", // ... 기타 종속성 } }
  2. Unity Package Manager에서 Git URL 사용: Unity 에디터에서 Window -> Package Manager를 엽니다. 좌측 상단의 + 버튼을 클릭하고 Add package from git URL...을 선택합니다. 다음 URL을 입력하고 Add를 클릭하세요:

    https://github.com/gameframex/com.gameframex.unity.getchannel.git
  3. 저장소 다운로드 또는 복제: 이 저장소를 Unity 프로젝트의 Packages 디렉토리에 다운로드하거나 복제하세요. Unity가 자동으로 인식하여 플러그인을 로드합니다.

사용 방법

1. 채널 정보 가져오기

C# 스크립트에서 BlankGetChannel.GetChannelName(string key) 메서드를 사용하여 채널 정보를 가져옵니다. key 매개변수는 해당 플랫폼에서 채널 정보를 설정할 때 사용한 키 이름입니다.

예제 코드:

using UnityEngine; public class MyGameScript : MonoBehaviour { void Start() { // 기본 채널 가져오기(키 이름은 "channel") string channel = BlankGetChannel.GetChannelName(); Debug.Log("현재 채널: " + channel); // 특정 키로 채널 가져오기 string customChannel = BlankGetChannel.GetChannelName("channelName"); Debug.Log("커스텀 채널: " + customChannel); // 기본값을 지정하여 채널 가져오기 string subChannel = BlankGetChannel.GetChannelName("sub_channel", "unknown"); Debug.Log("서브 채널: " + subChannel); } }

2. iOS / tvOS / visionOS 플랫폼 설정

iOS, tvOS, visionOS 플랫폼의 경우 플러그인에 빌드 후 처리기 (PostProcessBuildHandler.cs)가 포함되어 있습니다. 빌드 시 프로젝트의 Info.plist 파일에:

  • channel이라는 이름의 키가 없는 경우, 스크립트가 자동으로 키 channel, 값 default 항목을 추가합니다.
  • channel이라는 이름의 키가 이미 존재하는 경우, 수정이 이루어지지 않습니다.

Xcode 프로젝트의 Info.plist 파일에서 channel 값을 수정하거나, BlankGetChannel.GetChannelName()을 호출할 때 커스텀 키 이름을 사용하세요(해당 키 이름이 Info.plist에 존재하는지 확인하세요).

Info.plist 설정 예시:

<key>channel</key> <string>ios_cn_taptap</string> <key>sub_channel</key> <string>beta</string>

3. Android 플랫폼 설정

Android 플랫폼에서는 AndroidManifest.xml 파일에 채널 정보를 정의해야 합니다. 일반적으로 <application> 태그 내에 <meta-data> 태그를 추가하여 수행합니다.

예를 들어, 키 이름 channel과 값 android_cn_taptap을 사용하려는 경우:

<application ...> <activity ...> ... </activity> <meta-data android:name="channel" android:value="android_cn_taptap" /> <meta-data android:name="sub_channel" android:value="beta" /> <!-- 기타 meta-data --> </application>

그런 다음 C# 코드에서 BlankGetChannel.GetChannelName("channel")을 사용하여 이 값을 가져올 수 있습니다.

4. Editor / PC / WebGL / UWP / 콘솔 플랫폼 설정

Editor, PC(Windows/Mac/Linux), WebGL, UWP, PS4, PS5, Xbox One, Nintendo Switch 등의 플랫폼에서는 Unity 프로젝트의 Resources 폴더에 application_config.txt라는 이름의 텍스트 파일을 만들어야 합니다.

application_config.txt 파일 형식 예시:

channel=editor_cn_test sub_channel=beta other_key=other_value

각 행의 형식:키이름=값

플러그인은 이 파일에서 키-값 쌍을 자동으로 읽고 후속 사용을 위해 캐시합니다.

주의 사항

  • BlankGetChannel.GetChannelName(string key)를 호출할 때 사용하는 key가 해당 플랫폼의 설정 파일에 설정한 키 이름과 일치하는지 확인하세요:
    • iOS / tvOS / visionOSInfo.plist 파일
    • AndroidAndroidManifest.xml 파일의 <meta-data> 태그
    • Editor / PC / WebGL / UWP / 콘솔 플랫폼Resources/application_config.txt 파일
  • 플러그인에는 Unity의 코드 스트리핑 기능으로 인한 코드 제거를 방지하기 위해 link.xml 파일이 포함되어 있습니다.
  • GetChannelName() 메서드는 채널 정보를 캐시하여 설정 파일의 반복 읽기를 방지하고 성능을 향상시킵니다.