버튼 하나, 여러 휴대폰

실행 버튼 하나를 여러 사람에게: 경기장, 수업, 모금 행사.

실시간 현황은 처음 연 휴대폰의 것이 돼요. 다른 휴대폰은 오류를 받아요. reuse: true 옵션을 쓰면 버튼을 여는 휴대폰마다 실시간 현황의 자체 사본을 받아요.

재사용으로 시작하기

reuse: true 옵션과 group 값을 보내세요. 그룹이 있어야 한 번의 호출로 모든 사본에 닿아요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
curl -X POST https://api.webliveactivity.com/api/start \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: wla_your_key' \
  -d '{
  "widgetContainerId": "lincoln-vs-central-2026-10-23",
  "group": "lincoln-vs-central",
  "reuse": true,
  "brand": {
    "title": "Lincoln vs Central",
    "name": "Lincoln High"
  },
  "state": {
    "layout": "versus",
    "primaryText": "Kickoff at 7 PM",
    "secondaryText": "Lincoln vs Central",
    "versus": {
      "leftName": "Lincoln",
      "rightName": "Central",
      "leftScore": "0",
      "rightScore": "0"
    }
  }
}'

사람들이 있는 곳에 버튼 두기

웹 페이지에 links.iframe 값을 넣으세요. 포스터, 전단지, 경기장 입구에는 그 페이지 주소의 QR 코드를 인쇄하세요. 사람들은 코드를 스캔한 다음 버튼을 탭해요.

참여한 사람 확인하기

사본마다 자체 activityId 값이 있어요. 휴대폰이 참여하면 active 웹훅으로 전달돼요.

모두 업데이트하기

group 값과 widgetContainerId 값을 보내세요. 모든 사본이 바뀌어요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
curl -X POST https://api.webliveactivity.com/api/update \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: wla_your_key' \
  -d '{
  "group": "lincoln-vs-central",
  "widgetContainerId": "lincoln-vs-central-2026-10-23",
  "state": {
    "primaryText": "Lincoln scores!",
    "secondaryText": "Lincoln 7, Central 0",
    "versus": {
      "leftScore": "7"
    }
  }
}'

모두 종료하기

1
2
3
4
5
6
7
curl -X POST https://api.webliveactivity.com/api/end \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: wla_your_key' \
  -d '{
  "group": "lincoln-vs-central",
  "widgetContainerId": "lincoln-vs-central-2026-10-23"
}'

규칙

  • start가 반환하는 activityId 값은 템플릿이에요. 휴대폰에는 절대 전달되지 않아요. 그룹 업데이트는 템플릿도 업데이트하므로, 나중에 참여하는 휴대폰은 최신 상태로 시작해요.
  • 재사용 버튼은 끌 수 없어요. 사본을 종료해도 버튼은 멈추지 않아요. 새 휴대폰이 참여하지 못하게 하려면 버튼과 QR 코드를 없애세요.
  • 휴대폰 한 대에는 컨테이너당 실시간 현황이 하나만 유지돼요. 같은 컨테이너의 실시간 현황이 이미 있으면, 앱이 사용자에게 유지할지 교체할지 물어요. 매주 열리는 경기처럼 반복되는 이벤트에는 이벤트마다 새 widgetContainerId 값을 쓰세요.

“만들지 않고” 실시간 현황을 만들 준비가 됐나요?

오늘 바로 만들어 볼 준비가 됐나요?

App Store 제출도, 관리할 네이티브 코드베이스도 필요 없어요. 링크 하나로 실시간 현황을 사용자 화면에 띄우고, 쓰기 쉬운 API로 계속 업데이트하세요.

포함: 매월 무료 푸시 7,000건

Movistar RidersMovistar Riders테러리스트9
맵Overpass
12HeroicHeroic대테러리스트CSGOCSGO e스포츠생중계 보기
8 PM
빨래하는 중8:00 PM까지 완료하기
빨래하기바닥 청소점심 먹기
Domino's조리 중
912
Movistar RidersMovistar Riders테러리스트9
맵Overpass
12HeroicHeroic대테러리스트CSGOCSGO e스포츠생중계 보기
라이브
라이브 보기Moly의 고양이 캠3초 전 업데이트고양이 캠
오븐에서 굽는 중Mat이 주문하신 메뉴를 굽고 있어요.Domino's
조리 중배달 중배달 완료
생각 중
API 엔드포인트 조사 중Foodscout 변경 사항 준비 중
생각 중작업 중완료
30분 후 도착Mat이 달려가고 있어요.Domino's
배달 중배달 완료
GTA00:00
GTA00:00:00GTA VI
San Francisco Shock홈1
맵Midtown
3
Dallas Fuel원정Overwatch League생중계 보기
United 1423탑승구 B22 · 좌석 14C · SFO → JFK
탑승비행 중도착
탑승
6분 후 도착Marcus · Toyota CamryToyota Camry
배달 중도착
6분
Movistar RidersMovistar Riders테러리스트9
맵Overpass
12HeroicHeroic대테러리스트CSGOCSGO e스포츠생중계 보기
8 PM
빨래하는 중8:00 PM까지 완료하기
빨래하기바닥 청소점심 먹기
Domino's조리 중
912
Movistar RidersMovistar Riders테러리스트9
맵Overpass
12HeroicHeroic대테러리스트CSGOCSGO e스포츠생중계 보기
라이브
라이브 보기Moly의 고양이 캠3초 전 업데이트고양이 캠
오븐에서 굽는 중Mat이 주문하신 메뉴를 굽고 있어요.Domino's
조리 중배달 중배달 완료
생각 중
API 엔드포인트 조사 중Foodscout 변경 사항 준비 중
생각 중작업 중완료
30분 후 도착Mat이 달려가고 있어요.Domino's
배달 중배달 완료
GTA00:00
GTA00:00:00GTA VI
San Francisco Shock홈1
맵Midtown
3
Dallas Fuel원정Overwatch League생중계 보기
United 1423탑승구 B22 · 좌석 14C · SFO → JFK
탑승비행 중도착
탑승
6분 후 도착Marcus · Toyota CamryToyota Camry
배달 중도착
6분
Movistar RidersMovistar Riders테러리스트9
맵Overpass
12HeroicHeroic대테러리스트CSGOCSGO e스포츠생중계 보기
8 PM
빨래하는 중8:00 PM까지 완료하기
빨래하기바닥 청소점심 먹기
Domino's조리 중
912
Movistar RidersMovistar Riders테러리스트9
맵Overpass
12HeroicHeroic대테러리스트CSGOCSGO e스포츠생중계 보기
라이브
라이브 보기Moly의 고양이 캠3초 전 업데이트고양이 캠
오븐에서 굽는 중Mat이 주문하신 메뉴를 굽고 있어요.Domino's
조리 중배달 중배달 완료
생각 중
API 엔드포인트 조사 중Foodscout 변경 사항 준비 중
생각 중작업 중완료
30분 후 도착Mat이 달려가고 있어요.Domino's
배달 중배달 완료
GTA00:00
GTA00:00:00GTA VI
San Francisco Shock홈1
맵Midtown
3
Dallas Fuel원정Overwatch League생중계 보기
United 1423탑승구 B22 · 좌석 14C · SFO → JFK
탑승비행 중도착
탑승
6분 후 도착Marcus · Toyota CamryToyota Camry
배달 중도착
6분