2016-08-14 23 views

答えて

1

VoIPを使用しているアプリケーションは、Appleによって異なる扱いを受けており、さらに多くの特権を持っています。以前は、コールが発生したときに通知を受け取るためにサーバに永続的な接続を維持することを意味していました。

これは、省エネルギーの点ではあまり効率的ではありませんでした。

iOS8以降、PushKit(プッシュ通知API)を使用して、呼び出しが発生したときにユーザーに通知することをお勧めします。 VoIPの権限を持つアプリはその場で通知され、その状態は、それが中に何でもあなたのアプリを覚ますことができ

ここではアップルからの世界です:。

代わりに持続的な接続の、開発者はPushKitを使用する必要があります フレームワーク - アプリケーションがリモートサーバーからプッシュを受信できるようにするAPI(データが利用可能な場合は通知 )。プッシュが を受信するたびに、アプリケーションは動作するように呼び出されます。例えば、VoIPアプリケーションは、電話が受信されたときに に警告を表示し、 に電話を受け入れるか拒否するかを選択できます。ユーザが受け入れることを決定した場合には、先導的なステップである の呼び出しを開始することさえできます。

https://developer.apple.com/library/ios/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html

0
  • サイレント通知を受け取ったら
  • IOSコード側
  • でpushkitを実装スケジュールローカル通知
  • pushkitペイロードを取得しますローカル通知のuserinfoを
  • に重要な情報を保管してください
  • もしNSUserDefault
  • 内のローカル通知オブジェクトお使いのデバイスは、その後、あなたがサイレント通知を取得したら、あなたのソケットが(最大30秒)、ローカル通知音の再生件までアクティブになりますNSUserDefaultオブジェクト
  • からlocalnotificationのuserinfoをを取得することができます再起動してしまった場合
  • あなたは、サーバーが
  • 前のオブジェクトを削除し、ローカル通知の上、最新のスケジュールを変更、各30秒でサイレント通知を送信する必要があり、30秒以上鳴って着信コールをしたい

あなたは、Pのいずれかの助けが必要なら、私を知ってみましょうushキットの実装。

関連する問題