我正在为我的手机应用程序使用 toast 通知。当应用程序首次在某人的手机上启动时,它将获取推送通知 URL,然后将其存储在我们的数据库中,以便我们可以将通知发送给用户。
在测试中,使用模拟器和在我的 HTC WP7 上进行测试,发现并上传了通知。
现在应用程序在商店中,通知 URL 将作为 NULL 到达服务器。在应用仪表板中,我得到以下信息:
缺少经过身份验证的推送通知的证书:经过身份验证的推送通知的证书
这会导致问题吗?如果是这样,我该如何获得这个证书?我在任何地方都找不到与此相关的任何内容。
下面是一个代码片段,它在测试中有效,但由于发布到商店总是返回 NULL:
private void BindChannel()
{
channel = HttpNotificationChannel.Find(channelName);
if (channel == null || channel.ChannelUri == null)
{
if (channel != null) DisposeChannel();
channel = new HttpNotificationChannel(channelName);
channel.ChannelUriUpdated += channel_ChannelUriUpdated;
channel.Open();
}
else
{
StorageSettings.StoreSetting("NotifyURL", channel.ChannelUri.AbsoluteUri);
}
SubscribeToChannelEvents();
if (!channel.IsShellTileBound) channel.BindToShellTile();
if (!channel.IsShellToastBound) channel.BindToShellToast();
string notificationUri = string.Empty;
if (StorageSettings.TryGetSetting<string>("NotifyURL", out notificationUri))
{
if (notificationUri != channel.ChannelUri.AbsoluteUri)
{
StorageSettings.StoreSetting("NotifyURL", channel.ChannelUri.AbsoluteUri);
}
}
else
{
if (channel.ChannelUri != null)
{
StorageSettings.StoreSetting("NotifyURL", channel.ChannelUri.AbsoluteUri);
}
}
}