마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹에서 앱으로 푸시메세지를 보낼 수 있도록 GCM서버?를 구현하려 합니다

0 추천
 
PushServerURL = "https://android.googleapis.com/gcm/send"  
'  브라우저APIkey  
ApplicationAPIKey = "android_api_key"   
' regId(받을사람이 지급받은 registration_ids - 여러명일 경우 배열로 받아처리하면 될 듯 최대 1000)  
RegId = "디바이스_id"   

' 알림 제목  
contentTitle = "테스트 제목" 
' 알림 내용  
message = "테스트"  

postJSONData = "" & _
"{" & _
"  ""registration_ids"" : [ """ & RegId & """ ]" & _
", ""data"": {" & _
"               , ""title"" : """ & contentTitle & """" & _
"               , ""msg"" : """ & message & """" & _ 
"            }" & _
"}"  

Set httpObj = Server.CreateObject("WinHttp.WinHttpRequest.5.1")  
httpObj.open "POST" , PushServerURL, False 
httpObj.SetRequestHeader "Content-Type", "application/json" 
httpObj.SetRequestHeader "Authorization", "key=" & ApplicationAPIKey  
httpObj.Send postJSONData  
httpObj.WaitForResponse    

If httpObj.Status = "200" Then  
response.Write("전송성공 : " & httpObj.ResponseText) 
Else  
response.Write("전송실패 : " & httpObj.ResponseText)  
End If 

위의 소스는 asp에서 작성된 코드구요

서버에 접속할 수 없습니다 라는 메세지가 나오는데.. 그 이유를 전혀 모르겠어서 염치 불구하고 질문을 올립니다...

 
다른 방법을 찾다가 아래와 같은 방법으로 해결해 보려 했으나 아래방법 또한 정상적으로 작동이 안되네요 ㅠㅠ
	var api_key = "android_api_key";
		var regid = "APA91bG8qGW-3t5MgmUtYdMnxbp.............";
	
		var sender_id = "프로젝트number";

		$.ajax({ 
			beforeSend: function(xhrObj){ 
			xhrObj.setRequestHeader("Content-Type","application/json=charset=UTF-8"); 
			xhrObj.setRequestHeader("Authorization","key="+api_key); 
		
			}, 
			url: "https://android.googleapis.com/gcm/send", 
			type: "POST", 
			dataType: "json",
			registration_id : regid,
			SENDER_ID : sender_id,
			data:{
				"title" : "푸시테스트",
				"msg" : "GCM 테스트"
			},
			success: function(data) {  
				alert("성공"); 
			}, 
			error: function(data) { 
				alert("에러:"); 
				console.log(data);
			} 
		}); 

 

어느부분이 잘못된것인지.. 알려주시면 참고하도록 하겠습니다...!!

뿌뿌뿡 (340 포인트) 님이 2015년 2월 17일 질문
뿌뿌뿡님이 2015년 2월 17일 태그 변경

1개의 답변

0 추천
위쪽 코드에

charset=UTF-8

속성을 줘 보셔요...
nicehee (73,100 포인트) 님이 2015년 2월 17일 답변
...