
iOS에서 액션 버튼을 보여주는 이미지
이 가이드는 푸시 알림에만 적용됩니다. 인앱 메시지의 경우 인앱 메시지: 클릭 액션 추가 방법을 참조하세요.
액션 버튼 추가
템플릿에서 액션 버튼을 구성하거나 대시보드에서 메시지를 작성할 때 직접 구성하거나 API를 통해 구성할 수 있습니다.대시보드 및 템플릿 설정
푸시를 생성할 때 고급 옵션 > 액션 버튼을 엽니다.
iOS 및 Android에 추가할 액션 버튼을 보여주는 이미지
API 설정
- 모바일 앱:
buttons매개변수를 사용합니다.id,text및icon이 있는 최대 3개의 객체 배열을 전달합니다. - 웹(Chrome):
web_buttons를 사용하여id,text,icon및url이 있는 최대 2개의 객체를 전달합니다.
액션 버튼 속성
-
액션 ID: 특정 버튼 액션의 고유 식별자입니다. 클릭한 버튼의 ID가 전달되므로 어떤 버튼이 클릭되었는지 식별할 수 있습니다. (예: ‘accept-button’)
- 버튼당 고유해야 합니다.
- OSNotification Payload에서 사용할 수 있으며 SDK 알림 열림 이벤트 핸들러 내에서 액세스할 수 있습니다.
- API:
id속성
-
레이블: 버튼이 사용자에게 표시해야 하는 텍스트입니다. (예: ‘Accept’)
- API:
text속성
- API:
-
아이콘: 버튼 레이블과 함께 표시되는 선택적 아이콘입니다. 모든 플랫폼 및 운영 체제에서 사용할 수 없습니다. 자세한 내용은 아래 FAQ를 참조하세요.
- 모바일 앱은 이미지 리소스 내에 버튼을 포함해야 합니다. 자세한 내용은 아래 액션 버튼 아이콘을 참조하세요.
- 웹사이트는 아이콘에 대한 유효한 공개적으로 접근 가능한 URL을 사용할 수 있습니다. 모든 알림 표시 시 다운로드되므로 작게 유지하세요. (예:
http://site.com/icon.png) - API:
icon속성
-
버튼 URL: 알림을 클릭할 때 열 URL입니다. URL을 열지 않으려면
'do_not_open'을 전달하세요. (예: ‘do_not_open’)- 웹 전용
- API:
url속성
액션 버튼 아이콘
- iOS는 iOS 15+에 대한 액션 버튼 아이콘을 지원합니다
- Android는 Android N(일명 7)에 대한 액션 버튼 아이콘 지원을 중단했습니다
액션 버튼 클릭 처리
사용자가 버튼을 탭하면 OneSignal은 액션 ID를 앱/사이트에 전달합니다. 기본 동작(앱/사이트 열기)을 사용하거나 재정의할 수 있습니다.기본 동작(앱/사이트 열기, 그런 다음 처리)
- 앱/사이트가 열립니다(또는 웹에서 포커스됨).
- 클릭/열기 리스너가 액션 ID와 함께 이벤트를 받습니다. (클릭 리스너 세부 정보는 모바일 SDK 참조 또는 웹 SDK 참조를 참조하세요.)
액션 버튼 클릭에서 앱 실행 방지
- Android: Android SDK 설정 > 기본 열기 동작 비활성화를 따르세요. 이를 통해 Service Extensions에서 클릭을 가로채고 앱을 열지 않고 사용자 지정 로직(예: API 호출)을 실행할 수 있습니다.
- iOS: 알림에
ios_category를 포함하여 UNNotificationCategory Object를 통해 액션을 연결합니다. 자세한 내용은 Apple의 실행 가능한 알림 유형 선언을 참조하세요. - 웹(Chrome):
_osp=do_not_open마법 문자열을 사용하여 URL 열기를 방지합니다. 이는 Chrome 및 Firefox에서 지원되지만 Safari 웹 브라우저에서는 지원되지 않습니다.
지원되는 플랫폼 및 제한
| 플랫폼 | 지원되는 버튼 | 참고 |
|---|---|---|
| iOS | 최대 4개 | iOS 15+에서 아이콘. 백그라운드 처리를 위해 카테고리 필요. |
| Android / Amazon / Huawei | 최대 3개 | Android 7+부터 버튼 아이콘 없음. |
| 웹 – Chrome | 최대 2개 | 버튼 및 아이콘 지원. _osp=do_not_open 지원. |
| 웹 – Firefox | 버튼 없음 | _osp=do_not_open은 시작 URL에만 작동. |
| 웹 – Safari | 버튼 없음 | _osp=do_not_open 미지원. 실제 URL 제공. |
사용자는 버튼을 보려면 알림을 확장해야 하는 경우가 많습니다(예: iOS에서 길게 누르기, 일부 Android OEM에서 스와이프 + 보기).
문제 해결
버튼이 표시되지 않음
- 알림을 확장하세요(길게 누르기, 스와이프 + 보기 또는 확장).
- 각 버튼에 대해 액션 ID 및 레이블을 추가했는지 확인하세요.
- 플랫폼 제한을 확인하세요(예: Chrome에서는 2개 버튼만).
모바일 웹에서 버튼을 클릭해도 브라우저가 열리지 않음
브라우저가 백그라운드에 있거나 완전히 닫혀 있는 경우 대부분의 모바일 브라우저(Chrome 포함)는 클릭 이벤트가 서비스 워커에서 여전히 트리거되더라도 포그라운드로 오거나 URL을 열지 않습니다. 이는 백그라운드 앱이 사용자를 방해하는 것을 방지하기 위한 의도적인 브라우저 동작입니다.- 대부분의 모바일 브라우저는 백그라운드 서비스 워커에서 스스로 포그라운드로 오지 않습니다. 클릭은 여전히 워커에서 실행되지만 탭은 열리지 않습니다. 이는 의도적입니다.
- 새 탭을 열지 않고 탭이 포커스되기를 기대하는 경우 시작 URL과 버튼 URL이 정확히 동일한지(후행 슬래시 포함) 확인하세요.
아이콘이 표시되지 않음
- 버튼 아이콘의 경우 iOS는 15+ 이어야 합니다.
- Android 7+는 액션 버튼 아이콘을 렌더링하지 않습니다.
- 웹에서는 아이콘 URL이 공개적으로 액세스 가능하고 작은지(다운로드 속도가 빠름) 확인하세요.
닫기 액션 버튼이 있는 이유는 무엇인가요?
기본적으로 Windows 10의 웹 푸시 알림에는 닫기 버튼이 포함됩니다. 그러나 자신의 액션 버튼을 추가하면 이 닫기 버튼이 제거됩니다. 따라서 어느 경우든 알림은 사용자가 상호 작용할 때까지 화면에 남아 있습니다. 이는 사용자에게 알림과 상호 작용할 기회를 주기 위해 Google에서 설계한 것입니다.도움이 필요하신가요?지원 팀과 채팅하거나
support@onesignal.com으로 이메일을 보내주세요.다음을 포함해 주세요:- 발생한 문제의 세부 정보 및 재현 단계(가능한 경우)
- OneSignal 앱 ID
- External ID 또는 Subscription ID(해당하는 경우)
- OneSignal 대시보드에서 테스트한 메시지의 URL(해당하는 경우)
- 관련 로그 또는 오류 메시지