2016-10-20 5 views
0

私はモバイルアプリケーションを構築しています。ユーザーのタイムゾーンとローカルタイムを管理する

私はどのように私は(簡体字)、シナリオのこの種を実装する必要があります思ったんだけど:

08:00 AMでプッシュ通知世界中からユーザーに今年の毎日を送ります。

問題は、各ユーザーが異なるタイムゾーンにあることです。一部の国では、夏場や冬場の現地時間を±1時間で移動します。

私は、各ユーザーのためのH±UTCを保持することができますが、まだ..私は(as the number of timezones

がより良い方法はあります一日24回以上同じタスクを実行する必要がありますか?

マルチゾーンユーザーのスケジュールされたタスクを処理するベストプラクティス?

ありがとうございました。

+0

NSTimeZoneを使用してタイムゾーンを定義することができます....アップルのdoc https://developer.apple.com/reference/foundation/nstimezone – Joe

答えて

1

プッシュ通知をサーバー上の各タイムゾーンでセグメント化して起動しないでください。正確に午前8時にすべてを送信できる方法がないため(サーバーが突然停止して死んでしまう)すべての電話機に、ローカル時間帯に通知を出す予定のアプリを通知する静かなプッシュ通知を送信するだけです。次いで FUNCアプリケーションで(_アプリケーション:のUIApplication、didReceiveRemoteNotificationユーザー情報:[AnyHashable:任意])

各電話は、サイレント通知を解析(DateComponents参照)ローカル日時に要求時刻を変換し(UNNotificationRequestを作成さiOS 10)またはUILocalNotification(iOS 9以前)を使用して、正しい日付に午前8時に発砲します。

+0

aaahを確認してください。私はまだクライアント側で通知を管理する必要があるオプションに慣れていません。素晴らしい答え。ありがとう! –

関連する問題