Question

So I'm trying the Notification Hubs on Azure.

I have set things up according to this blog post. I have done the GCM setup in my Android code so I have a valid regId:

String connectionString = "Endpoint=sb://<MYNAMESPACE>.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=<MYKEY>";
hub = new NotificationHub("<MYHUB>", connectionString, this);
hub.register(regid, "myTag");

So I get:

com.microsoft.windowsazure.messaging.NotificationHubUnauthorizedException: Unauthorized

on the hub.register method call.

Any ideas?

Was it helpful?

Solution

Unfortunately there is a bug in the management portal that corrupts a NH authorization rules. It will be solved very soon. In the meantime, you can create a new NH from a Console App and Service Bus preview dll with the following code:

NamespaceManager mgr = NamespaceManager.CreateFromConnectionString("<connection string from your namespace>");
var hub = new NotificationHubDescription("myhub");
hub.GcmCredential = new GcmCredential("<your Google API Key>");
mgr.CreateNotificationHub(hub);

Make sure to use the connection string retrieved from the portal in the following way: 1) Click Service Bus on the left pane 2) On the right-pane, select your namespace, then click Connection Information 3) Copy the Connection String for RootAccess, as shown below:

enter image description here

Sorry for the inconvenience.

OTHER TIPS

This issue is resolved now. Use the management portal to manage your notification hub. If the Authorization rules are not present on the Notification Hub then add the rules in the portal and copy the corresponding connection string to use with Notification Hub android API.

The another root cause for this issue is system date time.

Which is not set with correct timezone you will get this exception.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top