Asp.net 推送通知 [关闭]
Posted
技术标签:
【中文标题】Asp.net 推送通知 [关闭]【英文标题】:Asp.net Push notifications [closed] 【发布时间】:2016-03-18 22:46:56 【问题描述】:在我的 android 应用上未收到推送通知。我尝试了许多提供商,但仍然无法正常工作。 不,因为我的后端在 Asp.net 中,所以我想使用 Azure 推送中心,我不知道从哪里开始。而且我在推送通知方面也有一点经验。例如,我将如何发送简单的推送,例如“检查更新”。
【问题讨论】:
【参考方案1】:@Amr Alaa:您可以使用 azure 通知中心。它的实现非常简单。
您可以在 azure.by 中创建通知中心,方法是转到新建 > 应用程序服务 > 服务总线 > 通知中心 > 快速创建 > 提供中心名称 > 创建
之后您可以在您的 asp.net 应用程序/api 中使用下面的代码(无论是否在 azure 上。)
//you can create class and get instance of the hub in constructor
private NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString("Your connectionstring", "your Notification hub name");
在启动应用程序时从您的 android 应用程序使用设备令牌调用此方法。
public async string registerpushhandle(string handle = null)
try
string newRegistrationId = null;
if (handle != null)
var registrations = await hub.GetRegistrationsByChannelAsync(handle, 500);
foreach (RegistrationDescription registration in registrations)
if (newRegistrationId == null)
newRegistrationId = registration.RegistrationId;
else
await hub.DeleteRegistrationAsync(registration);
if (newRegistrationId == null) newRegistrationId = await hub.CreateRegistrationIdAsync();
catch (Exception ex)
return newRegistrationId
在获取注册 ID 后,通过传递您的注册 ID、平台和设备令牌来调用此方法。
public async void registerpushid(string id, string platform, string handle)
try
RegistrationDescription registration = null;
switch (platform.ToLower())
case "mpns":
registration = new MpnsRegistrationDescription(handle);
break;
case "wns":
registration = new WindowsRegistrationDescription(handle);
break;
case "apns":
registration = new AppleRegistrationDescription(handle);
break;
case "gcm":
registration = new GcmRegistrationDescription(handle);
break;
registration.RegistrationId = id;
registration.Tags = new HashSet<string>();
registration.Tags.Add(handle);
registration.Tags.Add("yourcustometag");
try
await hub.CreateOrUpdateRegistrationAsync(registration);
catch (MessagingException e)
catch (Exception ex)
【讨论】:
【参考方案2】:Amr,您可以使用 pushsharp (https://github.com/Redth/PushSharp),它是一个完整的库,可以将推送通知发送到 Android、ios 等。
以下是配置和运行它的指南: https://github.com/Redth/PushSharp/wiki/How-to-Configure-&-Send-GCM-Google-Cloud-Messaging-Push-Notifications-using-PushSharp
我在几个项目中使用过它,效果很好。
希望对你有帮助
【讨论】:
【参考方案3】:尝试以下链接,因为它们提供完全免费的 Android 无限制推送通知,并且实现起来非常简单:
https://onesignal.com/
https://pushover.net/
http://rzlts.com/
希望这会有所帮助。
【讨论】:
以上是关于Asp.net 推送通知 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
通过asp.net windows phone 8发送推送通知