다음은 웹푸시를 처리하는 pushme 서비스를 이용하는 방법입니다.
PC, 안드로이드, iOS를 지원하고
iOS인 경우는 설치형 PWA를 지원합니다.
https://pushy.me/
let libLoad = Jinja.require.load("pushy.me",{
"css": [
],
"js": [
"https://sdk.pushy.me/web/1.0.13/pushy-sdk.js"
]
});
form.topicposting=()=>{
let url = `https://api.pushy.me/push?api_key={userKey}`;
let data = {
"to": "/topics/news",
"data": {
"message": "Hello World!news"
},
"notification": {
"title": "Test Notification",
"body": "Hello World news \u270c",
"badge": 1,
"sound": "ping.aiff"
}
};
Jinja.ajax.proxyPost(url,{
"url": url,
"header": {
'Content-Type': 'application/json'
},
"data": Jinja.global.string(data)
})
}
form.posting=()=>{
let url = `https://api.pushy.me/push?api_key={userKey}`;
let data = {
"to": "b330bf044365ca1058b7b5",
"data": {
"message": "Hello World!11"
},
"notification": {
"title": "Test Notification",
"body": "Hello World 11 \u270c",
"badge": 1,
"sound": "ping.aiff"
}
};
Jinja.ajax.proxyPost(url,{
"url": url,
"header": {
'Content-Type': 'application/json'
},
"data": Jinja.global.string(data)
})
}
form.topic=async()=>{
if (Pushy.isRegistered()) {
Pushy.subscribe('news').catch(function (err) {
alert('Subscribe failed: ' + err.message);
});
}
}
form.pushyRegister=async()=>{
try {
const deviceToken = await Pushy.register({
"appId": '{userApi}',
"serviceWorkerRegistration": Jinja.sw.registration,
});
alert('Pushy 등록 완료! 디바이스 토큰: '+ deviceToken);
} catch (err) {
alert(err);
}
}