Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Xamarin
  3. PushSharp

PushSharp

NOASSERTIONC#4.0.10

A server-side .NET library for sending push notifications to iOS (APNS), Android (GCM/FCM), Windows (WNS), Amazon (ADM), and Blackberry devices.

GitHubGitHub
4.4k stars1.5k forks0 contributors

What is PushSharp?

PushSharp is a server-side .NET library that simplifies sending push notifications to multiple mobile and desktop platforms. It provides a unified interface for developers to reach iOS, Android, Windows, Amazon, and Blackberry devices without managing the low-level complexities of each platform's notification service. The library handles transport reliability and platform-specific quirks internally, allowing developers to focus on payload construction and business logic.

Target Audience

.NET developers building server-side applications that need to send push notifications to a variety of mobile and desktop platforms, including iOS, Android, Windows, Amazon, and Blackberry. It is particularly useful for teams managing cross-platform notification systems in C# environments.

Value Proposition

Developers choose PushSharp for its comprehensive multi-platform support and modern async architecture, which simplifies notification delivery across different services. Its event-driven error handling and broker-based queuing provide reliable, scalable notification management without requiring deep integration with each platform's APIs.

Overview

A server-side library for sending Push Notifications to iOS (iPhone/iPad APNS), Android (C2DM and GCM - Google Cloud Message), Windows Phone, Windows 8, Amazon, Blackberry, and (soon) FirefoxOS devices!

Use Cases

Best For

  • Sending push notifications from .NET applications to multiple platforms (APNS, GCM/FCM, WNS, ADM, Blackberry) through a single library.
  • Building scalable server-side notification systems with async/await and HttpClient for efficient delivery.
  • Handling platform-specific notification failures and errors, such as rate limiting or expired device tokens, via event-driven error handling.
  • Managing connection pooling and queuing for reliable, batched notification sending using service brokers.
  • Integrating with Apple's APNS feedback service to check for and handle expired device tokens automatically.
  • Migrating from PushSharp 2.x to a modern, rewritten version with improved infrastructure and semver versioning.

Not Ideal For

  • Projects targeting only a single mobile platform where a simpler, platform-specific SDK would suffice.
  • Applications requiring the latest APNS HTTP/2 protocol, as support is still in development per the roadmap.
  • Non-.NET environments, since the library is designed exclusively for server-side .NET applications.
  • Teams seeking a fully managed, cloud-based notification service without server maintenance and configuration overhead.

Pros & Cons

Pros

Comprehensive Platform Support

Unifies notification sending across iOS, Android, Windows, Amazon, and Blackberry through a single interface, reducing integration complexity with multiple SDKs.

Modern Async Architecture

Built with async/await and HttpClient, enabling efficient, non-blocking notification delivery suitable for scalable server applications.

Robust Error Handling

Event-driven system provides granular control over notification failures, including platform-specific exceptions like rate limiting or expired tokens, as shown in sample code.

Built-in Queue Management

Broker-based design handles connection pooling and queuing automatically, ensuring reliable batch processing and reducing manual implementation effort.

Cons

Incomplete Feature Set

Key features like HTTP/2 for APNS and XMPP transport for GCM are listed as in development on the roadmap, limiting access to modern protocols.

Breaking API Changes

Migration from v2.x to v3.x requires significant code updates, as highlighted in the README, which can disrupt existing implementations and increase maintenance.

Configuration Complexity

Each platform requires separate setup with certificates or API keys (e.g., .p12 files for APNS), adding overhead compared to more integrated solutions.

Frequently Asked Questions

Quick Stats

Stars4,389
Forks1,492
Contributors0
Open Issues176
Last commit3 years ago
CreatedSince 2012

Tags

#server-side#fcm#csharp#mobile-development#apns#dotnet-library#push-notifications#gcm

Built With

.
.NET
H
HttpClient

Included in

Xamarin1.9k
Auto-fetched 1 day ago

Related Projects

IconFont2CodeIconFont2Code

Generate C# class with constant fields for the icons in your font

Stars290
Forks37
Last commit1 month ago
GradleBindingsGradleBindings

VS add-in. Creates Xamarin.Android Binding Projects using gradle

Stars146
Forks19
Last commit8 years ago
XamarideaXamaridea

Visual Studio extension. Opens *.axml/xml files in IDEA or Android Studio (Xamarin.Android)

Stars76
Forks22
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub