从Python代码发送苹果推送通知
我想从Python代码(Django应用)给客户的手机发送推送通知。
我找到了一些实现方法,其中一个在这里:http://leepa.github.com/django-iphone-push/
我想问的是——我该如何识别我发送通知的设备呢?我应该使用手机的UDID吗?我有点担心,因为在iOS5中这个已经不再使用了,所以我想知道如何在我的Django服务器上将用户和手机关联起来?
2 个回答
1
根据文档:
注意:设备令牌和UIDevice的uniqueIdentifier属性返回的设备UDID是不同的东西。
你需要通过在application:didFinishLaunchingWithOptions:中注册远程通知来获取这个令牌。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// ...
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
// ...
}
如果注册成功,你的应用代理会收到application:didRegisterForRemoteNotificationsWithDeviceToken:这个回调。
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSString *deviceTokenStr = [[[[deviceToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""];
NSLog(@"%@", deviceTokenStr);
}
这个令牌就是你用来发送推送通知的。
附注:django-iphone-push最后一次更新是在3年前。你可以试试我修改过的版本,叫做django-ios-push。