Отправка push-уведомлений Apple из кода Python - PullRequest
1 голос
/ 22 января 2012

Я хочу отправить push-уведомление из кода Python (приложение Django) на телефоны клиента.

Я нашел несколько реализаций, одна из них здесь: http://leepa.github.com/django-iphone-push/

Мой вопрос - как определить устройство, для которого я отправляю уведомление?Должен ли я использовать UDID телефона?Меня беспокоит, что это уже устарело в iOS5, поэтому мне интересно, как связать пользователя с телефоном на моем сервере Django?

Ответы [ 2 ]

2 голосов
/ 22 января 2012

Apple только позволяет отправлять уведомления на устройства, на которых установлено приложение iOS и для которых пользователь разрешил вашему приложению отправлять уведомления на свое устройство. Вы можете найти больше информации о том, как Apple обрабатывает (push) уведомления в этом документе для разработчиков .

Если у вас нет приложений для iOS, но вы все еще хотите доставлять уведомления пользователям, вы можете использовать Prowl, Notifio или Boxcar. Эти приложения позволяют пользователю использовать их API для доставки уведомлений на пользовательское устройство. Для большинства этих сервисов доступны пакеты Python.

1 голос
/ 28 февраля 2012

Из документов:

Примечание : маркер устройства - это не то же самое, что UDID устройства, возвращенный свойством uniqueIdentifier UIDevice.

Используемый токен получен путем регистрации удаленных уведомлений в приложении : 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);
}

Этот токен вы используете для отправки push-уведомлений.

PS: django-iphone-push Последний коммит был 3 года назад.Вы можете попробовать мою вилку под названием django-ios-push .

...