Przeglądaj źródła

앱 수신동의 관련 수정

jsshin 4 lat temu
rodzic
commit
e58f6e3d16

+ 37 - 31
src/main/webapp/WEB-INF/views/mob/app/SettingFormMob.html

@@ -107,18 +107,20 @@
 
 		// 앱으로 푸시 상태값 조회. 앱에서 settingsSwtichPush, settingsSwtichAdvertise 함수를 호출함.
 		if (_isApp === 'true') {
-			if (_osType === 'A') {
-				window.style24.isPushEnable(); // 정보성(푸시수신 API) settingsSwtichPush
-				window.style24.isAdEnable();   // 마케팅성(광고푸시 API) settingsSwtichAdvertise
-			} else if (_osType === 'I') {
-				// 아래와 같이 호출 시 settingsSwtichPush, settingsSwtichAdvertise 함수가 앱에서 호출됨
-				window.webkit.messageHandlers.isPushEnable.postMessage({"dummy":"dummy"});
-				window.webkit.messageHandlers.isAdEnable.postMessage({"dummy":"dummy"});
-			}
+			fnIsEnable();
 		}
 
 	});
 
+	var fnIsEnable = function () {
+		if (_osType === 'A') {
+			window.style24.isPushEnable(); // 정보성(푸시수신 API) settingsSwtichPush
+			window.style24.isAdEnable();   // 마케팅성(광고푸시 API) settingsSwtichAdvertise
+		} else if (_osType === 'I') {
+			window.webkit.messageHandlers.isPushEnable.postMessage({'dummy':'dummy'}); // 정보성(푸시수신 API) settingsSwtichPush
+			window.webkit.messageHandlers.isAdEnable.postMessage({'dummy':'dummy'}); // 마케팅성(광고푸시 API) settingsSwtichAdvertise
+		}
+	}
 
 	// 앱에서 호출되는 함수(앱푸시)
 	var settingsSwtichPush = function(onOff) {
@@ -129,7 +131,8 @@
 		}
 
 		if (isLogin) {
-			// 데이터 상 앱푸시 여부(Y/N) 이랑 기기에 등록된 푸시수신 여부(ON/OFF)
+			// 데이터 상 앱푸시 여부(Y/N) 이랑
+			// 핑거푸시에 등록된 푸시수신 여부(ON/OFF)
 			if (appAgreeYn === 'Y' && onOff === 'OFF') {
 				fnAppPushAgreeUpdate('N');
 			} else if (appAgreeYn === 'N' && onOff === 'ON') {
@@ -147,7 +150,8 @@
 		}
 
 		if (isLogin) {
-			// 데이터 상 마케팅동의 여부(Y/N) 이랑 기기에 등록된 푸시수신 여부(ON/OFF)
+			// 데이터 상 마케팅동의 여부(Y/N) 이랑
+			// 핑거푸시에 등록된 푸시수신 여부(ON/OFF)
 			if (appMkAgreeYn === 'Y' && onOff === 'OFF') {
 				fnAppMkAgreeUpdate('N');
 			} else if (appMkAgreeYn === 'N' && onOff === 'ON') {
@@ -160,19 +164,12 @@
 		let appAgreeYn;
 		if (_isApp === 'true') {
 			if ($(this).is(":checked")) {
-				if (_osType === 'A') {
-					window.style24.pushEnable('ON');
-				} else if (_osType === 'I') {
-					window.webkit.messageHandlers.pushEnable.postMessage({"status":"ON"});
-				}
+				fnSetAppPush('ON');
 				appAgreeYn = 'Y';
 			} else {
-				if (_osType === 'A') {
-					window.style24.pushEnable('OFF');
-					window.style24.adEnable('OFF'); // 정보성 푸시가 상위 개념이라 마케팅도 같이 OFF가 되어여함
-				} else if(_osType === 'I') {
-					window.webkit.messageHandlers.pushEnable.postMessage({"status":"OFF"});
-				}
+				// 정보성 푸시가 상위 개념이라 마케팅도 같이 OFF가 되어여함
+				fnSetAppPush('OFF');
+				fnSetAdPush('OFF');
 				appAgreeYn = 'N';
 			}
 			if (isLogin) {
@@ -189,18 +186,10 @@
 		let mkAgreeYn;
 		if (_isApp === 'true') {
 			if ($(this).is(":checked")) {
-				if (_osType === 'A') {
-					window.style24.adEnable('ON');
-				} else if (_osType === 'I') {
-					window.webkit.messageHandlers.adEnable.postMessage({"status":"ON"});
-				}
+				fnSetAdPush('ON');
 				mkAgreeYn = 'Y';
 			} else {
-				if (_osType === 'A') {
-					window.style24.adEnable('OFF');
-				} else if(_osType === 'I') {
-					window.webkit.messageHandlers.adEnable.postMessage({"status":"OFF"});
-				}
+				fnSetAdPush('OFF');
 				mkAgreeYn = 'N';
 			}
 			if (isLogin) {
@@ -209,6 +198,23 @@
 		}
 	});
 
+	// 정보성 푸시 On,Off 처리
+	var fnSetAppPush = function (appPushOnOff) {
+		if (_osType === 'A') {
+			window.style24.pushEnable(appPushOnOff);
+		} else if (_osType === 'I') {
+			window.webkit.messageHandlers.pushEnable.postMessage({'status':appPushOnOff});
+		}
+	}
+
+	// 마케팅 푸시 On,Off 처리
+	var fnSetAdPush = function (mkPushOnOff) {
+		if (_osType === 'A') {
+			window.style24.adEnable(mkPushOnOff);
+		} else if (_osType === 'I') {
+			window.webkit.messageHandlers.adEnable.postMessage({'status':mkPushOnOff});
+		}
+	}
 
 	// 앱푸시동의 데이터 처리
 	var fnAppPushAgreeUpdate = function (appAgreeYn) {

+ 13 - 16
src/main/webapp/WEB-INF/views/mob/common/fragments/FooterMob.html

@@ -377,28 +377,25 @@
 
 	// 앱마케팅 푸시 수신동의
 	$(document).on('click','#btnMkPushAgree',function() {
-		if (_isApp === 'true') {
-			if ( _osType === 'A') {
-				window.style24.setPushSetting("ON", "ON");
-			} else if (_osType === 'I') {
-				window.webkit.messageHandlers.setPushSetting.postMessage({"pushStat":"ON", "advertisePushStat":"ON"});
-			}
-			$('#alramHide').hide();
-		}
+		$('#alramHide').hide();
+		fnSetPush('ON', 'ON');
 	});
 
 	// 앱마케팅푸시 수신거부
 	$(document).on('click','#btnMkPushClose',function() {
-		if (_isApp === 'true') {
-			if (_osType === 'A') {
-				window.style24.setPushSetting("ON", "OFF");
-			} else if (_osType === 'I') {
-				window.webkit.messageHandlers.setPushSetting.postMessage({"pushStat":"ON", "advertisePushStat":"OFF"});
-			}
-			$('#alramHide').hide();
-		}
+		$('#alramHide').hide();
+		fnSetPush('ON', 'OFF');
 	});
 
+	var fnSetPush = function(appPushOnOff, mkPushOnOff) {
+		if ( _osType === 'A') {
+			window.style24.pushEnable(appPushOnOff);
+			window.style24.adEnable(mkPushOnOff);
+		} else if (_osType === 'I') {
+			window.webkit.messageHandlers.pushEnable.postMessage({'status': appPushOnOff});
+			window.webkit.messageHandlers.adEnable.postMessage({'status': mkPushOnOff});
+		}
+	}
 
 	if($(".popup_main_notice").hasClass("active")){
 		$("body").css({"overflow":"hidden"});

+ 38 - 17
src/main/webapp/WEB-INF/views/mob/customer/JoinCompleteFormMob.html

@@ -92,16 +92,10 @@
 	</main>
 <script th:inline="javascript">
 	const maskingCustId = [[${maskingCustId}]];
-	let appAgreeYn = 'Y';
 	$(document).ready(function(){
 		if (_isApp === 'true') {
 			if (gagajf.isNull(maskingCustId)) {
-				if (_osType === 'A') {
-					window.style24.setCustNo([[${custNo}]]);
-					//window.style24.isPushEnable();
-				} else if (_osType === 'I') {
-					//window.webkit.messageHandlers.isPushEnable.postMessage({"dummy":"dummy"});
-				}
+				fnIsPushEnable(); // APP, 마케팅 PUSH 여부에 따라 회원테이블 데이터 저장
 			}
 		}
 	});
@@ -109,29 +103,56 @@
 	// 앱에서 호출되는 함수(앱푸시)
 	var settingsSwtichPush = function(onOff) {
 		if (onOff === 'ON') {
-			appAgreeYn = 'Y';
-			window.style24.isAdEnable();
-			window.webkit.messageHandlers.isAdEnable.postMessage({"dummy":"dummy"});
-		} else if (onOff === 'OFF') {
-			appAgreeYn = 'N';
-			// window.style24.setCustNo([[${custNo}]],'OFF', 'OFF');
-			fnUpdatePush(appAgreeYn, 'N');
+			fnIsAdEnable();
+		} else if (onOff === 'OFF') { //정보성 PUSH가 OFF 이면 마케팅 PUSH도 OFF여야 한다.
+			fnSetPush('OFF', 'OFF');
+			fnUpdatePush('N', 'N');
 		}
 	}
 
 	// 앱에서 호출되는 함수(마케팅동의)
 	var settingsSwtichAdvertise = function (onOff) {
+		let appAgreeYn = 'Y';
 		let mkAgreeYn = 'N';
 		if (onOff === 'ON') {
 			mkAgreeYn = 'Y';
-		// window.style24.setCustNo([[${custNo}]],'ON', 'ON');
+			fnSetPush('ON', 'ON');
 		} else if (onOff === 'OFF'){
 			mkAgreeYn = 'N';
-		// window.style24.setCustNo([[${custNo}]],'ON', 'OFF');
+			fnSetPush('ON', 'OFF');
 		}
 		fnUpdatePush(appAgreeYn, mkAgreeYn);
 	}
-	
+
+	// 정보성 PUSH ON, OFF 여부 확인
+	// 호출시 앱에서 settingsSwtichPush 호출 해서 ON, OFF 값을 param 값으로 준다.
+	var fnIsPushEnable = function () {
+		if (_osType === 'A') {
+			window.style24.isPushEnable();
+		} else if (_osType === 'I') {
+			window.webkit.messageHandlers.isPushEnable.postMessage({'dummy':'dummy'});
+		}
+	}
+
+	// 마케팅 PUSH ON, OFF 여부확인
+	// 호출시 앱에서 settingsSwtichAdvertise 호출 해서 ON, OFF 값을 param 값으로 준다.
+	var fnIsAdEnable = function () {
+		if (_osType === 'A') {
+			window.style24.isAdEnable();
+		} else if (_osType === 'I') {
+			window.webkit.messageHandlers.isAdEnable.postMessage({'dummy':'dummy'});
+		}
+	}
+
+	// 핑거푸시 API 고객번호로 ON,OFF 여부 셋팅
+	var fnSetPush = function(appPushOnOff, mkPushOnOff) {
+		if (_osType === 'A') {
+			window.style24.setCustNo([[${custNo}]], appPushOnOff, mkPushOnOff);
+		} else if (_osType === 'I') {
+			window.webkit.messageHandlers.setCustNo.postMessage({'custNo':[[${custNo}]], 'pushStat':appPushOnOff, 'advertisePushStat':mkPushOnOff});
+		}
+	}
+
 	var fnUpdatePush = function (appAgreeYn, mkAgreeYn) {
 		let params = {}
 		params.appAgreeYn = appAgreeYn;