Windows Phone 7 Push Notifications não aparecem no meu telefone
UPDATE: O enredo engrossa. Alterei o nome do meu canal e ele está subitamente funcionando (o que significa que não houve nenhum problema com meu serviço de envio, pois estou recebendo a mesma resposta HTTP do servidor Microsoft Push Notification
Para mim, no entanto, isso não é uma solução. Como poderei testar isso e sei que meus usuários estão recebendo notificações push se estou recebendo a mesma resposta quando não está funcionando como quando esto
[POST ORIGINAL]
Estou tentando receber notificações por push enviadas para o meu dispositivo Windows Phone 7, mas estou tendo problemas muito grandes para os quais não consigo encontrar respostas. Vou começar com o código c #.
Configurei notificações push usando o seguinte código C
private HttpNotificationChannel channel;
private static string PUSH_CHANNEL = "MySpecialPushChannel";
private Uri PushUri = null;
private bool IsPushRegistered = false;
public void StartPushSubscription()
{
try
{
channel = HttpNotificationChannel.Find(PUSH_CHANNEL);
}
catch
{}
if (channel != null)
{
PushUri = channel.ChannelUri;
if (!channel.IsShellTileBound)
channel.BindToShellTile();
}
else
{
channel = new HttpNotificationChannel(PUSH_CHANNEL);
channel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(channel_ChannelUriUpdated);
channel.HttpNotificationReceived += new EventHandler<HttpNotificationEventArgs>(channel_HttpNotificationReceived);
channel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(channel_ErrorOccurred);
try
{
channel.Open();
channel.BindToShellTile();
}
catch (Exception err)
{
channel = null;
IsPushRegistered = false;
// Code to try again
}
}
}
void channel_ChannelUriUpdated(object sender, NotificationChannelUriEventArgs e)
{
PushUri = e.ChannelUri;
IsPushRegistered = true;
}
Estou seguindo a estrutura de envio WP7 padrão:
Encontre o HttpNotificationChannel (ou inicie um novo) Registre o manipulador de eventos para obter o uri de notificação por push de voltaAbra o canal Vincule ao blocoManuseie o canal Uri (que enviamos ao nosso serviço para aguardar o dia feliz em que enviamos a notificação por pushOK ... até agora tudo bem. Sem erros, eu recebo meu Uri, enviá-lo para o meu serviço muito bem. Fixo meu aplicativo na tela inicial e meu serviço envia uma solicitação de envio ao Uri (enviando apenas a contagem para que eu receba um pequeno número de contagem de envio no canto superior direito). Eu recebo de volta um status HTTP 200 com o seguinte:
DeviceConnectionStatus => Conectado
NotificationStatus => Recebido
SubscriptionStatus => Ativo
E então ... nada. Nenhum status de envio é exibido no meu aplicativo. Agora eu tentei no meu dispositivo, no emulador, em outro dispositivo e com vários servidores, e o resultado é sempre o mesmo. Parece que tudo está funcionando, exceto pelo fato de não funcionar.