<!DOCTYPE html>
<html>
<head>
<meta charset=
"utf-8"
/>
<meta name=
"format-detection"
content=
"telephone=no"
/>
<meta name=
"msapplication-tap-highlight"
content=
"no"
/>
<meta name=
"viewport"
content=
"user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"
/>
<link rel=
"stylesheet"
type=
"text/css"
href=
"css/index.css"
/>
<script type=
"text/javascript"
>
function
tokenHandler(result){
console.log(
'deviceToken:'
+ result);
}
function
errorHandler(err){
console.log(
'error:'
+ err);
}
function
successHandler(result){
console.log(
'result:'
+result);
}
function
onNotificationAPN (event){
if
(event.alert){
navigator.notification.alert(event.alert);
}
if
(event.sound){
var
snd =
new
Media(event.sound);
snd.play();
}
if
(event.badge){
window.plugins.pushNotification.setApplicationIconBadgeNumber(successHandler, errorHandler, event.badge);
}
}
function
onNotificationGCM (e){
switch
(e.event) {
case
'registered'
:
{
console.log(e.regid);
$(
'#token'
).val(e.regid);
break
;
}
case
'message'
:
{
if
(e.foreground){
var
soundfile = e.soundname || e.payload.sound;
var
my_media =
new
Media(
"/android_asset/www/"
+ soundfile);
my_media.play();
}
else
{
if
(e.coldstart) {
console.log(
"알림 왔을 때 앱이 열리고 난 다음에 실행 될때"
);
}
else
{
console.log(
"앱이 백그라운드로 실행될 때"
);
}
}
console.log(e.payload.title+
"푸시받음"
);
navigator.notification.alert(e.payload.msg,
null
,e.payload.title,
'Confirm'
);
}
break
;
case
'error'
:
console.log(
'error:'
+ e.msg);
break
;
case
'default'
:
console.log(
'알수 없는 이벤트'
);
break
;
}
}
document.addEventListener(
"deviceready"
,
function
(){
console.log(device.platform);
if
(device.platform.toUpperCase() ==
'ANDROID'
){
window.plugins.pushNotification.register(successHandler,errorHandler, {
"senderID"
:
"sender ID"
,
"ecb"
:
"onNotificationGCM"
});
}
else
{
window.plugins.pushNotification.register(tokenHandler, errorHandler, {
"badge"
:
"true"
,
"sound"
:
"true"
,
"alert"
:
"true"
,
"ecb"
:
"onNotificationAPN"
});
}
});
</script>
<script type=
"text/javascript"
>
function
insert(){
var
formData = $(
"#memForm"
).serialize();
alert(formData);
$.ajax({
type:
"POST"
,
data:formData,
success:
function
(data){
alert(
"회원가입 성공!"
);
location.reload();
},
error:
function
(request,status,error){
alert(
"code:"
+request.status+
"\n"
+
"message:"
+request.responseText+
"\n"
+
"error:"
+error);
}
});
}
function
pushTest(){
$.ajax({
type:
"POST"
,
success:
function
(data){
alert(
"푸시알림 성공?"
);
},
error:
function
(request,status,error){
alert(
"code:"
+request.status+
"\n"
+
"message:"
+request.responseText+
"\n"
+
"error:"
+error);
}
});
}
</script>
<title>Hello World</title>
</head>
<body>
<div class=
"app"
>
<h1>PhoneGap</h1>
<form id=
"memForm"
>
<div role=
"main"
class=
"ui-content"
data-inset=
"false"
>
<input type=
"hidden"
name=
"token"
id=
"token"
value=
""
>
<input type=
"text"
name=
"id"
>
<input type=
"password"
name=
"pw"
>
<input type=
"text"
name=
"email"
>
<input type=
"button"
onclick=
"insert()"
value=
"회원가입"
>
<input type=
"button"
onclick=
"pushTest()"
value=
"푸시알림"
>
</div>
</form>
</div>
<script type=
"text/javascript"
src=
"cordova.js"
></script>
<script type=
"text/javascript"
src=
"js/index.js"
></script>
<script type=
"text/javascript"
>
app.initialize();
</script>
</body>
</html>