Don't like ads? PRO users don't see any ads ;-)
Guest

Android push notifications

By: a guest on Jul 20th, 2012  |  syntax: None  |  size: 2.30 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.  
  2. var win = Ti.UI.createWindow({
  3.         backgroundColor : 'white'
  4. });
  5.  
  6. win.open();
  7.  
  8. var CloudPush = require('ti.cloudpush');
  9. CloudPush.debug = true;
  10. //CloudPush.enabled = true;
  11. var deviceToken;
  12. var Cloud = require('ti.cloud');
  13.  
  14. CloudPush.retrieveDeviceToken({
  15.         success : function deviceTokenSuccess(e) {
  16.                 alert('Device Token: ' + e.deviceToken);
  17.                 deviceToken = e.deviceToken;
  18.                 createrUser(deviceToken);
  19.         },
  20.         error : function deviceTokenError(e) {
  21.                 alert('Failed to register for push! ' + e.error);
  22.         }
  23. });
  24.  
  25. function loginUser(username) {
  26.         Cloud.Users.login({
  27.                 login : username,
  28.                 password : 'logmein'
  29.         }, function(e) {
  30.                 if (e.success) {
  31.                         defaultSubscribe();
  32.                 } else {
  33.                         alert('Error:\\n' + ((e.error && e.message) || JSON.stringify(e)));
  34.                 }
  35.         });
  36. }
  37.  
  38. function createrUser(e) {
  39.         if (!Ti.App.Properties.getString('cloudUser')) {
  40.                 Ti.App.Properties.setString('cloudUser', e)
  41.  
  42.                 Cloud.Users.create({
  43.                         username : e,
  44.                         password : 'logmein',
  45.                         password_confirmation : 'logmein'
  46.                 }, function(e) {
  47.                         if (e.success) {
  48.                                 loginUser(Ti.App.Properties.getString('cloudUser'));
  49.                         } else {
  50.                                 if (e.code == 400) {
  51.                                         loginUser(Ti.App.Properties.getString('cloudUser'));
  52.                                 } else {
  53.                                         alert('Error:\\n' + ((e.error && e.message) || JSON.stringify(e)));
  54.                                 }
  55.                         }
  56.                 });
  57.  
  58.         } else {
  59.                 loginUser(Ti.App.Properties.getString('cloudUser'));
  60.         }
  61.  
  62. }
  63.  
  64. function defaultSubscribe() {
  65.  
  66.         if (!Ti.App.Properties.getString('subscribed')) {
  67.  
  68.                 Cloud.PushNotifications.subscribe({
  69.                         channel : 'alert',
  70.                         device_token : deviceToken,
  71.                         type : 'android'
  72.                 }, function(e) {
  73.                         if (e.success) {
  74.                                 alert('Subscribed!');
  75.                                 Ti.App.Properties.setString('subscribed', true);
  76.                                 CloudPush.enabled = true;
  77.                         } else {
  78.                                 if (e.code == 400) {
  79.                                         Ti.App.Properties.setString('subscribed', true);
  80.                                         CloudPush.enabled = true;
  81.                                 } else {
  82.                                         alert('Error:' + ((e.error && e.message) || JSON.stringify(e)));
  83.                                 }
  84.                         }
  85.                 });
  86.         }
  87. }
  88.  
  89. CloudPush.addEventListener('callback', function(evt) {
  90.         alert(evt);
  91. });
  92. CloudPush.addEventListener('trayClickLaunchedApp', function(evt) {
  93.         Ti.API.info('Tray Click Launched App (app was not running)');
  94. });
  95. CloudPush.addEventListener('trayClickFocusedApp', function(evt) {
  96.         Ti.API.info('Tray Click Focused App (app was already running)');
  97. });