Notificação por push do NotificationHub retorna: O token obtido do provedor de token está errado
Eu tenho o aplicativo Wp8.1 Silverlight que recebe a notificação push (WNS) da Mobileservice (o antigo serviço azul).
Portanto, eu queria atualizar para o novo serviço por causa dos novos recursos. Agora criei / atualizei um novo servidor para usar o Serviço de Aplicativo - Aplicativo Móvel. E testou a notificação por push com o aplicativo de exemplo do azure (tudo funciona).
Voltando ao meu aplicativo WP8.1 -> Adicionando o novo pacoteMicrosoft.Azure.Mobile.Client
através do NuGet (2.0.1), existe o problema de que o Microsoft.WindowsAzure.Mobile.Ext não contém a extensão 'GetPush'. Parece que está faltando? olhando para a versão WP8, ela se registra apenas no MPNS, e eu preciso do WNS. Portanto, não sei se qualquer outra montagem poderia ser usada.
Posso adicionar outra referência de montagem?
Atualizar
O código a seguir permite registrar o dispositivo no servidor e posso ver o registro corretamente. onde ochannelUri
e ainstallationInformation
são recuperados pelo cliente e enviados ao servidor.
Installation ins = new Installation();
ins.Platform = NotificationPlatform.Wns;
ins.PushChannel = uTagAndChan.ChannelUri;
ins.Tags = uTagAndChan.Tags;
ins.InstallationId = uTagAndChan.installationInformation;
await hubClient.CreateOrUpdateInstallationAsync(ins);
O envio de uma notificação de teste de brinde para as tags registradas resulta no seguinte erro:
O token obtido do provedor de token está errado
Pesquisando sobre esta questão, encontreiNotificações por push do aplicativo da Windows Store por meio do Barramento de Serviço do Azure. Que a solução proposta diz para se registrar no hub de notificação diretamente do aplicativo, eu preferiria que o aplicativo não tivesse acesso direto ao hub. Mas esse é o único caminho? (lembre-se de que a resposta não foi aceita, mas tentarei de tudo, embora não seja a solução desejada)
Atualizar
O registro de notificações via cliente (WP8.1 Silverligt) faz um registro no MPNS, o que eu não quero.
O snippet no servidor registra um WNS, os dois registros podem ser vistos aqui:
A recuperação do URI é feita usando
var channel = await Windows.Networking.PushNotifications.PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
que na descrição indica que retorna um WNS. Isso parece inferir que o registro que estou fazendo no servidor (trecho de código na parte superior) está correto e o registro no cliente está com defeito.
Mas o registro na imagem parece errado. Não deveriaPNS Identifier
ser diferente para os dois registros? Além dissoexpiration date
parece errado?
Como consertar isso desde oGetPush()
(que estava disponível na amostra registrou o cliente corretamente para notificações) não existe no pacote NuGet?
Atualizar
Eu li um lugar que excluindo e recriando oNotificationHub
Poderia ajudar. Vou tentar isso hoje. Mesmo que funcione, seria mais desejável ter a solução e saber se os registros são feitos corretamente?
Solução temporária:
Deltede, recriado, inserido Package SID e Secret. E funciona de novo (estranho)!
Ainda interessado na questão subjacente!