푸시 알림이란 무엇인가요?

푸시 알림 커버

푸시 알림은 2009년에 Apple에서 도입한 강력한 커뮤니케이션 채널입니다. 그 이후로 인기가 급상승하여 대부분의 마케팅 캠페인에서 필수적인 부분이 되었습니다. 알림은 참여를 유도하고, 앱 사용량을 늘리고, 전환에 영향을 미치는 등 다양한 용도로 사용할 수 있습니다!

이 도움말에서는 푸시 알림의 장점, 사용 사례, 알림의 유형, 해야 할 일과 하지 말아야 할 일에 대해 알아보세요. 또한 최고의 mBaaS 제공업체 중 하나인 Back4app을 사용하여 Android 디바이스로 푸시 알림을 보내는 방법을 살펴봅니다.

푸시 알림이란 무엇인가요?

푸시 알림은 고객의 모바일 디바이스, 웹 브라우저, 웨어러블 또는 알림을 지원하는 기타 디바이스로 직접 보낼 수 있는 짧은 메시지 또는 알림입니다. 기업이 알림, 업데이트, 시간에 민감한 메시지, 프로모션 등을 보낼 수 있는 빠른 커뮤니케이션 채널로 사용됩니다.

푸시 알림은 고객이 알림 수신에 동의해야 하는 옵트인 서비스입니다. 일반적으로 간단한 팝업 메시지를 통해 동의를 받거나 퍼블리셔의 모바일 앱을 설치하여 동의를 받습니다.

푸시 알림은 여러 요소로 구성됩니다. 고객의 디바이스와 운영 체제에 따라 그 구조와 모양이 조금씩 다릅니다. 일반적으로 텍스트, 이모티콘, 이미지, 버튼 또는 클릭 시 특정 동작을 수행하는 소위 CTA를 포함할 수 있습니다.

Android 디바이스에서 푸시 알림의 예는 다음과 같습니다:

Android 푸시 알림 해부학

푸시 알림을 사용하는 이유는 무엇인가요?

푸시 알림은 다목적 도구입니다. 마케팅, 시간에 민감한 메시지, 보안 알림, 업데이트 등에 사용할 수 있습니다. 가장 일반적인 사용 사례 몇 가지를 살펴보겠습니다.

프로모션 및 혜택

비즈니스는 푸시 알림을 활용하여 사용자에게 프로모션 혜택과 할인 정보를 전송하여 구매를 유도할 수 있습니다. 또한 푸시 알림을 개인화하여 더욱 관련성 있고 효과적으로 만들 수 있습니다.

버려진 카트 줄이기

이커머스 스토어를 운영하는 경우 푸시 알림을 사용하면 버려진 카트를 줄일 수 있습니다. 카트가 며칠 동안 방치된 후 푸시 알림을 통해 사용자에게 추가 할인을 제안할 수 있습니다.

소셜 상호 작용

푸시 알림은 사용자 유지에 매우 유용합니다. Facebook, Instagram, Twitter 등 대부분의 소셜 애플리케이션은 다른 사용자가 나와 상호작용할 때마다 알림을 보냅니다. 예를 들어, 게시글에 좋아요를 누르거나, 게시글에 댓글을 달거나, 메시지를 보내는 등의 행위가 이에 해당합니다.

업데이트 및 알림

푸시 알림은 이벤트, 약속, 마감일 등의 업데이트와 알림을 받는 데 유용한 도구가 될 수 있습니다.

보안

푸시 알림은 보안 목적으로도 사용할 수 있습니다. 일부 회사에서는 고객이 계정에 로그인할 때마다 고객에게 푸시 알림을 보내기도 합니다. 또한 푸시 알림을 사용하여 2FA 확인을 시작할 수도 있습니다.

푸시 알림을 사용하면 어떤 이점이 있나요?

이전 섹션에서 푸시 알림의 여러 가지 이점에 대해 언급했습니다. 요약하면 다음과 같은 이점이 있습니다:

  • 사용자 참여도 향상
  • 사용자 유지율 향상
  • 더 높은 전환율
  • 향상된 고객 관리
  • 매출 및 수익 증대
  • 향상된 사용자 경험

푸시 알림 유형에는 어떤 것이 있나요?

푸시 알림에는 모바일 알림, 웹 알림, 데스크톱 알림의 세 가지 유형이 있습니다.

알림 장치

모바일 푸시 알림

모바일 푸시 알림은 가장 많이 사용되고 잘 알려진 푸시 알림 유형입니다. 푸시 알림은 상태 표시줄, 알림 서랍, 헤드업 알림, 잠금 화면 등 다양한 형태로 표시될 수 있습니다.

알림에는 작은 아이콘, 앱 이름, 타임스탬프, 큰 아이콘, 제목, 텍스트, 버튼이 포함될 수 있습니다. 모바일 알림은 콘텐츠와 중요도에 따라 여러 채널로 구성할 수 있습니다.

모바일 푸시 알림은 일반적으로 iOS 디바이스의 경우 Apple Push Notification Service (APNS), Android 디바이스의 경우 Firebase Cloud Messaging (FCM)과 같은 푸시 알림 서비스를 사용하여 전송합니다. 푸시 알림 서비스에 대한 자세한 내용은 튜토리얼 뒷부분에서 설명합니다.

웹 푸시 알림

웹 기반 푸시 알림은 브라우저가 열리지 않은 상태에서도 웹사이트가 사용자의 브라우저로 보낼 수 있는 알림입니다. 데스크톱 알림 서랍과 브라우저의 홈 화면에 표시됩니다.

웹 푸시 알림의 첫 번째 버전은 2014년에 Google에서 출시했습니다. 현재는 Google Chrome, Mozilla Firefox, Microsoft Edge 등 대부분의 최신 웹 브라우저에서 지원되고 있습니다.

모바일 알림과 달리 이러한 알림은 브라우저의 푸시 API를 통해 전달됩니다.

데스크톱 푸시 알림

데스크톱 푸시 알림은 웹 푸시 알림과 유사합니다. 가장 큰 차이점은 전송 방식입니다. 웹 알림은 웹사이트나 웹 앱에서 전송되는 반면 데스크톱 알림은 컴퓨터에 설치된 애플리케이션에서 전송됩니다.

알림 서랍에 표시되며 대부분의 최신 운영 체제에서 지원됩니다.

좋은 푸시 알림이란 무엇인가요?

2023년 일반적인 스마트폰 사용자는 하루에 약 50개의 알림을 받게 됩니다. 대부분의 알림은 읽지 않고 스와이프하여 사라집니다. 푸시 알림 캠페인의 성공률을 높이려면 다음 팁을 참고하세요.

개인화

사용자의 관심사와 선호도에 맞게 알림을 맞춤 설정하면 알림의 관련성을 높이고 관심을 끌 수 있습니다. 이를 통해 사용자 유지율, 참여도, 충성도를 향상시킬 수 있습니다. 또한 CTA를 통해 사용자가 원하는 행동을 취하도록 유도함으로써 비즈니스 수익을 높일 수 있습니다.

리치 미디어 및 이모티콘 사용

알림을 더욱 매력적이고 흥미롭게 만들려면 관련 이미지와 이모티콘을 포함하세요. 연구에 따르면 이미지와 이모티콘은 클릭률을 크게 높일 수 있는 것으로 나타났습니다.

이모티콘을 선택하는 경우 이모티콘을 과도하게 사용하지 않도록 주의하세요. 알림의 시작 또는 끝에 이모티콘을 최대 한두 개만 사용하세요.

적절한 시간 맞추기

푸시 알림의 타이밍을 적절히 맞추는 것이 중요합니다. 알림을 보내기 전에 고객층을 파악해야 합니다. 고객이 서로 다른 시간대에 거주하는 경우 시간대를 기준으로 고객을 여러 그룹으로 나눈 다음 그룹별로 알림을 보낼 수 있습니다.

Notix의 조사에 따르면 알림을 주고받는 사이에 알림이 전송되는 것으로 나타났습니다:

  1. 오전 8시와 오전 11시의 클릭률은 5.55%입니다.
  2. 오전 11시와 오후 8시는 클릭률이 7%입니다.
  3. 오후 8시와 오후 11시의 클릭률은 10.4%입니다.

CTA 포함

푸시 알림은 의도와 사용자가 다음에 수행해야 할 작업을 명확하게 전달해야 합니다. 예를 들어, 방금 새 문서를 게시한 경우 문서 링크를 포함시키고 스토어에 새 제품이 있는 경우 ‘지금 구매’ 버튼을 추가합니다.

기억하세요: 좋은 푸시 알림은 관련성이 있고 사용자의 참여를 유도하며 사용자에게 가치를 제공해야 합니다.

푸시 알림을 보낼 때 피해야 할 사항은 무엇인가요?

푸시 알림은 사용자의 참여를 유도하고 전환을 유도하는 강력한 도구이지만, 피해야 할 몇 가지 상황이 있습니다. 반드시 피하세요:

  1. 다른 제품 광고
  2. 너무 많은 알림 보내기
  3. 관련성이 없거나 무의미한 알림 보내기
  4. 알림을 통해 사용자 확보 시도
  5. 사용자 압도하기

푸시 알림 서비스란 무엇인가요?

푸시 알림 서비스는 타사 개발자가 API 또는 대시보드를 통해 고객의 디바이스에 푸시 알림을 보낼 수 있는 서비스입니다. 애플리케이션 또는 웹사이트와 고객의 디바이스 간에 연결을 설정하는 방식으로 작동합니다. 푸시 알림 서비스는 각 디바이스마다 고유 식별자를 사용하여 메시지가 의도한 수신자에게만 전달되도록 합니다.

일반적인 푸시 알림 서비스 기능에는 고객 및 대상 관리, 알림 관리(과거 푸시 포함), 알림 예약, 분석(클릭률, 전달 등) 등이 있습니다.

푸시 알림 서비스의 몇 가지 예는 다음과 같습니다:

  1. Firebase Cloud Messaging (FCM)
  2. Apple Push Notification Service (APNS)
  3. Amazon Simple Notification Service (SNS)
  4. Back4app (Parse) Push Notifications
  5. OneSignal

푸시 알림은 어떻게 보내나요?

이 섹션에서는 Back4app을 사용하여 Android 디바이스에 푸시 알림을 보내는 방법에 대해 설명합니다.

푸시 알림 예시

전제 조건

  • Android Studio가 설치되어 있어야 합니다.
  • 안드로이드 앱 개발에 대한 기본 이해
  • Gradle 기반 안드로이드 스튜디오 프로젝트

목표

  1. Back4app 애플리케이션 생성
    • 안드로이드용 Parse SDK 설치 및 구성하기
    • 애플리케이션 ID클라이언트 키로 Parse 초기화하기
  2. Firebase 프로젝트 및 애플리케이션 만들기
    • Firebase SDK 설치
  3. GCM 발신자 IDGCM 서버 키를 통해 Firebase와 Back4app 연결
  4. Android 권한을 구성하고 알림을 받을 서비스 및 수신자를 등록합니다.
  5. Back4app 대시보드 또는 클라우드 코드를 통해 푸시 알림 보내기

Back4app이란 무엇인가요?

Back4app은 개발자가 백엔드나 기본 인프라에 대한 걱정 없이 앱에만 집중할 수 있는 훌륭한 BaaS(서비스형 백엔드) 제공업체입니다. Parse, GraphQL, Node.js, Redis와 같은 오픈 소스 기술을 기반으로 구축되었습니다.

Back4app은 사용하기 쉽고, 고급 사용자와 작업 자동화를 위한 깔끔한 대시보드와 명령줄 인터페이스(CLI) 를 제공합니다.

이 플랫폼에는 다음과 같은 몇 가지 기본 제공 기능이 있습니다:

  • 스프레드시트형 데이터베이스
  • 인증 및 소셜 인증
  • 푸시 및 이메일 알림
  • 클라우드 코드 및 작업
  • 사용자 관리
  • 보안 기능

Back4app의 가격 모델은 간단합니다. 또한 플랫폼을 사용해 보거나 소규모 애플리케이션을 호스팅하는 데 사용할 수 있는 넉넉한 무료 티어를 제공합니다.

Back4app에 대해 자세히 알아보려면 Back4app을 사용하는 이유를 확인하세요.

Back4app 앱 만들기

이미 Back4app 애플리케이션을 만들고, Parse SDK를 설치하고, 안드로이드 프로젝트를 구성했다면 이 섹션을 건너뛰셔도 됩니다!

Back4app으로 작업하려면 먼저 앱을 만들어야 합니다. 대시보드에 로그인하면 앱 목록이 표시됩니다. “새 앱 만들기”를 클릭하여 앱 만들기 프로세스를 시작합니다.

Back4app 앱 만들기

“서비스형 백엔드”를 선택하고 앱 이름을 입력한 후 데이터베이스로 “NoSQL 데이터베이스”를 선택한 다음 마지막으로 “만들기”를 클릭합니다.

Back4app은 데이터베이스, 애플리케이션 레이어, 확장, 백업 및 보안 등 앱에 필요한 모든 것을 준비하는 데 잠시 시간을 할애할 것입니다.

애플리케이션이 준비되면 앱의 대시보드로 리디렉션됩니다.

Back4app 앱 대시보드

다음으로 사이드바에서 “앱 설정 > 보안 및 키”를 선택하고 “애플리케이션 ID”와 “클라이언트 키”를 기록해 두세요. Android 앱을 Back4app 서버에 연결하려면 이 키가 필요합니다.

Back4app 앱 키

Parse SDK 설치

앱이 Back4app 서버와 통신하려면 Parse SDK를 설치해야 합니다.

이 프로세스를 사용하려면 Android SDK 27 이상이 필요합니다. Parse를 설치하기 전에 app/build.gradle로 이동하여 compileSdktargetSdk가 올바른 버전으로 설정되어 있는지 확인합니다:

// app/build.gradle

android {
    namespace "com.back4app.push"
    compileSdk 33  // <-- check this line

    defaultConfig {
        applicationId "com.back4app.push"
        minSdk 27
        targetSdk 33   // <-- check this line
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    // ...
}

최신 소프트웨어 패키지에 액세스하려면 JitPack 패키지 리포지토리를 설치합니다.

settings.gradle로 이동하여 다음과 같이 의존성ResolutionManagement에 JitPack 리포지토리를 추가합니다:

// settings.gradle

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }   // new
    }
}
rootProject.name = "back4app-push-notifications"
include ":app"

그런 다음 app/build.gradle로 이동하여 다음 종속 요소를 추가합니다:

// app/build.gradle

dependencies {
    implementation "com.parse.bolts:bolts-android:1.4.0"
    implementation "com.github.parse-community.Parse-SDK-Android:parse:4.2.0"
    implementation "com.github.parse-community.Parse-SDK-Android:fcm:4.2.0"
    // ...
}

JitPack에 최신 버전이 있는지 확인하고 버전이 있다면 업데이트하세요.

Parse가 작동하려면 애플리케이션에서 인터넷 액세스를 활성화해야 합니다. 또한 이전 섹션의 “애플리케이션 ID”와 “클라이언트 키”를 제공해야 합니다. AndroidManifest.xml로 이동하여 다음과 같이 수정합니다:

<!-- app/src/main/AndroidManifest.xml -->

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- new -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- end of new -->

    <application>
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />

            <!-- new -->
            <meta-data
                android:name="com.parse.SERVER_URL"
                android:value="@string/back4app_server_url" />
            <meta-data
                android:name="com.parse.APPLICATION_ID"
                android:value="@string/back4app_app_id" />
            <meta-data
                android:name="com.parse.CLIENT_KEY"
                android:value="@string/back4app_client_key" />
            <!-- end of new -->

        </activity>
    </application>
</manifest>

마지막으로 strings.xml로 이동하여 방금 사용한 문자열을 추가합니다:

<!-- app/src/main/res/values/strings.xml -->

<resources>
    <string name="app_name">back4app-push-notifications</string>
    <string name="back4app_server_url">https://parseapi.back4app.com</string>
    <string name="back4app_app_id">YOUR_PARSE_APP_ID</string>
    <string name="back4app_client_key">YOUR_PARSE_CLIENT_KEY</string>
</resources>

YOUR_PARSE_APP_ID와 YOUR_PARSE_CLIENT_KEY를 실제 ID와 키로 바꿔야 합니다.

Parse 초기화

Parse를 초기화하기 위해 Android의 Application 클래스를 사용하겠습니다.

애플리케이션 클래스는 애플리케이션 전반의 리소스와 상태에 대한 전역 액세스를 제공합니다. 애플리케이션 프로세스가 시작될 때 다른 클래스보다 먼저 인스턴스화되며 애플리케이션 수명 주기 이벤트를 관리하고 전역 변수를 초기화하며 사용자 지정 동작을 구현하는 데 사용할 수 있습니다.

애플리케이션 클래스에 대해 자세히 알아보려면 공식 문서를 참조하세요.

MainActivity.kt가 있는 폴더로 이동하여 다음 내용으로 App.kt라는 이름의 새 파일을 만듭니다:

// app/src/main/java/.../App.kt

package com.back4app.push

import android.app.Application
import com.parse.Parse

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        Parse.initialize(
            Parse.Configuration.Builder(this)
                .applicationId(getString(R.string.back4app_app_id))
                .clientKey(getString(R.string.back4app_client_key))
                .server(getString(R.string.back4app_server_url))
                .build()
        )
    }
}

다음으로, AndroidManifest.xml에서 애플리케이션의 android:name을 다음과 같이 설정하여 새로 생성된 애플리케이션 클래스를 사용하도록 안드로이드에 지시합니다:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:name=".App"
    >
        <!-- ... -->
    </application>
</manifest>

이제 애플리케이션이 Back4app에 연결되었습니다. 모든 것이 작동하는지 확인하려면 애플리케이션을 실행하고 로그에서 오류가 있는지 확인하세요.

Firebase 프로젝트 및 앱 만들기

다음 단계를 수행하려면 Firebase 계정이 있어야 합니다. 아직 계정이 없는 경우 Google 계정으로 가입하세요.

Firebase 콘솔로 이동하여 “프로젝트 만들기”를 클릭합니다.

Firebase 프로젝트 만들기

사용자 지정 이름을 지정해 주세요. Back4app-푸시 알림으로 이름을 지정하겠습니다.

이용약관에 동의하고 Google 애널리틱스를 활성화한 다음 ‘프로젝트 만들기’를 누릅니다.

Firebase가 프로젝트를 프로비저닝하고 필요한 모든 것을 준비할 때까지 기다립니다. 완료되면 프로젝트 대시보드로 리디렉션됩니다.

그런 다음 Android 아이콘을 클릭하여 새 애플리케이션을 만듭니다.

Firebase 대시보드

다음 세부 정보를 입력합니다:

  1. Android 패키지 이름: 패키지 이름 사용 (예: com.back4app.push)
  2. 앱 닉네임(선택 사항): 사용자 지정 닉네임을 입력합니다.
  3. 서명 키 디버그: 비워둡니다 (또는 이 문서에 따라 키를 얻습니다).

마지막으로 google-services.json 파일을 다운로드하여 폴더에 넣습니다.

이 글의 다음 섹션에서 설명할 것이므로 ‘Firebase SDK 추가’ 및 ‘다음 단계’는 건너뛰세요.

Firebase SDK 설치

Firebase SDK를 설치하려면 프로젝트 수준의 build.gradle로 이동하여 다음과 같이 빌드 스크립트 속성을 추가합니다:

// build.gradle

buildscript {
    dependencies {
        classpath "com.google.gms:google-services:4.3.15"
    }
}

그런 다음 앱/build.gradle에 다음 플러그인과 종속성을 추가합니다:

// app/build.gradle

plugins {
    id "com.android.application"
    id "org.jetbrains.kotlin.android"
    id "com.google.gms.google-services"  // new
}

dependencies {
    implementation platform("com.google.firebase:firebase-bom:31.2.2")  // new
    implementation "com.google.firebase:firebase-analytics-ktx"  // new
    // ....
}

Gradle 설정을 동기화합니다.

Firebase 프로젝트와 Back4app 앱 연동

Firebase 프로젝트를 Back4app 앱과 연결하려면 먼저 GCM 발신자 ID와 GCM 서버 키를 얻어야 합니다. 이를 위해 Firebase 콘솔을 열고 톱니바퀴 아이콘을 클릭한 다음 “프로젝트 설정”을 클릭합니다.

Firebase 프로젝트 설정

상단 탐색에서 ‘클라우드 메시징’을 선택합니다.

푸시 알림을 Parse하려면 기본적으로 비활성화되어 있는 클라우드 메시징 API가 필요합니다. 활성화하려면 더 보기 옵션을 사용한 다음 “Google Cloud Console에서 API 관리”를 클릭합니다. “API 사용”을 클릭하고 몇 초간 기다렸다가 Google이 활성화할 때까지 기다립니다.

Firebase 레거시 클라우드 메시징

API가 성공적으로 활성화되면 현재 탭을 닫고 클라우드 메시징 설정으로 다시 이동합니다. ‘발신자 ID’와 ‘서버 키’를 기록해 두세요.

Firebase 클라우드 메시징

다음으로 Back4app 앱 대시보드로 이동하여 사이드바에서 “앱 설정 > 서버 설정”을 선택합니다. “Android 푸시 알림”이 표시될 때까지 아래로 스크롤하여 “설정”을 클릭합니다.

Back4app 서버 설정

‘편집’을 클릭하고 ‘발신자 ID’와 ‘서버 키’를 입력한 후 저장합니다.

백4앱 푸시 알림 구성

이제 Firebase 프로젝트와 Back4app 앱이 연결되었습니다.

푸시 알림을 위한 앱 구성

알림을 보내기 전에 마지막으로 해야 할 일은 Android 앱을 구성하는 것입니다. 해야 합니다:

  1. AndroidManifest.xml에서 GCM 발신자 ID를 설정하고 권한을 추가합니다.
  2. AndroidManifest.xml에 서비스 및 수신기 추가하기
  3. App.kt에서 ParseInstallation 만들기

AndroidManifest.xml로 이동하여 다음과 같이 수정합니다:

<!-- app/src/main/AndroidManifest.xml -->

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- new -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <!-- end of new -->

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application>
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
            <meta-data
                android:name="com.parse.SERVER_URL"
                android:value="@string/back4app_server_url" />
            <meta-data
                android:name="com.parse.APPLICATION_ID"
                android:value="@string/back4app_app_id" />
            <meta-data
                android:name="com.parse.CLIENT_KEY"
                android:value="@string/back4app_client_key" />

            <!-- new -->
            <meta-data
                android:name="com.parse.push.gcm_sender_id"
                android:value="YOUR_GCM_SENDER_ID" />
            <!-- end of new -->

        </activity>

        <!-- new -->
        <service
            android:name="com.parse.fcm.ParseFirebaseMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

        <receiver
            android:name="com.parse.ParsePushBroadcastReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.OPEN" />
                <action android:name="com.parse.push.intent.DELETE" />
            </intent-filter>
        </receiver>
        <!-- end of new -->
    </application>
</manifest>

YOUR_GCM_SENDER_ID를 실제 GCM 발신자 ID로 바꿔야 합니다.

최종 AndroidManifest.xml은 다음과 같은 모습이어야 합니다.

그런 다음 App.kt로 이동하여 onCreate() 하단에 다음 코드를 추가합니다:

// app/src/main/java/.../App.kt

import com.parse.ParseInstallation

class App : Application() {
    override fun onCreate() {
        // ...

        val installation = ParseInstallation.getCurrentInstallation()
        installation.put("GCMSenderId", "YOUR_GCM_SENDER_ID")
        installation.put("channels", listOf("news", "updates"))
        installation.saveInBackground()
    }
}

실제 GCM 발신자 ID를 입력해야 합니다. 채널 이름을 수정할 수도 있습니다.

이 코드는 ParseInstallation을 생성하고 DB에 저장합니다. 또한 뉴스업데이트의 경우 알림 채널을 구성합니다. 이 채널은 클라우드 코드를 통해 다양한 유형의 알림을 전송하는 데 사용할 수 있습니다.

Android 앱에 푸시 알림을 성공적으로 구성했습니다.

푸시 알림 보내기

Back4app 대시보드

Back4app 대시보드를 통해 푸시 알림을 보내는 것은 쉽습니다. 이 방법은 일회성 푸시 알림을 수동으로 전송하는 데 적합합니다.

먼저 사이드바에서 ‘더보기 > 푸시 > 새 푸시 보내기’를 선택한 다음 양식을 작성합니다.

Back4app 푸시 알림 대시보드

마지막으로 ‘푸시 보내기’ 버튼을 클릭합니다.

Back4app 대시보드 알림

제목을 통해 알림의 제목을, 알림을 통해 본문을 지정할 수 있으므로 JSON 형식을 사용하는 것이 좋습니다.

클라우드 코드

클라우드 코드를 사용하여 프로그래밍 방식으로 푸시 알림을 보낼 수 있습니다. 또한 이를 사용하여 푸시 알림을 예약하거나 특정 이벤트에 대한 푸시 알림을 보낼 수 있습니다.

클라우드 코드를 통해 푸시 알림을 보내려면 사이드바에서 ‘클라우드 코드 > 기능 및 웹 호스팅’을 선택한 다음 main.js에 다음 코드를 추가합니다:

// cloud/main.js

Parse.Cloud.define("pushTest", (request) => {
    return Parse.Push.send({
        channels: ["news"],
        data: {
            title: "Cloud Code",
            alert: "This push notification was sent via Cloud Code.",
        }
    }, { useMasterKey: true });
});

“배포” 버튼을 클릭하여 코드를 배포합니다.

마지막으로 REST 호출을 통해 클라우드 기능을 트리거합니다:

curl --location --request POST 'https://parseapi.back4app.com/functions/pushTest' \
--header 'X-Parse-Application-Id: YOUR_APPLICATION_ID' \
--header 'X-Parse-REST-API-Key: YOUR_REST_KEY' \
--header 'Content-Type: application/json'
Back4app 클라우드 코드 알림

애플리케이션 ID와 REST 키는 ‘앱 설정 > 보안 및 키’에서 얻을 수 있습니다.

푸시 알림을 예약하려면 클라우드 작업을 살펴보세요.

결론

이 글에서는 푸시 알림의 장점, 알림 유형, 해야 할 일과 하지 말아야 할 일에 대해 설명했습니다. 또한 Back4app을 통해 푸시 알림을 보내도록 Android 애플리케이션을 구성하는 방법도 배웠습니다.

최종 소스 코드는 GitHub 리포지토리에서 확인할 수 있습니다.

향후 단계

  1. 알림을 예약하거나 특정 사용자를 타겟팅하려면 Parse 문서를 참조하세요.
  2. iOS 디바이스로 푸시 알림을 보내는 방법을 알아보려면 공식 문서를 확인하세요.
  3. 클라우드 코드에 대해 자세히 알아보려면 클라우드 컴퓨팅에서 FaaS란 무엇인가요?

자주 묻는 질문

푸시 알림이란 무엇인가요?

푸시 알림은 고객의 모바일 기기, 웹 브라우저, 웨어러블 또는 알림을 지원하는 기타 장치로 직접 전송할 수 있는 짧은 메시지 또는 경고입니다.

푸시 알림의 장점은 무엇인가요?

– 사용자 유지율 증가
– 전환율 향상
– 고객 서비스 개선
– 매출 및 수익 증가

푸시 알림의 유형은 무엇인가요?

– 모바일 푸시 알림
– 웹 푸시 알림
– 데스크톱 푸시 알림

푸시 알림 서비스란 무엇인가요?

푸시 알림 서비스는 서드파티 개발자가 API 또는 대시보드를 통해 고객의 장치로 푸시 알림을 보낼 수 있도록 해주는 서비스입니다.

푸시 알림을 보내는 방법은?

1. Back4app 애플리케이션 생성
2. Firebase 프로젝트 및 애플리케이션 생성
3. Firebase 프로젝트와 Back4app 앱 연결
4. Android 앱 구성
5. Back4app 대시보드 또는 Cloud Code를 통해 푸시 알림 전송


Leave a reply

Your email address will not be published.