안규 공부방

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() 을 이용해 처리하면 무난하게 개발이 가능할거 같다.










 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.