0

Я пытаюсь определить лучший способ определить, было ли мое приложение открыто, нажав на push-уведомление. Я нашел несколько разных статей в Интернете, которые предлагают другой способ сделать это, но никто, похоже, не работает последовательно на платформах приложений и состояниях.Обнаружение, если приложение Appcelerator было открыто из push-уведомления

Есть ли официальный способ Appcelerator для этого?

ответ

0

Да, есть официальный способ.

if (Ti.Platform.getOsname() !== 'android') { 

    // Wait for user settings to be registered before registering for push notifications 
    Ti.App.iOS.addEventListener('usernotificationsettings', function registerForPush() { 

     // Remove event listener once registered for push notifications 
     Ti.App.iOS.removeEventListener('usernotificationsettings', registerForPush); 

     Ti.Network.registerForPushNotifications({ 
      success: deviceTokenSuccess, 
      error: deviceTokenError, 
      callback: receivePush 
     }); 
    }); 

    // Register notification types to use 
    Ti.App.iOS.registerUserNotificationSettings({ 
     types: [ 
      Ti.App.iOS.USER_NOTIFICATION_TYPE_ALERT, 
      Ti.App.iOS.USER_NOTIFICATION_TYPE_SOUND, 
      Ti.App.iOS.USER_NOTIFICATION_TYPE_BADGE 
     ] 
    }); 
} 
// For Android 
else { 
    var CloudPush = require('ti.cloudpush'); 
    var deviceToken = null; 

// Initialize the module 
    CloudPush.retrieveDeviceToken({ 
     success: deviceTokenSuccess, 
     error: deviceTokenError 
    }); 

    // Process incoming push notifications 
    CloudPush.addEventListener('callback', function (evt) { 
     receivePush(evt); 
    }); 
} 

// Process incoming push notifications 
function receivePush(e) { 
    // alert(e.data); 
} 
Смежные вопросы