为iOS注册推送通知
对于大多数iOS客户端/服务器应用程序,推送通知是通过一个中介服务提供商进行协商的,例如Urban Airship。服务提供商公开API来注册设备令牌,以及API用来向符合某些特定标准的设备发送推送通知。
Orbiter是一个小型库,提供了简单接口以用于向Urban Airship(无需包括它们的SDK)以及Helios应用程序注册(和解注册)推送通知。
Orbiter以航天飞机计划轨道飞行器命名,该飞行器容纳机组人员和与地面控制通信所使用的电子设备。
该项目是关于覆盖iOS应用程序基础设施关键方面的一系列开源库的一部分。请确保查看其姐妹项目:GroundControl、SkyLab、CargoBay和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可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。