푸시 기술은 애플리케이션 사용자에게 알림을 전달하는 가장 빠른 방법 중 하나입니다. 이를 수신하기 위해 사용자는 어떤 작업도 수행할 필요가 없으며 서버 측에서 시작되어 모바일 장치 화면의 알림 표시줄에 직접 나타납니다. 이 레슨에서는 AppMaster 플랫폼에 구축된 애플리케이션에서 푸시 알림을 구현하는 방법을 이해합니다.

Send Push

푸시 알림을 보내기 위해 대상 장치( iOS 또는 Android )의 운영 체제에 해당하는 Send Push 블록이 사용됩니다.


Push Token 및 Bundle ID 얻기

전송을 수행하려면 Push TokenIOS (Android) Bundle ID 의 두 개 이상의 매개변수를 지정해야 합니다. 따라서 준비 부분부터 시작하여 이러한 매개 변수를 얻는 방법을 알아내는 것이 좋습니다.

기본적으로 각 프로젝트의 데이터베이스에는 User 모델에 연결된 Mobile Instance 모델이 포함되어 있으며 필수 필드인 push_tokenbundle_id 가 포함되어 있습니다.


완성된 Mobile Instance 모델을 구성할 모바일 애플리케이션에 대한 별도의 비즈니스 프로세스를 생성해 보겠습니다. 푸시 토큰을 Get Push Token 려면 푸시 토큰 가져오기 블록을 사용하십시오.

다음 단계는 장치에 대한 정보를 얻는 것입니다. 여기에서는 운영 체제에 따라 다른 블록이 필요합니다. 따라서 운영 체제를 판별하려면 Platform Switch 블록을 사용해야 합니다.


결과에 따라 해당 IOS Device Info 또는 Android Device Info 블록이 사용됩니다. 거기에서 장치에 대한 다양한 정보를 얻을 수 있지만 이 예에서는 Bundle ID 만 알아도 충분합니다.

모든 데이터를 수집한 후 Mobile Instance 모델을 구성하고 해당 모델이 속한 운영 체제를 표시하고 비즈니스 프로세스의 출력 매개변수로 전달할 수 있습니다.


사용자의 모바일 장치에 대한 정보 기록

다음 단계는 생성된 Mobile Instance 를 특정 사용자와 연결하고 데이터베이스에 기록하기 위한 백엔드 비즈니스 프로세스를 생성하는 것입니다. 이 비즈니스 프로세스에는 다음이 필요합니다.

  1. Auth: Get current user 가져오기 블록을 사용하여 현재 사용자를 찾습니다.
  2. 결과 Mobile Instance 모델의 내용을 확장합니다.
  3. 모델을 재조립하고 Make Mobile Instance 블록을 사용하여 사용자 연결을 추가합니다.
  4. DB: Create Mobile Instance 및 데이터베이스에 데이터 저장.


POST /Mobile Instance/ 엔드포인트에서 표준 비즈니스 프로세스를 방금 생성한 프로세스로 바꿀 수 있습니다.


준비의 마지막 단계는 사용자 장치에 대한 정보를 데이터베이스에 기록할 가치가 있는 정확한 시기를 결정하는 것입니다. 논리적 솔루션은 애플리케이션에서 인증을 수행할 때 이를 수행하는 것입니다. 이를 위해서는 Set Auth Token 블록 직후 이전에 생성된 비즈니스 프로세스가 포함된 두 개의 새로운 블록을 모바일 애플리케이션의 사용자 인증 프로세스에 추가해야 합니다. 첫 번째는 필요한 정보를 수신하고 생성하고 두 번째는 사용자와의 연결을 만들고 데이터베이스에 기록합니다.


푸시 알림 보내기

준비 부분이 완료되었으며 푸시 알림 전송을 시작할 수 있습니다. 이를 위해 백엔드 비즈니스 프로세스를 생성합니다. 우리의 작업이 애플리케이션의 모든 사용자에게 알림을 보내는 것이라고 상상해 보십시오. 모든 사용자의 기기가 아닌 Android 운영 체제가 설치된 기기에만 전송되며 마지막으로 사용된 기기에만 전송됩니다.

입력 매개변수부터 시작하겠습니다. 알림 자체의 텍스트를 전송해야 합니다. 메시지 본문( body ), 제목( title ) 및 부제목( subtitle )의 세 부분으로 구성됩니다.

다음으로 애플리케이션의 모든 사용자를 찾아야 합니다. 이렇게 하려면 Search User 블록을 사용하고 필요한 매개변수를 설정합니다.

  • _With = Mobile Instances (사용자에 대한 정보뿐만 아니라 연결된 모바일 장치에 대한 정보도 가져와야 함)
  • Limit = -1 (기본적으로 쿼리는 25개의 레코드를 반환하며 이 제한을 제거하고 모든 사용자를 가져오려면 "-1"이 지정됨)
  • _mobile_instances_os = Android (작업 조건에 따라 Android 기기에만 관심이 있음)

생성된 사용자 배열의 경우 작업 주기를 실행해야 합니다( For each loop 블록에 대해).


사용자 Expand User 블록의 각 사용자에 대해 모바일 장치( Mobile Instances )에 대한 정보를 가져와야 합니다. 하나의 장치에만 알림을 보내야 하므로 Array Element 블록에서 index = 0 을 설정하고 배열에 요소가 하나 이상 포함되어 있는지 확인합니다(결국 사용자는 iOS 장치만 가질 수 있음). 이를 위해 요소의 유효성을 확인하고 유효한 인덱스 값을 If-Else 블록에 전달하고 값이 true 인 경우에만 루프를 계속합니다.

모든 것이 정확하고 사용자 장치에 대한 정보가 발견되면 Expand Mobile Instance 블록을 사용하고 필요한 값을 Send Push (Android) 블록에 전달해야 합니다.

Developer App 에서 애플리케이션을 개발하고 테스트할 때 Developer Mode = True 로 설정해야 합니다.

TTL (Time to live) 옵션을 사용할 수도 있습니다. 알림을 보낼 시간을 초 단위로 정의합니다. 예를 들어 사용자가 일시적으로 범위를 벗어난 경우와 같이 알림을 즉시 전달할 수 없는 경우 할당된 시간에 반복 전달 시도가 이루어집니다.

주기가 끝나고 가능한 모든 사용자에게 알림을 보내면 비즈니스 프로세스 작업도 완료됩니다.


추가 매개변수

별도로 send 블록의 추가 매개변수에 대해 논의할 가치가 있습니다.

  • Push ID
  • Push Class
  • Data

알림 전송 사실이나 그 내용에는 영향을 미치지 않지만 사용자 측에서 알림을 처리할 때 사용할 수 있습니다. 모바일 애플리케이션에는 수신된 푸시 알림을 수신하거나 클릭할 때 실행되는 특수 트리거가 있습니다.


푸시 알림 트리거에는 위의 추가 텍스트 매개변수의 데이터가 포함됩니다. 예를 들어 트리거를 클릭하면 Data 매개 변수에 전달된 정보와 함께 화면에 추가 알림을 표시하는 가장 간단한 프로세스를 제공할 수 있습니다.


트리거의 또 다른 일반적인 사용 사례는 알림 전달에 대한 정보를 수집하는 것입니다. 예를 들어 푸시 알림이 실제로 전달되었다는 메시지를 서버에 보낼 수 있을 뿐만 아니라 통계를 수집하고 알림에 대한 클릭 수를 계산할 수 있습니다.

Was this article helpful?

앱마스터.io 101 단기 특강

10 모듈
2 주

어디서부터 시작해야 할지 모르겠다고요? 초보자를 위한 단기 집중 과정을 시작하고 AppMaster를 A부터 Z까지 살펴보세요.

코스 시작
Development it’s so easy with AppMaster!

도움이 더 필요하세요?

전문가의 도움으로 모든 문제를 해결하십시오. 시간을 절약하고 애플리케이션 구축에 집중하십시오.

headphones

연락처 지원

문제에 대해 알려주시면 해결책을 찾아드리겠습니다.

message

커뮤니티 채팅

채팅에서 다른 사용자와 질문에 대해 토론하십시오.

커뮤니티 가입