04/28/2025 20:45:30
MSDK 환경 설정
1 개요
MSDKConfig.ini 는 MSDK 의 환경설정과 채널별 애플리케이션 정보 설정이 포함되어 있습니다. 본 설정은 Feiying시스템 에서 애플리케이션을 신청할 때 1회성으로 생성된 것으로 이 ini 파일에 입력하면 됩니다.
Unity Editor 환경에서 메뉴 MSDK -> MSDKConfig.ini Settings 을 클릭하시면 설정 정보를 편집할 수 있으며, 편집 후 Android 와 iOS 파일에 자동으로 동기화 됩니다.
1)MSDKConfig.ini 파일의 Unity 프로젝트에서 위치
- Android 는 Assets/Plugins/Android/assets/ 목록에 있습니다
- iOS 는 Assets/Plugins/iOS/GCloudSDK/MSDKCore/MSDKAppSetting.bundle/ 에 있습니다
2)MSDKConfig.ini 파일의 UE4 프로젝트에서 위치
- Android 는 Plugins/xxx/MSDKCore/Source/MSDKCore/lib/Android/assets 목록에 있습니다
- iOS 는 Plugins/xxx/MSDKCore/Source/MSDKCore/lib/iOS/MSDKCore/MSDKCore.embeddedframework.zip/MSDKAppSetting.bundle 에 있습니다
설정파일은 Key-Value 형식이며, # 을 사용하여 주석을 달고, [] 로 모듈별로 표시합니다. 이 모든 설정은 MSDK 백그라운드 제어판을 통해 적용 가능하며, 인터페이스를 통해 수동으로 설정할 수도 있습니다.
- 일반 구성 항목의 설정 소환 순서는: 수동 > 클라우드 제어 > MSDKConfig.ini 입니다
- 그 중에서도,
MSDK_DEBUG
구성 항목의 소환 순서는:클라우드 제어 > 수동 > MSDKConfig.ini 입니다
[info] 주의사항 알림
- bool 유형으로 true 시 1, false 시 0 으로 리턴;
- MSDK 관련 스위치는 앞쪽에 접두사 MSDK_ 를 붙임;
- 채널 관련 필드는 요구되지 않음;
2 환경설정
2.1 MSDK DEBUG 모드 설정
MSDK_DEBUG
스위치는 전체 디버깅을 제어하며 MSDK_DEBUG
를 0으로 설정하면 모든 플러그인의 DEBUG 모드가 꺼집니다
MSDK_DEBUG
와 MSDK_DEBUG_CHANNEL
를 함께 사용합니다. MSDK_DEBUG
스위치를 켠 후에만, MSDK_DEBUG_CHANNEL
설정을 통해 채널 플러그인 유닛 디버그 정보를 제어하고 채널 간 쉼표를 사용하여 분리합니다
1)설정 사례
MSDK_DEBUG = 1
MSDK_DEBUG_CHANNEL = Beacon,Bugly,TDM,Adjust,AppsFlyer,XG
2)설명
현재 MSDK_DEBUG
의 실행은 전체 디버깅 실행을 의미합니다. MSDK_DEBUG_CHANNEL
로 대응하는 채널명을 설정할 수 있으며, 현재 채널 플러그인 유닛의 디버그 기능을 시작했음을 나타냅니다.
MSDK_DEBUG
가 0으로 설정된 경우, MSDK_DEBUG_CHANNEL
의 설정이 효력을 상실합니다.
2.2 MSDK 환경 설정
[info] 주의사항 알림
MSDKConfig.ini 파일의 구성 항목을 줄이기 위해 SDK 에서 자주 변경되지 않는 구성 항목을 삭제하였지만, 디폴트 값이 있을 수 있으며, 게임의 변경이 필요하면, MSDKConfig.ini 파일에 직접 추가할 수 있습니다
필드 | 명사해석 | 비고 |
---|---|---|
MSDK_URL | MSDK 백그라운드 서비스 도메인, 환경에 맞춰 작성 | 필수입력 |
MSDK_GAME_ID | MSDK 게임의 유일한 식별명으로, Feiying시스템에서 배치 | 필수입력 |
MSDK_SDK_KEY | 백그라운드와 통신하는 암호 key | 필수입력 |
MSDK_DEBUG | 디버깅 여부 전체 스위치, 1- on, 0 - off | 필수입력, 온라인 시 off 권장 |
MSDK_DEBUG_CHANNEL | 제3자 채널 디버그, 값 선택 가능:Beacon,Bugly,TDM,Adjust,AppsFlyer,XG,Twitter,Garena,Firebase | MSDK_DEBUG 사용에 맞춰, MSDK_DEBUG 값이 1인 경우에만MSDK_DEBUG_CHANNEL 설정 유효 |
MSDK_LIFECYCLE_OBSERVERS | 안드로이드 생명주기 모니터링 채널로 여러 채널의 경우 쉼표로 분리. 예, “QQ,WeChat” | Android 필수입력 |
MSDK_HTTP_TIMEOUT | 백그라운드 요청 초과 시간을 나타내며, 단위는 s, 기본값으론 15s | - |
MSDK_HTTPDNS_ENABLE | DNS 확인 실행 여부, 네트워크 최적화 여부를 나타내며, 1은 on을 의미함 | - |
MSDK_IPV6_ENABLE | IPV6 스위치, 0 - off | - |
MSDK_LOGIN_OVERTIME | 로그인 초과 시간을 나타내며, 단위는 s, 기본값으론 30s. MSDK_HTTP_TIMEOUT 와 합한 시간이 전체 로그인 초과 시간을 의미함 | - |
MSDK_REFRESH_INTERVAL | 로그인 채널 token 자동 갱신 시간 간격을 의미하며, 단위는 s, 기본값으론 30분, 60*30s. | - |
MSDK_LIFECYCLE_SCHEME | 제3자 app 소환하여 데이터 전송 기능을 실행했는지에 대한 여부로, 0은 실행하지 않음을 의미하며 기본값임 | 제3자 실행 기능만 접속하는 경우, Android+iOS 는 프로토콜과 본 구성 항목 실행을 설정해야 함 |
MSDK_KEYCHAIN_ENABLE | keychain 실행 여부로, Guest ID 찾기를 보장하기 위해 1-on 을 기본값으로 설정 | iOS 만 선택 설정 가능 |
MSDK_ENCRYPT_STORAGE | 파일 암호화 스위치로, 0-off를 의미함 | GDPR규정에 부합하도록 본 구성 항목은 파일 암호화의 on/off에 사용됨. 현재 온라인 업무를 유지하기 위해 off 상태를 기본값으로 설정함. 신규 접속 업무만이 GDPR 규정에 부합해야 본 설정을 실행할 수 있으며, 기존 접속 업무는 이 설정을 실행하지 않아도 됨. 설정이 실행되고, 프로젝트가 업로드되면 off 할 수 없음. |
MSDK_DEVICE_INFO | 디바이스 정보 획득, 기본값으로 1은 실행을 의미함 | GDPR 규정에 부합하도록 본 구성 항목은 디바이스 정보 획득의 on/off에 사용됨. 현재 온라인 업무를 유지하기 위해 on 상태를 기본값으로 설정함.이 구성 항목이 off 인 경우, MSDKUtils::GetDeviceInfoWrapper() 방법으로는 디바이스 정보를 리턴하지 않음. |
MSDK_V2_SIGN_ENABLE | V2 서명 스위치로, 기본값 1-on | Android 만 선택 설정 가능. MSDK 는 V1, V2 서명을 모두 지원함. Feiying관리 도구의 채널번호 패키지는 Android V2 서명패키지가 로직 읽고 쓰기를 할 수 있게 지원함. V2 서명된 패키지는 반드시 이 스위치를 on 해야함(on하지 않으면 Feiying채널 패키지를 사용할 때 채널번호가 잘못 읽힐 수 있음). 비고:5.5.000 버전 구성 파일이 이미 MSDK_V2_SIGN_ENABLE 필드를 삭제하여 V2 서명을 on 하는 것을 기본값으로 설정하였으며, V1 서명을 사용하려면 이 필드를 0으로 수동 설정해야 함. |
MSDK_LBS_GPS_TIMEOUT | LBS 기능 GPS 위치 선정 시간 초과, 단위는 ms, 기본값으론 4000ms 즉 4s | Android 플랫폼 선택 |
MSDK_AUTOLOGIN_NOT_PLUGIN_CHANNEL | 자동로그인 플러그인 유닛 구성항목 호출 안함, 플러그인 유닛 호출 안됨으로 초기 설정 | 현재 Google, Garena 채널의 자동 로그인은 플러그인 유닛에 호출됨. 채널명을 플러그인 유닛에 호출하지 않고 본 항목으로 배치할 수 있으며, 여러 채널의 경우 쉼표로 분리함 |
MSDK_MIGRA_GUEST_FROMV3_ENABLE | V3의 Guest 데이터 이전 여부, 1:on 0:off , 초기값으론 0. 주의:MSDK_KEYCHAIN_ENABLE은 on | MSDKV3 버전에서 MSDKV5 버전으로 업데이트 하고, V3의 게스트 로그인이 V5로 업데이트 후에서야 게스트를 잃지 않음. |
[info] V3 게스트 이동과 관련된 특별 알림
- 기존 프로젝트의 QQ-AppId 및 위챗의 AppId 파라미터는 변경하지 마십시오
- 기존 iOS의 XCode 공정의 Keychain Sharing 파라미터 설정은 변경하지 마십시오
2.3 Crash 보고 설정
필드 | 명사해석 | 비고 |
---|---|---|
CRASH_REPORT_ENABLE | Crash 보고 여부, 기본값으론 0, 0-상부보고 기능 off | - |
CRASH_REPORT_CHANNEL | 초기화 해야 하는 통계 채널 목록, 쉼표로 구분 | - |
CRASH_UPDATE_USER_ID | 로그인 업데이트에서 setUserId로 Bugly 또는 Firebase 정보를 업데이트 할 지 여부를 제어하는데 사용되며, 기본적으로 1-on 을 의미함 | 선택 가능, 기본값 on, 특수 디버그 필요 시, 0 - off 후 setUserId 인터페이스를 이용하여 사용자 ID를 설정할 수 있도록 함 |
2.4 GameCenter 설정
필드 | 명사해석 | 비고 |
---|---|---|
MSDK_GAMECENTER_KEEPLOGIN_ENABLE | GameCenter 채널 지속 로그인 여부. 기본값 0-off | iOS 플랫폼만 선택 설정 가능, 1: GameCenter 첫 로그인 실패 후, 매번 백엔드에서 프론트엔드로 전환하여 지속적으로 로그인을 시도함. 0:벡엔드에서 프론트엔드로 전환 뒤, GameCenter 로그인에 대해 더 이상 물어보지 않음 |
2.5 WeChat 설정
필드 | 명사해석 | 비고 |
---|---|---|
WECHAT_APP_ID | WeChat 채널의 APP ID | - |
WECHAT_AUTO_REFRESH_ENABLE | WeChat 채널 token 갱신 여부, 기본값 1-갱신 | - |
2.6 QQ 설정
필드 | 명사해석 | 비고 |
---|---|---|
QQ_APP_ID | QQ 채널의 APP ID | - |
2.7 Facebook 설정
필드 | 명사해석 | 비고 |
---|---|---|
FACEBOOK_DISPLAYNAME | 애플리케이션 표시 이름, MSDK 통합테스트 와 유사 | - |
FACEBOOK_APP_ID | Facebook 채널의 APP ID | - |
2.8 TDM 설정
필드 | 명사해석 | 비고 |
---|---|---|
TDM_SRC_ID | 게임이 TDM 보고를 할 때 작성하는 src_id | - |
2.9 등대 Beacon 설정
필드 | 명사해석 | 비고 |
---|---|---|
BEACON_APP_KEY_IOS | Beacon iOS 의 App Key | - |
BEACON_APP_KEY_ANDROID | Beacon Android 의 App Key | - |
2.10 Adjust 설정
필드 | 명사해석 | 비고 |
---|---|---|
ADJUST_OPEN_DEEPLINK_ENABLE | deeplink 기능 실행 여부, 기본값 0- 실행안함 | - |
ADJUST_APP_TOKEN_ANDROID | Android App token | - |
ADJUST_INFO1_ANDROID | 선택 가능한 안드로이드 클라이언트 고유치 | 선택 |
ADJUST_INFO2_ANDROID | 선택 가능한 안드로이드 클라이언트 고유치 | 선택 |
ADJUST_INFO3_ANDROID | 선택 가능한 안드로이드 클라이언트 고유치 | 선택 |
ADJUST_INFO4_ANDROID | 선택 가능한 안드로이드 클라이언트 고유치 | 선택 |
ADJUST_APPSECRET_ANDROID | Android 애플리케이션 보안키 스위치, 기본값 null | Android 애플리케이션 보안키 설정을 하기 위해서는 본 항목에 수치를 설정해야 함 |
ADJUST_APP_TOKEN_IOS | iOS App token | - |
ADJUST_INFO1_IOS | 선택 가능한 iOS 클라이언트 고유치 | 선택 |
ADJUST_INFO2_IOS | 선택 가능한 iOS 클라이언트 고유치 | 선택 |
ADJUST_INFO3_IOS | 선택 가능한 iOS 클라이언트 고유치 | 선택 |
ADJUST_INFO4_IOS | 선택 가능한 iOS 클라이언트 고유치 | 선택 |
ADJUST_APPSECRET_IOS | iOS 애플리케이션 보안키 스위치, 기본값 -1 | iOS 애플리케이션 보안키 설정을 하기 위해서는 본 항목에 -1 이 아닌 다른 수치를 설정해야 함 |
2.11 AppsFlyer 설정
필드 | 명사해석 | 비고 |
---|---|---|
APPSFLYER_APP_ID_IOS | AppsFlyer 의 iOS APP ID | - |
APPSFLYER_APP_KEY_IOS | AppsFlyer 의 iOS APP KEY | - |
APPSFLYER_APP_KEY_ANDROID | AppsFlyer 의 Android APP KEY | - |
APPSFLYER_SENDER_ID | AppsFlyer 의 sender ID | - |
2.12 XG XinGe 설정
2.12.1 XG XinGe(무료버전) 설정 - MSDKV5.9 및 이전 버전
필드 | 명사해석 | 비고 |
---|---|---|
XG_ACCESS_ID_IOS | XG 채널의 Access ID로, iOS 에서 사용 | - |
XG_ACCESS_KEY_IOS | XG 채널의 Access KEY로, iOS 에서 사용 | - |
XG_ACCESS_ID_ANDROID | XG 채널의 Access ID로, Android 에서 사용 | - |
XG_ACCESS_KEY_ANDROID | XG 채널의 Access KEY로, Android 에서 사용 | - |
XG_FCM_ENABLE | XGFCM 의 기능 실행 여부로, FCM 의 기능을 조합해야 함. 해외 기본값은 on, 국내는 off(MSDK5.3 버전부터 XGFCM 오프라인, 해외 추천 Google 공식 서비스 Firebase 사용 추천) | - |
XG_SHOW_FOREGROUND_ALERT | XG iOS 프론트 알림 스위치로, 기본값 off(MSDK5.9 및 그 이상 버전에서 제공) | - |
XG_OTHER_ENABLE | XG 기타 제조업체의 채널 지원 여부, 기본값- 지원안함 | - |
XG_XIAOMI_ENABLE | XG Xiaomi 채널 지원 여부, 기본값- 지원 | - |
XG_XIAOMI_APP_ID | XG Xiaomi 채널의 APP ID | - |
XG_XIAOMI_APP_KEY | XG Xiaomi 채널의 APP Key | - |
XG_HUAWEI_ENABLE | XG 화웨이 채널 지원 여부, 기본값- 지원 | - |
XG_FLYME_ENABLE | XG Meizu Flyme 채널 지원 여부, 기본값- 지원 | - |
XG_FLYME_APP_ID | XG Meizu Flyme 채널의 APP ID | - |
XG_FLYME_APP_KEY | XG Meizu Flyeme 채널의 APP Key | - |
2.12.2 XG XinGe(텐센트 클라우드 버전)설정 - MSDKV5.10 및 이상 버전
필드 | 명사해석 | 비고 |
---|---|---|
XG_ACCESS_ID_IOS | XG 채널의 Access ID로, iOS 에서 사용 | - |
XG_ACCESS_KEY_IOS | XG 채널의 Access KEY로, iOS 에서 사용 | - |
XG_ACCESS_ID_ANDROID | XG 채널의 Access ID로, Android 에서 사용 | - |
XG_ACCESS_KEY_ANDROID | XG 채널의 Access KEY로, Android 에서 사용 | - |
XG_SHOW_FOREGROUND_ALERT | XG iOS 프론트 알림 스위치로, 기본값 off | - |
XG_OTHER_ENABLE | XG 기타 제조업체 채널 지원 여부, 기본값- 지원안함 | - |
XG_XIAOMI_ENABLE | XG Xiaomi 채널 지원 여부, 기본값- 지원 | - |
XG_XIAOMI_APP_ID | XG Xiaomi 채널의 APP ID | - |
XG_XIAOMI_APP_KEY | XG Xiaomi 채널의 APP Key | - |
XG_HUAWEI_ENABLE | XG 화웨이 채널 지원 여부, 기본값- 지원 | - |
XG_FLYME_ENABLE | XG Meizu Flyme 채널 지원 여부, 기본값- 지원 | - |
XG_FLYME_APP_ID | XG Meizu Flyme 채널의 APP ID | - |
XG_FLYME_APP_KEY | XG Meizu Flyeme 채널의 APP Key | - |
XG_HOST | XG 접근 도메인 네임 | - |
XG_PORT | XG 접근 포트 | - |
XG_FREE_ACCESS_ID_IOS | XG 무료버전 access_id로, 설정 후, 【구버전 XinGe】와 【텐센트 이동 전송】 두 플렛폼에서 동시에 알림을 보내는 경우, 정보 중복 문제가 발생할 수 있음 | - |
2.13 Bugly 설정
필드 | 명사해석 | 비고 |
---|---|---|
BUGLY_APP_ID_ANDROID | Bugly 채널의 Android APP ID | - |
BUGLY_APP_ID_IOS | Bugly 채널의 iOS APP ID | - |
BUGLY_UNEXPECTED_TERMINATE_DETECTION_ENABLE_IOS | 비정상 탈퇴 이벤트 기록 스위치로, 기본값은 off. 본 설정은 iOS 에만 존재함 | 선택 가능하며, 기본값은 off. on 시, 이상 SIGKILL, 즉 비정상 탈퇴 이벤트와 유사한 상황을 캐치할 수 있음. "SIGKILL"은 일반적으로 사용자나 개발자의 문제가 아니라 프로그램이 이미 suspend 상태에 있음을 의미하며, applicationDidEnterBackground가 리턴된 경우, 시스템에서 "SIGKILL" 을 보내 강제로 프로그램을 종료하게 만듦. 사용자가 home버튼을 더블 클릭해 스스로 종료하는 방식과 비슷함. |
BUGLY_CLOSE_ERROR_CALLBACK_ANDROID | error 타입 콜백 차단, 기본값 off, 본 설정은 Android 에만 존재함 | 선택 가능하며, 기본값은 off. on 시, error 유형의 콜백이 차단되며, 다른 유형의 콜백은 정상적으로 보고됨. 5.10 및 이상 버전 |
2.14 WebView 설정
필드 | 명사해석 | 비고 |
---|---|---|
WEBVIEW_SHARE_CHANNEL | JS 의 공유채널로, QQ, WeChat, Facebook 지원. NONE 으로 설정할 시, 공유 버튼이 나타나지 않음 | - |
WEBVIEW_IS_FULLSCREEN | 전체 화면 여부, 기본값 off | - |
WEBVIEW_PORTRAIT_BAR_HIDEABLE | 세로모드 화면 시, 메뉴 숨김 여부, 기본값- 숨김 | - |
WEBVIEW_LANDSCAPE_BAR_HIDEABLE | 가로모드 화면 시, 메뉴 숨김 여부, 기본값- 숨김 | - |
WEBVIEW_X5_CLOSE_ANDROID | webview android x5 커널 닫힘 여부, 기본값 0 닫지 않음 | - |
WEBVIEW_X5_UPLOAD_ANDROID | webview android가 x5 커널에서 파일 업로드 가능 여부, 기본값 1- 업로드 가능 | - |
WEBVIEW_URL_KEY_FILTER | 자체 정의 민감 필드 필터링 | - |
2.15 Google 설정
필드 | 명사해석 | 비고 |
---|---|---|
GOOGLE_APP_ID | Google 채널의 APP ID | - |
GOOGLE_CLIENT_KEY | Google 채널의 client key | - |
GOOGLE_EVERY_LOGIN_CHOICE_USER | 로그인 전 플러그인 유닛 내보내기 실행 여부, 기본값 0-내보내기 안함. | 로그인 전 플러그인 유닛 내보내기, 즉 로그인 할 때마다 사용자가 인터페이스 선택해야 함을 의미함 |
MSDK_GOOGLE_LOGOUT_NEED_CONNECT | Google 의 비connect 상태에서 내보내기 시, connect 후 다시 내보내기 실행 설정 여부, 기본값 0- 실행안함 | - |
2.16 Twitter 설정
필드 | 명사해석 | 비고 |
---|---|---|
TWITTER_KEY | Twitter 채널의 key | - |
TWITTER_SECRET | Twitter 채널의 secret | - |
2.17 MSDK 개인 계정 설정
Email, SMS 채널 포함.
필드 | 명사해석 | 비고 |
---|---|---|
MSDK_ACCOUNT_URL | 개인 계정 백그라운드 환경 | 관련서버: https://cotest.msdkpass.com 정식서버: https://us.msdkpass.com |
MSDK_ACCOUNT_SDK_KEY | 개인계정의 key | - |
MSDK_ACCOUNT_APP_ID | 개인계정의 appid | - |
2.18 Garena 설정
필드 | 명사해석 | 비고 |
---|---|---|
GARENA_APP_SDK_ASSIGN_ID | Garena 채널의 assignId | Android 필수 |
GARENA_APP_SDK_KEY | Garena 채널의 appKey | 필수 |
GARENA_LOGIN_TITLE | Garena Web 로그인에 대해서는 사용자 정의 타이틀을 설정할 수 있음. 기본값 null | Android 필수 |
2.19 LINE 설정
필드 | 명사해석 | 비고 |
---|---|---|
LINE_CHANNEL_ID | Line 채널의 channelID 설정 | 필수 |
LINE_CHECK_SDK_VERSION_ENABLE | Android 디바이스에서 실행되는 SDK 버전의 검증 여부로, line sdk 는 최소 시스템 버전 4.2 이상에서 지원됨. 기본값 1- 검증됨 | Android 선택 |
2.20 Notice 설정
필드 | 명사해석 | 비고 |
---|---|---|
NOTICE_INTERVAL_REQUEST | 시간 간격, 단위 s. 기본값 300s(5min) | 시간 간격 내에 동일한 파라미터를 사용하여 notice 인터페이스를 호출하면, 이전 클라이언트 캐시 데이터가 리턴되며, 서버에서 소환하지 않아도 됨 |
All rights reserved.