푸시 알림

작동 방식

웹샵 솔루션에서 푸시 알림을 설정할 수 있습니다. 푸시 알림은 사용자가 브라우저에서 직접 받는 개인 또는 대량 메시지입니다. 푸시 알림을 통해 사용자에게 새로운 아이템, 프로모션, 특별 혜택에 대해 알릴 수 있습니다.

예를 들어, 전투에서 패배하거나 자원이 부족할 때 사용자에게 알림을 보내려면 게임 서버 측에서 알림 전송을 위한 엑솔라 API를 호출하세요.

사용자가 알림을 클릭하면 웹샵 솔루션으로 이동하여 필요한 아이템을 구매할 수 있습니다.

푸시 알림은 엑솔라 웹사이트 빌더에서 구성되며, 게시된 웹샵 솔루션에서만 작동합니다.

참고
Android 장치에서는 브라우저와 프로그레시브 웹 애플리케이션(PWA)으로 설치된 웹샵 솔루션 모두에서 알림이 작동합니다. iOS 장치에서는 웹샵 솔루션을 PWA로 설치한 사용자만 알림을 받을 수 있습니다.

엑솔라는 인게임 이벤트를 추적하지 않습니다. 게임 서버가 알림을 보내기 위해 API 호출을 수행할 시점을 정의할 수 있습니다. 예를 들어:

인게임 이벤트푸시 알림 텍스트
오늘, 이번 주, 또는 이번 달의 첫 번째 로그인.돌아오신 것을 환영합니다! 웹샵 솔루션에서 선물을 확인해 보세요.
전투에서 패배.포기하지 마세요! 영웅을 위한 파워업을 구매하고 복수하세요!
에너지 또는 화폐 부족.에너지가 부족하신가요? 웹샵 솔루션에서 충전하고 계속 플레이하세요!
새로운 콘텐츠 잠금 해제.새로운 레벨이 잠금 해제되었습니다! 웹샵 솔루션에서 파워업을 구매하고 더 쉽게 클리어하세요.
연속으로 여러 번 실패.어려운 보스인가요? 승리를 도와줄 무기 번들이 웹샵 솔루션에 준비되어 있습니다.

상호작용 절차

  1. 사용자가 브라우저 또는 설치된 PWA를 통해 웹샵 솔루션을 열고 알림 구독을 제안하는 배너를 봅니다.
  2. 사용자가 구독을 클릭하고 브라우저의 시스템 프롬프트에서 알림을 허용합니다.
참고
자동 요청 권한 옵션이 활성화된 구독 로직

사이트 설정에서 자동 요청 권한 옵션이 활성화된 경우, 웹샵 솔루션은 구독 배너를 표시하지 않고 열릴 때 알림 전송 권한을 요청합니다. 사용자가 이미 권한을 부여한 경우, 구독이 자동으로 완료됩니다. 요청이 실패하면(예: 브라우저가 차단했거나 사용자가 권한을 거부한 경우), 구독 배너가 표시됩니다.

  1. 웹샵 솔루션은 사용자를 엑솔라 시스템의 구독자로 등록합니다. 구독은 사용자의 장치에 있는 브라우저 또는 설치된 PWA에 연결됩니다. 사용자에게 보낼 수 있는 알림은 인증 상태에 따라 다릅니다.

    • 사용자가 웹샵 솔루션에 로그인한 경우, 사용자 ID가 구독에 연결됩니다. 이 사용자에게 개인 알림을 보낼 수 있습니다.
    • 사용자가 로그인하지 않은 경우, 대량 알림만 보낼 수 있으며, 사용자가 로그인하면 구독이 자동으로 사용자 ID에 연결됩니다.
  2. 게임 서버가 알림을 보내기 위해 엑솔라 API를 호출합니다.

  3. 사용자가 푸시 알림을 받습니다.

  4. 사용자가 알림을 클릭하면 data.url 매개 변수에 지정된 페이지로 이동하거나 매개 변수가 전달되지 않은 경우 웹샵 솔루션의 메인 페이지로 이동합니다. 사용자가 웹샵 솔루션에서 활성 세션을 보유한 경우, 로그인 상태가 유지됩니다.

설정 방법

  1. 관리자 페이지에서 프로젝트를 열고 스토어프런트 > 웹사이트 섹션으로 이동합니다.
  2. 원하는 사이트의 창에서 웹사이트 빌더 열기를 클릭합니다.
  1. 푸시 알림 섹션으로 이동합니다.
  2. 알림 활성화 토글을 켭니다.
  3. 애플리케이션 ID, 클라이언트 ID, 클라이언트 비밀 키 입력란의 값을 복사합니다. 이는 게임 서버에서 API 요청을 보낼 때 필요합니다. 이 매개 변수는 알림 활성화 토글이 처음 켜질 때 한 번 생성되며, 전체 프로젝트에서 사용됩니다. 프로젝트에 여러 사이트가 있는 경우, 동일한 값이 모두 사용됩니다.
  4. 필요에 따라 정기 결제 배너를 설정합니다. 제목, 설명, 아이콘, 버튼 텍스트를 변경할 수 있습니다.
  5. 사이트가 열릴 때 푸시 알림 전송에 대한 사용자의 권한을 자동으로 요청하려면 자동 요청 권한 토글을 켭니다(선택 사항). 토글이 꺼져 있으면 사용자가 정기 결제 버튼을 클릭한 후에만 권한이 요청됩니다.
  6. 변경 사항을 적용하려면 사이트를 게시합니다.
  1. 게임 서버에서 푸시 알림 전송 로직을 구현합니다. 게임 서버는 알림을 보내기 위해 API 호출을 수행하고 요청에서 사용자 ID를 전달해야 합니다.

알림 전송

엑솔라는 알림을 자동으로 보내지 않습니다. 항상 게임 서버에서 API 호출을 통해 전송이 시작됩니다.

기본 URL: https://messaging-platform.xsolla.com

인증

요청은 OAuth 2.0 프로토콜을 통해 인증됩니다. 다음 매개 변수를 전달하여 JWT 생성 API 호출을 통해 서버 JWT를 받으세요.

  • grant_type - JWT 부여 유형, client_credentials 값을 전달합니다.
  • client_id - 푸시 알림 섹션 설정의 클라이언트 ID 입력란 값
  • client_secret - 푸시 알림 섹션 설정의 클라이언트 비밀 키 입력란 값

받은 토큰을 Authorization: Bearer <token> 헤더에 전달합니다.

사용자에게 알림 전송

사용자의 ID를 통해 개인 푸시 알림을 보냅니다. 알림은 사용자가 알림을 구독한 모든 브라우저와 설치된 PWA에 전달됩니다.

HTTP 요청

POST https://messaging-platform.xsolla.com/api/v1/messages/push/send

요청 헤더

헤더필수 여부설명
인증전달자 <토큰>
멱등성 키고유 요청 키. 동일한 알림이 여러 번 전송되는 것을 방지합니다.
콘텐츠 유형application/json

요청 매개 변수

매개 변수유형설명
app_id
string엑솔라 측의 애플리케이션 ID, 푸시 알림 섹션 설정에서 가져옵니다. 필수입니다.
identity
object알림 수신자 데이터.
external_user_id
string사용자 ID. 필수입니다.
title
string알림 제목. 필수입니다.
body
string알림 텍스트. 필수입니다.
image_url
string알림에 표시되는 이미지의 URL.
data
object추가 알림 데이터.
url
string사용자가 알림을 클릭했을 때 열리는 페이지의 URL. 매개 변수가 전달되지 않으면 웹샵 솔루션의 메인 페이지가 열립니다.

응답 매개 변수

매개 변수유형설명
message_ids
array of strings사용자가 알림을 구독한 각 브라우저 또는 설치된 PWA에 대한 전송된 메시지 ID 목록. UUID 형식입니다.

요청 예시

Copy
Full screen
Small screen
 1{
 2  "notification_type": "user_validation",
 3  "settings": {
 4    "project_id": 123456,
 5    "merchant_id": 789012
 6  },
 7  "user": {
 8    "id": "11111111-1111-1111-1111-111111111111"
 9  }
10}

응답 예시

Copy
Full screen
Small screen
1{
2  "message_ids": [
3"aa8ef5c2-front-4a3b-9d2e-example00001",
4"bb9fa6d3-front-4b4c-8e3f-example00002"
5    ]
6}

모든 사용자에게 알림 전송

설치 프로그램사용자 ID를 통해 개인 푸시 알림을 보냅니다. 알림은 사용자가 알림을 구독한 모든 브라우저와 설치된 PWA에 전달됩니다.

HTTP 요청

POST https://messaging-platform.xsolla.com/api/v2/messages/push/send_batch

요청 헤더

헤더필수 여부설명
인증전달자 <토큰>
멱등성 키고유 요청 키. 동일한 알림이 여러 번 전송되는 것을 방지합니다.
콘텐츠 유형application/json

요청 매개 변수

매개 변수유형설명
app_id
string엑솔라 측의 애플리케이션 ID, 푸시 알림 섹션 설정에서 가져옵니다. 필수입니다.
recipients
object알림 수신자를 정의합니다.
type
string수신자 유형. 가능한 값: all - 모든 구독자; external_user_id - 선택된 사용자.
external_user_id
array of strings사용자 ID 배열. type 매개 변수가 external_user_id로 설정된 경우 전달합니다. 필수입니다.
title
string알림 제목. 필수입니다.
body
string알림 텍스트. 필수입니다.
image_url
string알림에 표시되는 이미지의 URL.
data
object추가 알림 데이터.
url
string사용자가 알림을 클릭했을 때 열리는 페이지의 URL. 매개 변수가 전달되지 않으면 웹샵 솔루션의 메인 페이지가 열립니다.

응답 매개 변수

요청 예시

응답 예시

이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
마지막 업데이트: 2026년 7월 7일

오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!
피드백을 보내는 중 문제가 발생했습니다
잠시 후 다시 시도하거나 [email protected]으로 연락해 주세요.