ACTIVE SERVER PAGE > classic ASP FCM (푸시) 서버 예제
등록일 : 2022-02-26 12:52
조회수 : 95,336
Response.charset = "EUC-KR"
Server.ScriptTimeOut=300
posturl = "https://fcm.googleapis.com/fcm/send"
'파이어베이스에서 받은 서버키
serverkey = "AAAAmx3d5H8:AP..."
push_title = "안녕하세요 - 엔터소프트 입니다."
push_contents = "푸시알람 내용입니다. 감사합니다."
push_url = "http://ankyu.entersoft.kr"
'전송받을 휴대폰 토큰
token1 = "cTOfHi46TQWOjncK8vzhRd:APA91bE8GIhFtcOX1vu...."
token2 = "dtNTosAASSCSntt1H6apA6:APA91bEMlA26bxheDoMO2..."
body = body &"{"& Chr(34) &"notification"& Chr(34) &":"
body = body & "{"
body = body & Chr(34) &"title"& Chr(34) &":"& Chr(34) & push_title & Chr(34)
body = body & ","
body = body & Chr(34) &"body"& Chr(34) &":"& Chr(34) & push_contents & Chr(34)
body = body & "},"
body = body & Chr(34) &"data"& Chr(34) &":"
body = body & "{"
body = body & Chr(34) &"url"& Chr(34) &":"& Chr(34) & push_url & Chr(34)
body = body & "},"
'푸시받는 사람이 1명인 경우
'body = body & Chr(34) &"to"& Chr(34) &":"
'body = body & Chr(34) & token1 & Chr(34)
'푸시받는 사람이 여러명인 경우 (1~1000)
body = body & Chr(34) & "registration_ids"& Chr(34) &": "
body = body & "["
body = body & Chr(34)& token1 & Chr(34)
body = body & ","
body = body & Chr(34)& token2 & Chr(34)
body = body & "]"
body = body &"}"
'json 구조를 출력해 본다.
'response.write body &"<br><Br>"
set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST",posturl,false
xmlhttp.setRequestHeader "Content-Type", "application/json"
xmlhttp.setRequestHeader "Authorization", "key="&serverkey
xmlhttp.send body
result= xmlhttp.responseText
response.write "<br>"&result
Set xmlhttp = Nothing
asp 로 만든 FCM 푸시전송 소스가 많이 없어서 개발할때 조금 애를 먹은거 같습니다.
도움이 되시길...
푸시기능은 한번에 보낼때 1000 명까지 인걸로 알고 있습니다. 보내야할 갯수가 10000명이라고 가정할때는 어떻게 해야할까..
고민을 한 끝에 '전송'버튼을 눌렀을때, ajax 반복작업으로 전송페이지를 1~2초에 한번씩 전송을 해 주면 될거 같다.
한번전송할때 1000명씩, 10000명이면 10번만 javascript setInterval() 을 이용해 처리하면 무난하게 개발이 가능할거 같다.