0

Titanium 5.2.2 Appcelerator Studio 4.5.0 iOS 9.0 Geräte iPhone SETitanium Push-Benachrichtigungen ios Fehler-Callback scheint nicht zu feuern, wenn Benutzerbenachrichtigungen verweigert drücken

Wenn der Benutzer Meldungen dementiert drücken keiner der Rückrufe werden ausgelöst. Dies blockiert leider den Benutzerfluss. Hat jemand eine Lösung für dieses Problem gefunden?

function registerForPushNotifications(callback){ 
var deviceToken = null; 
// Check if the device is running iOS 8 or later 
if (Ti.Platform.name == "iPhone OS" && parseInt(Ti.Platform.version.split(".")[0]) >= 8) { 

    // 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 
     ] 
    }); 

    // Process incoming push notifications 
    function receivePush(e) { 
     alert('Received push: ' + JSON.stringify(e)); 
    } 

    // Save the device token for subsequent API calls 
    function deviceTokenSuccess(e) { 
     Ti.API.info("Registered for push notifications"); 
     deviceToken = e.deviceToken; 
     callback(deviceToken); 
    } 

    function deviceTokenError(e) { 
     alert('Failed to register for push notifications! ' + e.error); 
     callback(); 
    } 

} 

}

Antwort

1

Push-Rückrufe nicht ausgelöst werden, wenn der Benutzer Push-to-Aktivierung verweigert.

Von "Dies blockiert den Benutzerfluss leider" Wenn Sie meinen, dass Sie Ihren Code nur weiter ausgeführt haben, wenn Gerät erfolgreich für Push registriert ist, dann möchte ich Ihnen vorschlagen, dass der Push-Code in a separate Datei oder Funktion und halten Sie Ihren verbleibenden App-Code unabhängig von Push-Code.

Um zu wissen, ob Ihr Gerät erfolgreich für Push registriert ist, empfehle ich Ihnen, Variablen zu verwenden, da Sie sich nie auf Push-Code verlassen können, um Ihren gesamten verbleibenden App-Code auszuführen.

Wenn Sie etwas anderes meinen, dann teilen Sie bitte weitere Informationen. Danke

Verwandte Themen