==================== WEB PUSH ==================== 1. 개요 ======== 본 문서는 message.AI에서 제공하는 Web PUSH의 UPMC 서버 연동 API 정의서를 설명하고 있다, 본 문서는 성능 개선, 기능 추가 등의 사항으로 내용이 변경될 수 있다. .. note:: API 호출 시 반환 값 처리 방법 모든 API에 대한 응답은 Promise 형식으로 반환하며, 성공 시 then, 실패 시 catch로 객체를 전달한다. 2. APIs ========= PUSH 서비스 초기화 ------------------ ====== ====================================== 구분 내용 ====== ====================================== API 명 Push 서비스 초기화 Method M.init(String, String, String, Object) 설명 PUSH 서비스를 이용하기 위한 기본 설정 ====== ====================================== * **Parameters** ============ ====== ==== =========================================== 항목 타입 필수 설명 ============ ====== ==== =========================================== APP_ID String Y 어플리케이션 식별 정보 Receiver_URL String Y UPMC의 주소 (https 필수) PUBLIC_KEY String Y 서비스 자가 서명 공개 키 (VAPID Public Key) OPTIONS Object N 알림에서 사용되는 기본 값 ===== ====== ========================= 항목 형식 설명 ===== ====== ========================= title String 알림 제목 url String 알림 클릭 시 링크 URL icon String 알림 표시 기본 아이콘 URL (https 필수) ===== ====== ========================= ============ ====== ==== =========================================== * **Return (Promise)** : 반환값 없음 * **연동 예시** .. code-block:: javascript var M = window.M || []; M.push(function() { // 미지원 브라우저 대응 코드 //서비스그룹아이디는 서비스그룹 상세 화면에서 복사 후 사용하세요. //공개키는 서비스그룹 상세 서비스 설정의 PUSH 목록에서 복사 후 사용하세요. M.init("[서비스그룹아이디-web]", "https://upmc.message-ai.net", "[공개키]", { title: "Web PUSH 수신 시 노출될 타이틀", url: "https://회원사서버URL", icon: "https://회원사서버의이미지.png" }); }); ====================== PUSH 서비스 등록 ---------------- ====== ====================================== 구분 내용 ====== ====================================== API 명 Push 서비스 등록 설명 PUSH 서비스 사용을 위한 토큰 발급 및 서비스 사용 등록 Method M.register(String, String) ====== ====================================== * **Parameters** ===== ====== ==== ======================== 항목 타입 필수 설명 ===== ====== ==== ======================== CUID String Y 어플리케이션 식별 정보 CNAME String Y UPMC의 주소 (https 필수) ===== ====== ==== ======================== * **Return (Promise)** ======= ====== ====================== 항목 타입 설명 ======= ====== ====================== APPID String 어플리케이션 식별 정보 AUTHKEY String 전문 통신 인증 키 PSID String Endpoint URL ======= ====== ====================== * **연동 예시** .. code-block:: javascript M.register("등록대상회원아이디", "등록대상회원명").then(function() { console.log("웹 PUSH 알림이 등록 되었습니다."); }).catch(function(e) { console.log(e); }); PUSH 서비스 해제 ---------------- ====== ====================================== 구분 내용 ====== ====================================== API 명 Push 서비스 해제 Method M.unregister() 설명 PUSH 서비스 사용 해제 ====== ====================================== * **Parameters** : 파라미터 없음 * **Return (Promise)** : 반환값 없음 * **연동 예시** .. code-block:: javascript M.unregisterService().then(function() { alert("알림 서비스 등록이 해지 되었습니다."); }).catch(function(e) { alert("알림 서비스 해지 중 오류가 발생하였습니다.("+e + ")"); }); PUSH 서비스 확인 ---------------- ====== ====================================== 구분 내용 ====== ====================================== API 명 Push 서비스 확인 Method M.isRegistered() 설명 PUSH 서비스 사용 확인 ====== ====================================== * **Parameters** : 파라미터 없음 * **Return (Promise)** ====== ======= ===================================== 항목 타입 설명 ====== ======= ===================================== result boolean 서비스 등록 여부를 true, false로 반환 ====== ======= ===================================== * **연동 예시** .. code-block:: javascript M.isRegistered().then(function(r) { If(r) alert("알림 서비스가 등록되어 있습니다. "); else alert("알림 서비스가 등록되어 있지 않습니다."); }).catch(function(e) { alert("알림 서비스 해지 중 오류가 발생하였습니다.("+e + ")"); });