1

Python コード (Django アプリ) からクライアントの電話にプッシュ通知を送信したいと考えています。

いくつかの実装を見つけました。そのうちの 1 つがここにあります: http://leepa.github.com/django-iphone-push/

私の質問は、通知の送信先のデバイスを特定する方法です。電話の UDID を使用する必要がありますか? 私の懸念は、iOS5 で既に非推奨になっていることです。そのため、Django サーバーでユーザーを電話に結び付ける方法を知りたいですか?

4

2 に答える 2

2

Appleでは、iOSアプリケーションがインストールされており、ユーザーがアプリに通知をデバイスに配信することを許可しているデバイスにのみ通知を送信できます。Appleが通知を処理(プッシュ)する方法の詳細については、この開発者向けドキュメントを参照してください。

iOSアプリケーションを持っていないが、それでもユーザーに通知を配信したい場合は、Prowl、Notifio、またはBoxcarの使用を検討できます。これらのアプリを使用すると、APIを使用してユーザーのデバイスに通知を配信できます。これらのサービスのほとんどで、Pythonパッケージを利用できます。

于 2012-01-22T13:09:55.307 に答える
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);
}

これは、プッシュ通知を送信するために使用するトークンです。

PS: django-iphone-push の最後のコミットは 3 年前です。django-ios-pushという私のフォークを試すことができます。

于 2012-02-28T10:59:56.583 に答える