Common Troubleshooting Tips and Answers for Windows

Features supported on Windows 10

Urban Airship supports the following features on the Windows 10 platform:

  1. Sending to devices via tags
  2. Sending to a single Device ID
  3. Sending to an alias
  4. API based messaging
  5. Toast launch parameters
  6. Tile support for Windows
  7. Basic Reports

Urban Airship does not support the following features on the Windows 10 platform:

  1. Message Center
  2. Location based messaging (Geofence, location history)
  3. Actions framework (Deep-linking, Open URL, Share, Landing Pages, Add/Remove Tags)
  4. Sending to a segment
  5. Tag Groups
  6. Sending to a Named User
  7. Sending to Windows devices using Lists
  8. Extra Key/Value pairs
  9. Custom Identifiers
  10. SDK Localization
  11. In-app messaging
  12. Interactive Notifications
  13. Automation based messaging
  14. Device Local-time sends
  15. Device Property Tags
  16. API Templates
  17. Urban Airship Connect
  18. Urban Airship Insight
  19. Urban Airship Wallet
  20. RSS Feeds
  21. A/B Tests
  22. Comprehensive Reporting

Platforms supported on Windows 10

Urban Airship only supports Windows 10 on native platforms in Visual Studio. Third-party libraries and frameworks, such as Phonegap, Xamarin, Titanium, and Unity, do not support Windows 10 at this time.

Composer support

Urban Airship only allows push notification sends within the Urban Airship dashboard using the Push Composer tool. This tool does not allow toast launch parameters or tile support for Windows 10.

Channel URL incompatible errors

When setting up your Windows app to be able to send push notifications, your first step in ensuring your app can communicate with your Windows Developer Portal app is linking the app in Visual Studio, to the app in the Store. Note, the app does not need to be live in the Windows Store in order to do this.

Before you begin, please read the steps needed to create your app on Microsoft's website

To associate your app with the Windows Store

  1. In Solution Explorer, right-click your project and then select Store > Associate App with the Store.

  2. In the Associate Your App with the Windows Store dialog box, click Next. You'll be prompted to sign in to the Windows Store.

  3. On the Sign In page, sign in to the Windows Store and then click Next.

  4. On the Select an app name for this package page, select the App Name you have reserved. You can also click Reserve Name to go to the Windows Store to reserve one.

  5. After an app name is selected, click Next.

  6. On the summary page, review the values that you have selected. If it looks good, click Associate. Otherwise, click Previous to go back and fix any errors. Clicking Associate automatically downloads the publisher display name and other values into the app package manifest.

Note, failure to do so will produce an error in Urban Airship, and you will be unable to send push notifications to your device. In order to see if you are running into this error, please check your Urban Airship Error Console. If you are running into this situation, you will see an error such as "Channel URL incompatible with caller app". This means you have not associated the app to the store properly, or are using the incorrect publisher name, publisher ID, and app ID in your package manifest.

How to fix Certificate errors 

Before getting sending a push notification to your Windows device, you will need to set up your Windows Service in your Windows Developer Portal. This consists of obtaining your SID and Client Secret from Microsoft 

Once you've obtained that information, make sure you enter that information into Urban Airship when setting up your services.

Make sure when you are entering in the SID in Urban Airship, that you include the entire string given to you, including the prefix ms-app://

Deep-linking

While iOS and Android support the concept of URL schemes to be able to deep-link or navigate a user to a specific page in the app, Windows 10 handles deep-linking a little differently. Instead of setting up URL schemes, you simply need to reference the .xaml file that you want the app to launch when the user taps on the toast notification.

To do so, you'll need to reference this .xaml file within the payload itself, like so:

curl -X POST -u "[APP KEY]:[MASTER SECRET]" \
-H "Content-Type:application/json" -H "Accept: application/vnd.urbanairship+json; version=3;" \
--data '{"audience":"all","notification":{"wns":{"toast":{"launch":"[NAME OF APP FILE].xaml","binding":{"text":["This is a test WNS toast notification with deep link launch parameter."],"template":"ToastText01"}}}},"device_types":["wns"]}' \
https://go.urbanairship.com/api/push/

However, we're not done yet. The next step you need to take, is telling the app to handle the deep-link you just sent it.

In order to enable this functionality, you will need to add the following code to your OnLaunched override function in your App.xaml.cs file:

if (rootFrame.Content != null && args.Arguments != null && args.Kind == ActivationKind.Launch) //Check if the OnLaunch was called with a "Launch" parameter and an argument 
{
rootFrame.Navigate(typeof([TYPE OF PUBLIC SEALED CLASS NAME OF THE DESTINATION]), args.Arguments); //Navigate to deep link parameter 
}

Windows Silverlight Support

Microsoft provided the ability for Windows 8 and Windows Phone 8 app users to be migrated easily over to Windows 8.1 with the help of Windows Silverlight. This also meant that you could then message Windows Phone 8 users using the WNS platform.

Unfortunately, due to Microsoft announcing that they are no longer supporting Windows Silverlight, this also means that the Urban Airship library for Windows is not compatible with app built with Silverlight. So, in order to continue supporting Windows 10 devices, you will need to utilize the Universal apps within Visual Studio and the Universal library included with the Urban Airship library.

Character limits on toast

Windows devices can display up to 40-47 characters in a toast notification per line, with no word wrapping support

APID generation does not mean app is enabled for push

When you have integrated the Urban Airship library within your Windows application, you might see some logs lines come across within your Visual Studio logs, indicating that the Urban Airship library has initiated properly and communication properly with Urban Airship. If everything is set up correctly, you will be presented with an Urban Airship APID, which will be the ID associated to your device for that specific installation of the app on your device. Reinstalls and redeploys will generate new APIDs for that device.

Note, even though an APID is generated from the SDK, this does not mean that you will be able to successfully send a push notification to your device. You must ensure that you've configured the service properly in Urban Airship and configured your app in the Windows Store properly before you are able to send a push to your device. When an APID is generated, this simply means that app with the Urban Airship library integrated is able to correctly communicate with the Urban Airship app. It is not dependent on successful communication to WNS.

Related Content: