Android 및 iOS 용 로컬 알림

언리얼 엔진 4 의 레퍼런스 및 가이드를 포함한 제품 문서입니다.

Windows
MacOS
Linux
On this page

Local Notification (로컬 알림)은 언리얼 엔진 4 (UE4) 응용 프로그램 외부에 표시할 수 있는 메시지로, 사용자에게 변경 또는 업데이트 사항을 알립니다. 여기서는 Android 및 iOS 기기 양쪽에 작동하는 로컬 알림 설정 방법을 살펴봅니다.

현재 Android 및 iOS 용 로컬 알림 구현은 설정과 실행이 매우 단순합니다. 이 시스템은 원격 서버를 통해 전송되는 알림이 아닌, 로컬 알림에만 작동합니다.

모바일 플랫폼 선택

Android

iOS

단계

  1. 먼저 다음 옵션으로 새 블루프린트 기반 프로젝트를 만듭니다.

  2. 프로젝트가 열렸으면 메인 툴바블루프린트 - 레벨 블루프린트 열기 를 선택하여 레벨 블루프린트 를 엽니다.

  3. 로컬 알림을 표시할 때 사용자에게 메시지를 표시할 수 있도록 변수 섹션에 다음의 텍스트 변수 셋을 추가합니다.

  4. 사용자가 로컬 알림을 표시하도록 호출했을 때 보이는지 확인하기 위해, Event Begin PlayRegister for Remote Notifications 노드를 이벤트 그래프 에 추가합니다.

  5. 알림을 발동했을 때 사용자에게 보이도록 하기 위해, Event Begin Play 의 출력을 Register for Remote Notifications 의 입력에 연결합니다. 이렇게 하면 사용자가 운영 체제(OS)에 알림을 표시할 수 있는 권한을 부여합니다.

  6. OS 에 알림 표시 권한을 줬으니, 사용자가 알림을 클릭했을 때 벌어질 일을 설정해야 합니다. 이런 상호작용 유형을 처리하기 위해 이벤트 그래프Get Launch Notification, Print String, Branch 노드를 추가합니다.

  7. Get Launch Notification 노드의 출력을 Branch 노드 입력에 연결하고 그 True 출력을 Print String 노드의 입력에 연결합니다.

  8. Notification Launched App 을 Branch 노드의 Condition 입력에, Activation EventPrint String 노드의 In String 입력에 연결합니다.

  9. 이제 알림에 말할 내용과 알림을 표시할 때까지 기다려야 하는 시간을 설정해야 합니다. 그러기 위해 먼저 이벤트 그래프에 다음 블루프린트 노드를 추가해야 합니다.

  10. 이벤트 노드에 필요한 노드를 추가했으면, Delay 노드의 Completed 출력을 Schedule Local Notifications from Now 의 입력에, 그리고 Text 변수 각각을 Schedule Local Notifications from Now 노드의 각 입력에 연결합니다. 완료된 이벤트 그래프는 다음 이미지와 같습니다.

  11. Delay 노드의 Duration5 초를 설정합니다. 로컬 알림을 호출하여 표시하기 전 앱을 닫거나 백그라운드드로 전환하기에 충분한 시간을 확보하는 데 도움이 됩니다.

  12. Schedule Local Notifications from Now 노드의 Seconds from Now 입력에 30 초를 설정합니다. 그러면 이 코드 조각을 실행한 지 30 초 후 알림을 표시합니다.

  13. Schedule Local Notifications from Now 의 Activation Event42 로 설정합니다.

  14. 로컬 알림에 필요한 모든 노드를 이벤트 그래프에 추가했으니, 마지막 남은 작업은 Branch 노드의 False 출력을 Delay 노드의 입력에 연결하는 것입니다. 완료된 이벤트 그래프 모습은 다음 이미지와 같습니다.

  15. 컴파일 버튼을 눌러 레벨 블루프린트를 컴파일하고 저장 버튼을 눌러 레벨을 저장합니다.

  16. 마지막으로 메인 툴바실행 버튼 옆 고급 옵션 드롭 다운을 클릭한 뒤 테스트할 기기를 선택합니다.

  1. 먼저 다음 옵션으로 C++ 기반 프로젝트를 만듭니다.

  2. 프로젝트가 열리면 편집 > 프로젝트 세팅 을 선택합니다.

  3. 프로젝트 세팅 메뉴에서 모든 세팅 을 클릭하고 검색창에 Enable Remote Notifications Support (원격 알림 지원 활성화)를 입력합니다.

이 기능은 C++ 기반 프로젝트에서만 사용할 수 있습니다. 블루프린트 기반 프로젝트를 사용하는 경우, 옵션이 회색으로 보입니다.

  1. 프로젝트가 열렸으면 메인 툴바블루프린트 - 레벨 블루프린트 열기 를 선택하여 레벨 블루프린트 를 엽니다.

  2. 로컬 알림을 표시할 때 사용자에게 메시지를 표시할 수 있도록 변수 섹션에 다음의 텍스트 변수 셋을 추가합니다.

  3. 사용자가 로컬 알림을 표시하도록 호출했을 때 보이는지 확인하기 위해, Event Begin PlayRegister for Remote Notifications 노드를 이벤트 그래프 에 추가합니다.

  4. 알림을 발동했을 때 사용자에게 보이도록 하기 위해, Event Begin Play 의 출력을 Register for Remote Notifications 의 입력에 연결합니다. 이렇게 하면 사용자가 운영 체제(OS)에 알림을 표시할 수 있는 권한을 부여합니다.

  5. OS 에 알림 표시 권한을 줬으니, 사용자가 알림을 클릭했을 때 벌어질 일을 설정해야 합니다. 이런 상호작용 유형을 처리하기 위해 이벤트 그래프Get Launch Notification, Print String, Branch 노드를 추가합니다.

  6. Get Launch Notification 노드의 출력을 Branch 노드 입력에 연결하고 그 True 출력을 Print String 노드의 입력에 연결합니다.

  7. Notification Launched App 을 Branch 노드의 Condition 입력에, Activation EventPrint String 노드의 In String 입력에 연결합니다.

  8. 이제 알림에 말할 내용과 알림을 표시할 때까지 기다려야 하는 시간을 설정해야 합니다. 그러기 위해 먼저 이벤트 그래프에 다음 블루프린트 노드를 추가해야 합니다.

  9. 이벤트 노드에 필요한 노드를 추가했으면, Delay 노드의 Completed 출력을 Schedule Local Notifications from Now 의 입력에, 그리고 Text 변수 각각을 Schedule Local Notifications from Now 노드의 각 입력에 연결합니다. 완료된 이벤트 그래프는 다음 이미지와 같습니다.

  10. Delay 노드의 Duration5 초를 설정합니다. 로컬 알림을 호출하여 표시하기 전 앱을 닫거나 백그라운드드로 전환하기에 충분한 시간을 확보하는 데 도움이 됩니다.

  11. Schedule Local Notifications from Now 노드의 Seconds from Now 입력에 30 초를 설정합니다. 그러면 이 코드 조각을 실행한 지 30 초 후 알림을 표시합니다.

  12. Schedule Local Notifications from Now 의 Activation Event42 로 설정합니다.

  13. 로컬 알림에 필요한 모든 노드를 이벤트 그래프에 추가했으니, 마지막 남은 작업은 Branch 노드의 False 출력을 Delay 노드의 입력에 연결하는 것입니다. 완료된 이벤트 그래프 모습은 다음 이미지와 같습니다.

  14. 컴파일 버튼을 눌러 레벨 블루프린트를 컴파일하고 저장 버튼을 눌러 레벨을 저장합니다.

  15. 마지막으로 메인 툴바실행 버튼 옆 고급 옵션 드롭 다운을 클릭한 뒤 테스트할 기기를 선택합니다.

최종 결과

프로젝트를 모바일 디바이스에 설치하면, 다음 비디오처럼 앱을 연 뒤 5 초 후 알림 창이 뜨는 것을 볼 수 있습니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback