3

サーバーから新しいイベントが通知されるアプリケーションを作成したいと考えています。(私が店を持っていて、すべての iPhone ユーザーに私の販売などを通知する必要があるとしましょう) 私のアプリケーションをダウンロードして実行し、バックグラウンドに置くユーザーは、これによって通知される必要があります。私はiOSとObjective-Cにかなり慣れていませんが、間違っていなければ、これはアップルのプッシュ通知を介して行うことができます. 私はこれについて読んでいて、この通知を送信できるプロバイダーがいくつかあることを知りました. 私の質問は、独自の通知「センター」を作成して、c# と言って自分で iPhone-s に通知を送信する方法はありますか?

そして別のこと。Objective-C アプリでは、その種のイベントをリッスンするためにアプリをサブスクライブする必要があります。phonegap またはその他のテクノロジでアプリを作成して、通知で動作するようにしていただけますか? あなたのアプリをobjective-cに埋め込むことができますか(objective-cのWebアプリのように)

4

2 に答える 2

3

APNs をクライアントにプッシュする独自の C# プログラムを作成できることは確かです (実際、私は多くのアプリでそれを自分で行いました)。理解しておく必要があるのは、APN のアーキテクチャには 2 つの重要な事実があるということです。

  1. APN はベスト エフォート型であるため、毎回アクセスできる保証はありません。
  2. APN は、クライアントに到達するときに多くの情報を保持できません (ビット数には制限があります。Apple のドキュメントを参照してください)。

これらの事実により、クライアントへの実際の情報の送信を処理し、データがクライアントにも到達したことを確認する独自のサーバー アプリケーション (C# の場合もあります) が必要になる場合があります。言うまでもなく、このサーバー アプリケーションは実際のサーバー上で実行する必要があります。おそらくこの事実が原因で、一部の開発者はサードパーティのソリューションを探し始めていますが、個人的にはサードパーティを使用したくないので、すべて自分で行います.

独自のサーバー アプリケーションを用意する以外に、受信したニュースを保存して後で表示するために、iPhone アプリにはある種のデータベース (おそらく SQLite3) が必要です。

編集:以下のコメントでの質問への回答:

最初の質問「なぜiPhoneアプリにsql dbが必要なのか」について。実際、上記の回答で述べたように、それは必須ではありません。データベースが必要かどうかは、アプリ自体の性質によって異なります。たとえば、テキストや画像をクライアントにプッシュしている場合、そのようなデータを APN のペイロードに収めることができません。別の可能性として、ユーザーが APN メッセージを破棄した場合でも、送信された通知を失わないようにしたい場合があります。後でアプリを開いたときに再度表示したい場合があります。サーバーかどうか。

2番目の質問「サードパーティ経由で通知を送信する必要はないとおっしゃいました」については、私の回答で明確にさせてください。Apple 開発者として、私は Apple サーバーをサードパーティとは考えていません。別の言い方をすれば、実際の APN は Apple サーバー経由でのみ送信され、この事実を変更することはできません (変更したくもありません)。そのため、最終的には実際の APN が Apple サーバーに送信され、Apple サーバーはそれを実際のクライアントに配信する作業を行います。私がサードパーティと見なすのは、独自のサーバーを持っている人で、あなたが望むメッセージを彼に送信すると、彼はそれを Apple サーバーに送信します。その場合、あなたと Appl APN サーバーの間に誰かがいて、これを私は第三者と呼んでいます。C# コードは Apple APN サーバーに直接接続し、クライアントにメッセージを送信するように依頼できるため、このサード パーティを回避できます。私の要点を明確にしたことを願っています。

于 2012-07-26T19:30:29.437 に答える
2

はい、APNS を phonegap アプリケーションで使用できます: PhoneGap for iOS でのプッシュ通知の受信

サーバーに関しては、すべてをゼロから行う以外に別のオプションがあります。API 経由でサードパーティのサーバーを使用できます。pushwoosh ( http://pushwoosh.com ) の担当者がこのオプションを提供しているようです (また、phonegap 統合も提供しています)。

于 2012-07-27T09:06:47.613 に答える