Push Notification Registration for iOS
For most iOS client / server applications, push notifications are negotiated through an intermediary service provider, such as Urban Airship. The service provider exposes APIs to register a device token, as well as APIs to send push notifications to devices meeting some specified criteria.
Orbiter is a small library that provides simple interfaces to register (and unregister) for Push Notifications with Urban Airship (without needing to include their SDK), as well as Helios apps.
Orbiter is named for the orbital space craft of the Space Shuttle program, which houses the flight crew and electronics used to communicate with mission control.
This project is part of a series of open source libraries covering the mission-critical aspects of an iOS app's infrastructure. Be sure to check out its sister projects: GroundControl, SkyLab, CargoBay, and houston.
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
[[UrbanAirshipOrbiter urbanAirshipManagerWithApplicationKey:@"..." applicationSecret:@"..."] registerDeviceToken:deviceToken withAlias:nil success:^(id responseObject) {
NSLog(@"Registration Success: %@", responseObject);
} failure:^(NSError *error) {
NSLog(@"Registration Error: %@", error);
}];
}
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSURL *serverURL = [NSURL URLWithString:@"http://raging-notification-3556.herokuapp.com/"];
Orbiter *orbiter = [[Orbiter alloc] initWithBaseURL:serverURL credential:nil];
[orbiter registerDeviceToken:deviceToken withAlias:nil success:^(id responseObject) {
NSLog(@"Registration Success: %@", responseObject);
} failure:^(NSError *error) {
NSLog(@"Registration Error: %@", error);
}];
}
Mattt Thompson
Orbiter is available under the MIT license. See the LICENSE file for more info.