Skip to content
This repository has been archived by the owner on Jun 23, 2021. It is now read-only.
/ Orbiter Public archive

Push Notification Registration for iOS

License

Notifications You must be signed in to change notification settings

mattt/Orbiter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orbiter

Note: This project is no longer being maintained.

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.

Example Usage

Urban Airship Registration

- (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);
    }];
}

Helios Registration

- (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);
    }];
}

License

Orbiter is available under the MIT license. See the LICENSE file for more info.