web-dev-qa-db-ja.com

プッシュ通知にクラウドサービスが必要なのはなぜですか?

現在、アプリにプッシュ通知を実装することを希望しているお客様がいます。問題は、この顧客にとってセキュリティが本当に重要であるということです...私はofficialドキュメントを見つけることができません。それは、Push通知をAndroidまたはインターネット経由のiOSデバイスは、FCM/APNSを使用しています。悲しいことに、私が意思決定者にGoogle/Appleサービスへのポートを開くように説得することができないと私は思います。

私はプッシュ通知の仕組みなどを知っており、私はそれが必要であることを知っていますが、私が言ったように、何人かの意思決定者を説得する必要があるので、彼らに公式の何かを示すことができれば本当に役に立ちます...

3
Tobe

さて、プッシュ通知機能を提供し、標準ポート(443/HTTPS)で動作するサードパーティのサービスがあります。 (Apple Push Notification Servicesでは、非標準のポート番号 2195およびオプションで2196 が必要です)。適切な事例: FirebaseはiOSプッシュ通知を提供しています も同様です。そのためには、AppleのAPNSサーバーと直接通信するために通常使用する秘密鍵をアップロードする必要があります。ただし、クラウドサービスは引き続き使用できますが、もちろん別のものです。

この制限の根本的な理由は、アプリがバックグラウンドで実行できることは非常に限られていることです。これは、バッテリーの消費を抑えるために行われます。プッシュ通知はバックグラウンドでアプリを起動する1つの方法であり、AppleおよびGoogleはここでオプションを意図的に制限しています。アプリが定期的にサーバーをポーリングして新しいコンテンツを探す方法がありますが、プッシュ通知のようにリアルタイムに近づくことはなく、この種の動作のために、App Store/Play Storeから削除されるか、許可されない可能性があります。

結局、顧客はこの機能が面倒な価値があるかどうかを決定する必要があります。適切に構成されたファイアウォールは、このシナリオでセキュリティリスクをもたらすべきではありません。

4
Glorfindel