출저 : http://blog.canapio.com/34
// Developer var options = { gateway : "gateway.sandbox.push.apple.com", cert: './keys2/cert_production.pem', key: './keys2/key_production.pem', production: false };
// AppStore 배포, Adhoc 배포 var options = { gateway : "gateway.push.apple.com",//"gateway.sandbox.push.apple.com", cert: './keys2/cert_production.pem', key: './keys2/key_production.pem', production: true };
var myDeviceArray = [ ] for (var i=0; i<results.length; i++) { var token = results[i]._id;//'앞에서 Xcode로 build 하면서 획득한 아이폰 디바이스 토큰을 입력한다.' var myDevice = new apn.Device(token); myDeviceArray.push(myDevice); } try { apnConnection.pushNotification(note, myDeviceArray); } catch (e) { console.log("apn exception : " + e); }
apnConnection.pushNotification(note, myDeviceArray);
상단에 node-gcm를 불러오고
var gcm = require('node-gcm');
// or with object values var message = new gcm.Message({ collapseKey: 'demo', delayWhileIdle: true, timeToLive: 3, data: { lecture_id:"notice", title:"제목입니다", desc: "설명입니다", param1: '첫번째파람', param2: '두번째파람' } }); var server_access_key = '/*안드로이드 개발자가 넘겨준 서버키*/'; var sender = new gcm.Sender(server_access_key); var registrationIds = [ ]; // 여기에 pushid 문자열을 넣는다. registrationIds = ['/*안드로이드 단말기에서 나온 푸시 아이디*/']; /* for (var i=0; i<push_ids.length; i++) { registrationIds.push(push_ids[i]); } */ // 푸시를 날린다! sender.send(message, registrationIds, 4, function (err, result) { // 여기서 푸시 성공 및 실패한 결과를 준다. 재귀로 다시 푸시를 날려볼 수도 있다. console.log(result); });
이상 서버사이드 아이폰, 안드로이드 푸시 알림이였습니다.