Can’t save APNS settings for Azure Notification Hub: Error updating notification hub (SubCode=40000. Failed to validate credentials with APNS)

In this article I’ll show you how to fix the “Error updating notification hub” issue when you’re trying to setup your Apple Push Notification Service using the (APNS) settings screen for your Azure Notification Hub using the token-based authentication approach (using the key from a .P8 file).

Setting Up Notifications For Your Xamarin Project

Microsoft has many great resources that help developers to implement the wildest of solutions. And they tend to document them very well.

Once in a while though, you might get stuck even when you’re following their very instructions step-by-step.

Microsoft has very nice documentation on how to set up push notifications using their Azure Notification Hub service:

Tutorial: Send push notifications to Xamarin.Forms apps using Azure Notification Hubs via a backend service

In this tutorial, you get step-by-step information on how to:

  • Set up Push Notification Services and Azure Notification Hubs.
  • Create an ASP.NET Core Web API backend application.
  • Create a cross-platform Xamarin.Forms application.
  • Configure the native Android project for push notifications.
  • Configure the native iOS project for push notifications.
  • Test the solution.

The tutorial indicates that for Apple, the token-based authentication approach (which is indicated as “OPTION 2” throughout the tutorial) is the most recent and preferred way to setup your ASPN connection. So that’s what I chose to setup.

But as I was following the steps precisely as described, I could not configure the ASPN settings for my notification service.

APNS settings screen for Azure Notification Hub
The APNS settings screen to setup Apple Push Notifications for your Azure Notification Hub

The error that I kept getting while filling out all the information and after pressing Save, was “Error updating notification hub”:

APNS settings update error for azure notification hub
This is the error that showed up as an alert in the upper right corner 🙈.

I tried and tried, checking all the information that was needed and to see if I made an error copy pasting somewhere (like the key from the P8 file that was being used for the “Token” field in the setup screen).

But nothing helped.

What’s Going On?

In order to find out what was going on, I was going to dive into what was causing the error.
Because the message “error updating notification hub” really isn’t telling us much now, is it?

In order to find the reason behind this error, I did the following:

  1. click on the Notifications icon (the bell) in the top right bar so it shows them most recent notifications
  2. I clicked the “More events in the activity log” link
Azure alerts when APNS settings failed to save for azure notification hub
This is the notifications overview with the link to the activity log

The activity log shows the activity that has been going on on your Azure account and in the case of our “error updating notification hub” error, it showed the failed update attempt as well:

The activity log shows the events and details of every activity in your Azure account
The activity log shows a detailed message about what’s going on

The message for the failed update attempt shows what might be wrong:

“On or more of the following properties is incorrect: APNS Token, Key Id or Applciation Id…

The reason for the error

Now we’re getting somewhere.

As I mentioned, I validated the information multiple times and I was sure of the following:

  • the APNS token was copied correctly
  • I used the right Key Id 💯
  • Application Id is the reversed URL name specification, which is shown as the “Bundle Id” on the configuration screen (which I entered correctly for sure)

That only left me thinking that my Team Id might be wrong?

And that was exactly what caused the error in my case:

  • In basic Apple account setups, the App Id (ie: com.yourcompany.yourapp) is prefixed by the Team ID
  • I entered the App ID prefix ( 2XXXXXX) as the Team Id
App details showing an app prefix for APNS in Azure Notification Hub

The tutorial actually tells you to note this prefix to use it later on:
OPTION 2: Creating a p8 certificate that can be used for token-based authentication
1. Make note of the following details:
App ID Prefix (Team ID)
– Bundle ID

But when I got to check out my Apple Membership page, It indicated that my Team Id was a different one than the one used as prefix for my App Id.

Why that is the case is probably another post, but i think it’s that way because I’ve teamed up with other parties and re-enabled my account in the past.

Apple Membership page showing the right team ID for APNS settings in Azure Notification Hub
The Team Id on the Membership page isn’t the same one as the App Id’s prefix number.

The Team ID was NXXXXXX.

As soon as I copy-pasted in that as the Team Id and entered all the other settings conform the tutorial, I was good to go!

To Conclude

In this post, you’ve learned the following things:

  • If there’s an error in Azure while configuring something, you can consult the activity log to find out what’s going on
  • Team Id’s aren’t necessarily the same as the App Id’s prefix number
  • When you can’t save your APNS settings for your Notification Hub, check your Membership page for the Team Id

I hope this saves you some time so you can setup your Notification Hub and get on with implementing awesome solutions.

Code Hard, Ship Harder! 🔥

This post is also published on Medium