Mini App 테스터

Mock
속성
version
—
platform
—
colorScheme
—
isActive
—
isExpanded
—
isFullscreen
—
isOrientationLocked
—
isClosingConfirmation
—
isVerticalSwipes
—
viewportHeight
—
viewportStableH
—
headerColor
—
backgroundColor
—
bottomBarColor
—
initData
initDataUnsafe
테마 매개변수
bg_color
text_color
hint_color
link_color
button_color
button_text_color
secondary_bg_color
header_bg_color
bottom_bar_bg_color
accent_text_color
section_bg_color
section_header_text_color
section_separator_color
subtitle_text_color
destructive_text_color
WebApp 18
ready()
expand()
close()
sendData()
switchInlineQuery()
setHeaderColor()
setBackgroundColor()
setBottomBarColor()
enableClosingConfirmation()
disableClosingConfirmation()
enableVerticalSwipes()
disableVerticalSwipes()
requestFullscreen()
exitFullscreen()
lockOrientation()
unlockOrientation()
openLink()
openTelegramLink()
isVersionAtLeast()
hideKeyboard()
버튼 4
MainButton
버튼을 클릭하면 mainButtonClicked 이벤트가 발생합니다
SecondaryButton
BackButton
BackButton
클릭하면 backButtonClicked 이벤트가 발생합니다
SettingsButton
SettingsButton
클릭하면 settingsButtonClicked 이벤트가 발생합니다
팝업 및 알림 5
showAlert()
showConfirm()
showPopup()
showScanQrPopup()
readTextFromClipboard()
햅틱 피드백 3
impactOccurred()
notificationOccurred()
selectionChanged()
클라우드 스토리지 6
setItem()
getItem()
getKeys()
removeItem()
기기 스토리지 4
setItem()
getItem()
removeItem()
clear()
보안 스토리지 5
setItem()
getItem()
restoreItem()
removeItem()
clear()
센서 3
Accelerometer
DeviceOrientation
Gyroscope
생체 인증 5
init()
requestAccess()
authenticate()
updateBiometricToken()
openSettings()
위치 3
LocationManager.init()
LocationManager.getLocation()
LocationManager.openSettings()
인보이스 및 스토리 3
openInvoice()
shareMessage()
권한 및 인증 3
requestWriteAccess()
requestContact()
requestChat()
이모지, 화면, 파일 5
Home Screen
addToHomeScreen()
checkHomeScreenStatus()
Emoji Status
File Download
이벤트 로그 0
이벤트 45개 수신 대기 중
이벤트가 없습니다. 위의 메서드를 실행하면 이벤트가 발생합니다.

Mini App Tester는 텔레그램 미니앱의 JavaScript API(Telegram.WebApp)를 코드 없이 시험해 보는 무료 텔레그램 미니앱 테스트 도구입니다. 일반 브라우저에서는 Mock 모드로 API를 에뮬레이션하고, Telegram 안에서 열면 현재 클라이언트의 실제 API를 호출합니다. 텔레그램 미니앱을 만들기 전에 기능을 미리 확인하거나 클라이언트별 동작 차이를 비교할 때 유용합니다.

텔레그램 미니앱 테스트 방법

  1. 아무 브라우저에서나 이 페이지를 엽니다. Mock 모드가 자동으로 시작되어 Telegram.WebApp을 에뮬레이션합니다.
  2. 13개 메서드 그룹 중 하나를 펼쳐 메서드를 호출하고, 이벤트 로그와 실시간 속성 패널에서 결과를 확인합니다.
  3. Telegram 안에서 테스트하려면 @BotFather에서 봇의 Mini App URL로 https://telegram-bot-api.info/telegram-mini-app-tester.html을 지정합니다(/newapp 또는 메뉴 버튼 설정). 별도 호스팅은 필요 없습니다.
  4. iOS, Android, 데스크톱에서 각각 열어 version, platform, colorScheme, initData, themeParams, 안전 영역 값을 비교합니다.

테스트할 수 있는 기능

이벤트 로그는 viewportChanged, mainButtonClicked 등 45개 이상의 이벤트를 시각과 함께 기록합니다. Telegram 안에서는 인터페이스가 사용자의 언어로 표시됩니다.

텔레그램 미니앱 만들기: 기본 흐름

봇을 만든 뒤 HTTPS 웹 페이지에서 다른 스크립트보다 먼저 telegram-web-app.js를 불러오고, @BotFather의 /newapp 또는 메뉴 버튼으로 페이지 URL을 등록합니다. 메뉴 버튼은 Bot API Tester에서 setChatMenuButton으로 설정할 수도 있습니다.

<script src="https://telegram.org/js/telegram-web-app.js"></script>
<script>
  const tg = window.Telegram.WebApp;
  tg.ready();
  tg.MainButton.setText('확인');
  tg.MainButton.show();
  tg.onEvent('mainButtonClicked', () => tg.showAlert('버튼을 눌렀습니다'));
</script>

Mock 모드와 실제 Telegram의 차이

미니앱은 원래 Web App이라고 불렸기 때문에 API 객체 이름이 지금도 Telegram.WebApp입니다. Mock 모드는 UI와 흐름 확인용으로, 스토리지는 localStorage로 에뮬레이션하지만 네이티브 팝업, 햅틱, 실제 사용자 데이터는 재현하지 못합니다. Mock 모드의 initData는 Telegram이 서명하지 않은 샘플이므로, 서버 검증을 테스트할 때는 Telegram 안에서 받은 실제 값을 사용해야 합니다.

개인정보 보호

테스터는 전부 브라우저에서 실행되며 봇 토큰이 필요 없고 Bot API도 호출하지 않습니다. Mock 모드의 스토리지 데이터는 브라우저의 localStorage에만 남습니다.

미니앱과 함께 동작할 봇 서버를 준비한다면 텔레그램 봇 토큰 발급, 텔레그램 봇 웹훅 설정 가이드가 도움이 됩니다. 필요한 메서드는 Swagger 문서나 메서드 레퍼런스에서 찾아볼 수 있습니다.

자주 묻는 질문

Telegram 없이 텔레그램 미니앱을 테스트하는 방법은?

아무 브라우저에서나 Mini App Tester를 열면 됩니다. Mock 모드가 Telegram.WebApp을 에뮬레이션하므로 봇이나 Telegram 클라이언트 없이도 메서드를 호출하고 이벤트를 발생시키고 속성을 확인할 수 있습니다.

Mini App Tester를 내 봇의 미니앱으로 등록할 수 있습니까?

예. @BotFather에서 /newapp 또는 메뉴 버튼 설정으로 https://telegram-bot-api.info/telegram-mini-app-tester.html을 Mini App URL로 지정하면 됩니다. Telegram 안에서는 실제 WebApp API를 사용하며, 별도 호스팅은 필요 없습니다.

어떤 Telegram WebApp API 기능을 테스트할 수 있습니까?

WebApp 기본 메서드, MainButton, SecondaryButton, BackButton, SettingsButton, 팝업, HapticFeedback, CloudStorage, DeviceStorage, SecureStorage, 센서, 생체 인증, 위치, 권한, 인보이스와 스토리, 이모지 상태, 전체 화면, 파일 다운로드를 테스트할 수 있고, 45개 이상의 이벤트 로그도 제공합니다.

Mock 모드의 initData는 유효합니까?

아닙니다. Mock 모드는 Telegram이 서명하지 않은 샘플 데이터를 쓰므로 HMAC 검증에 일부러 실패하도록 되어 있습니다. 서버 쪽 검증을 테스트하려면 Telegram 안에서 테스터를 열어 실제 initData를 받아야 합니다.

Mini App Tester를 쓰려면 봇 토큰이 필요합니까?

필요 없습니다. 이 페이지는 Bot API를 전혀 호출하지 않습니다. Telegram 안에서 미니앱으로 열어 보고 싶을 때만 봇이 있으면 됩니다.