Cordova에서 푸시 알림 처리

improve this page | report issue

개요

iOS, Android 및 Windows Cordova 애플리케이션이 푸시 알림을 수신하고 표시할 수 있으려면 먼저 cordova-plugin-mfp-push Cordova 플러그인을 Cordova 프로젝트에 추가해야 합니다. 애플리케이션이 구성되고 나면 디바이스를 등록 및 등록 취소하고 태그를 등록 및 등록 취소하고 알림을 처리하기 위해 MobileFirst 제공 알림 API를 사용할 수 있습니다. 이 학습서에서는 Cordova 애플리케이션에서 푸시 알림을 처리하는 방법에 대해 학습합니다.

참고: 결함으로 인해 Cordova 애플리케이션에서는 인증된 알림이 현재 지원되지 않습니다. 하지만 WLAuthorizationManager.obtainAccessToken("push.mobileclient").then( ... );으로 각각의 MFPPush API 호출을 랩핑할 수 있는 임시 해결책이 제공됩니다. 제공된 샘플 애플리케이션에서는 이 임시 해결책을 사용합니다.

iOS의 자동 또는 대화식 알림에 대한 정보는 다음을 참조하십시오.

전제조건:

다음으로 이동

알림 구성

새 Cordova 프로젝트를 작성하거나 기존 프로젝트를 사용하고 지원되는 플랫폼(iOS, Android, Windows) 중 하나 이상을 추가하십시오.

MobileFirst Cordova SDK가 아직 프로젝트에 없는 경우 Cordova 애플리케이션에 Mobile Foundation SDK 추가 학습서의 지시사항을 따르십시오.

푸시 플러그인 추가

  1. 명령행 창에서 Cordova 프로젝트의 루트로 이동하십시오.

  2. 다음 명령을 실행하여 푸시 플러그인을 추가하십시오.

    cordova plugin add cordova-plugin-mfp-push
    
  3. 다음 명령을 실행하여 Cordova 프로젝트를 빌드하십시오.

    cordova build
    

iOS 플랫폼

iOS 플랫폼의 경우 추가적인 단계가 필요합니다.
Xcode의 기능 화면에서 애플리케이션에 대해 푸시 알림을 사용으로 설정하십시오.

중요: 애플리케이션에 대해 선택된 번들 ID는 Apple Developer 사이트에서 이전에 작성한 앱 ID와 일치해야 합니다. [푸시 알림 개요] 학습서를 참조하십시오.

Xcode에서 기능의 위치를 보여주는 이미지

Android 플랫폼

Android 플랫폼의 경우 추가적인 단계가 필요합니다.
Android Studio에서 다음 activityapplication 태그에 추가하십시오.

<activity android:name="com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPushNotificationHandler" android:theme="@android:style/Theme.NoDisplay"/>

알림 API

클라이언트 측

Javascript 함수 설명
MFPPush.initialize(success, failure) MFPPush 인스턴스를 초기화합니다.
MFPPush.isPushSupported(success, failure) 디바이스가 푸시 알림을 지원하는지 확인합니다.
MFPPush.registerDevice(options, success, failure) 디바이스를 푸시 알림 서비스에 등록합니다.
MFPPush.getTags(success, failure) 푸시 알림 서비스 인스턴스에서 사용 가능한 모든 태그를 검색합니다.
MFPPush.subscribe(tag, success, failure) 특정 태그에 등록합니다.
MFPPush.getSubsciptions(success, failure) 디바이스가 현재 등록된 태그를 검색합니다.
MFPPush.unsubscribe(tag, success, failure) 특정 태그에서 등록 취소합니다.
MFPPush.unregisterDevice(success, failure) 푸시 알림 서비스에서 디바이스를 등록 취소합니다.

API 구현

초기화

MFPPush 인스턴스를 초기화합니다.

  • 클라이언트 애플리케이션이 올바른 애플리케이션 컨텍스트를 사용하여 MFPPush 서비스에 연결하기 위해 필요합니다.
  • 다른 MFPPush API를 사용하기 전에 먼저 API 메소드를 호출해야 합니다.
  • 수신된 푸시 알림을 처리하도록 콜백 함수를 등록합니다.
MFPPush.initialize (
    function(successResponse) {
        alert("Successfully intialized");
        MFPPush.registerNotificationsCallback(notificationReceived);
    },
    function(failureResponse) {
        alert("Failed to initialize");
    }
);

푸시가 지원되는지 여부

디바이스가 푸시 알림을 지원하는지 확인합니다.

MFPPush.isPushSupported (
    function(successResponse) {
        alert("Push Supported: " + successResponse);
    },
    function(failureResponse) {
        alert("Failed to get push support status");
    }
);

디바이스 등록

디바이스를 푸시 알림 서비스에 등록합니다. 옵션이 필요하지 않은 경우 options를 null로 설정할 수 있습니다.

var options = { };
MFPPush.registerDevice(
    options,
    function(successResponse) {
        alert("Successfully registered");
    },
    function(failureResponse) {
        alert("Failed to register");
    }
);

태그 가져오기

푸시 알림 서비스에서 사용 가능한 모든 태그를 검색합니다.

MFPPush.getTags (
    function(tags) {
        alert(JSON.stringify(tags));
},
    function() {
        alert("Failed to get tags");
    }
);

등록

원하는 태그에 등록합니다.

var tags = ['sample-tag1','sample-tag2'];

MFPPush.subscribe(
    tags,
    function(tags) {
        alert("Subscribed successfully");
    },
    function() {
        alert("Failed to subscribe");
    }
);

등록 가져오기

디바이스가 현재 등록된 태그를 검색합니다.

MFPPush.getSubscriptions (
    function(subscriptions) {
        alert(JSON.stringify(subscriptions));
    },
    function() {
        alert("Failed to get subscriptions");
    }
);

등록 취소

태그에서 등록 취소합니다.

var tags = ['sample-tag1','sample-tag2'];

MFPPush.unsubscribe(
    tags,
    function(tags) {
        alert("Unsubscribed successfully");
    },
    function() {
        alert("Failed to unsubscribe");
    }
);

등록 취소

푸시 알림 서비스 인스턴스에서 디바이스를 등록 취소합니다.

MFPPush.unregisterDevice(
    function(successResponse) {
        alert("Unregistered successfully");
    },
    function() {
        alert("Failed to unregister");
    }
);

푸시 알림 처리

등록된 콜백 함수에서 해당 응답 오브젝트에 대해 조작을 수행하여 수신된 푸시 알림을 처리할 수 있습니다.

var notificationReceived = function(message) {
    alert(JSON.stringify(message));
};

샘플 애플리케이션의 이미지

샘플 애플리케이션

Cordova 프로젝트를 클릭하여 다운로드하십시오.

참고: 샘플을 실행할 Android 디바이스에 Google Play Services의 최신 버전이 설치되어 있어야 합니다.

샘플 사용법

샘플의 README.md 파일에 있는 지시사항을 따르십시오.

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on February 26, 2020