Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PUSH not showing when App is open

My application receives push notifications well when the application is closed. But when the app is running, I get nothing. This is the same code that I have used in previous apps with out any problems, those were on WindowsPhone8 and the new apps are running on WindowsPhone8.1 devices.

I used this Push Tutorial when I made the original app. I do have the line that says add this if you want to receive notifications while the app is open.

If the 8.1 update has done something to the push notifications that would be good to know. Anything else would also be appreciated.

HttpNotificationChannel pushChannel;
string channelName = "PushChannel";
pushChannel = HttpNotificationChannel.Find(channelName);
//Push Notifications
if (pushChannel == null)

{
    pushChannel = new HttpNotificationChannel(channelName);

    //// Register for all the events before attempting to open the channel.
    pushChannel.ChannelUriUpdated += 
      new EventHandler<NotificationChannelUriEventArgs>(
         PushChannel_ChannelUriUpdated);
    pushChannel.ErrorOccurred += 
      new EventHandler<NotificationChannelErrorEventArgs>(
         PushChannel_ErrorOccurred);

    // Register for this notification only if you need to receive 
    // the notifications while your application is running.
    pushChannel.ShellToastNotificationReceived += 
      new EventHandler<NotificationEventArgs>(
         PushChannel_ShellToastNotificationReceived);

    pushChannel.Open();

    // Bind this new channel for toast events.
    pushChannel.BindToShellToast();

}
else...



void PushChannel_ShellToastNotificationReceived(object sender, 
                                                         NotificationEventArgs e)

{
    string relativeUri = string.Empty;

    // Parse out the information that was part of the message.
    foreach (string key in e.Collection.Keys)

    {
        if (string.Compare(
        key,
        "wp:Param",
        System.Globalization.CultureInfo.InvariantCulture,
        System.Globalization.CompareOptions.IgnoreCase) == 0)

        {
            relativeUri = e.Collection[key];
        }


    }
}
like image 361
Seige Avatar asked Oct 28 '14 03:10

Seige


People also ask

Why am I not getting my push notifications?

Make sure notifications are enabled for the apps you want. Check your battery-saving settings. You can adjust power settings on your Android to disable apps or app features when the battery drops below a certain level. Battery Saver Mode is a common culprit for notification issues.

Why are my push notifications not showing up on iPhone?

You can fix an iPhone that's not getting notifications by restarting it or making sure notifications are turned on. You should also make sure your iPhone is connected to the internet so apps can receive notifications. If all else fails, you should try resetting the iPhone — just make sure to back it up first.


1 Answers

Rob Caplan:

Toasts aren't expected to display when the app is in the foreground. The app is expected to show its own UI, if needed (your snippet doesn't show anything). This is what the ShellToastNotificationReceived event is for: it fires when a toast notification arrives instead of the toast showing up. Can you confirm that ShellToastNotificationReceived isn't raised when you expect the toast? It should be. Can you confirm that it is registered for and received (or not) in the debugger? See msdn.microsoft.com/en-us/library/windows/apps/…

Me:

Before the 8.1 Update, when an open app received a PUSH, the toast would still show. I just did some testing, and sure enough, the "PushChannel_ShellToastNotificationReceived" event is still being fired, but the toast not showing. I guess this just means I need to handle it different. If you want to turn that into an answer, I can award it the bounty.

like image 163
Seige Avatar answered Sep 28 '22 22:09

Seige