0

あるWP7電話から別の電話にトーストを送ることが可能かどうか疑問に思いました。

使用例:

ユーザーAは携帯電話のボタンを押して、近くを運転している他のユーザーに「空」のステータスでユーザーAのGPS位置に必要であることを警告します。

誰かがこれが可能かどうか、そしてそれがどのように行われることができるかについての洞察を提供することができれば、それは素晴らしいことです。

ありがとう、

4

3 に答える 3

2

あなたはできる?

いいえ。

私があなたの質問を正しく理解していれば、それは不可能です。

「サーバーのどこかに何かを実装しなくても、これを実行できますか?」という質問を理解しています。そして、その答えは残念ながら「いいえ」です。

@softarnと@MrMDavidsonがほのめかしているように、サーバーに何かを実装する必要があります。

しかし、なぜですか?

この理由は非常に単純です。これが可能であれば、それは虐待の扉を開くでしょう。Microsoftサーバーを経由せずに、すべてのユーザー(もちろん私のアプリをダウンロードしたユーザー)にプッシュ通知を絶えず送信するコードを少し書くことができると想像してみてください。ユーザーがビットごとに課金されるデータプランを使用している場合はどうなりますか?さて、私はちょうど私のユーザーの全体を台無しにしました、そして彼らは私に腹を立てているだけでなく、彼らは彼らの愚かな電話に腹を立てています。あるいは、MicrosoftがすべてのWindows Phoneユーザーに、プッシュ通知をすぐにではなく15分ごとにのみ受け取るオプションを提供したい場合はどうでしょうか。まあ、仲介役として機能しなければ、Microsoftはそのような機能を完全に提供することはできません。

これがそれを偽造する方法です

したがって、トースト通知を操作するには、Microsoftが仲介者を演じる必要があります。そのため、必要に応じて、ユーザーに代わってトースト通知をプラグオン/監視/調整できます。

この動作をエミュレートするサーバーコードを少し実装したい場合は、それは確かに可能です。@MrMDavidsonが言うように、アプリのアーキテクチャでは基本的に次の手順を実行する必要があります。

  1. ユーザーのGPS位置が変化する
  2. WP7アプリはあなたが所有するサーバーに接続し、ユーザーが移動したことを通知します
  3. サーバーコードはこれを記録し、SQLデータベースにデータを保存します
  4. 新しい場所を保存した後、サーバーはSQLデータベースをスキャンして、「近く」にあり、ステータスが「空」に設定されているアプリの他のすべてのユーザーを探します。
  5. (a)近くにいて、(b)ステータスが空であるという基準に一致するデータベース内のユーザーごとに、サーバーコードはユーザーの「チャネルURI」を呼び出し、目的のメッセージを送信します。

ユーザーにとって、それはすべて同じです

これにより、目標が効果的に達成され、ユーザーの観点からは、エクスペリエンスは見栄えが悪くなり、すべての目的と目的で、別のユーザーの電話から直接通知を受け取ったかのように見えます。

それが物事を明確にすることを願って、私はあなたがトースト通知を送信する一般的なワークフローに精通していると仮定しました。

ハッピーコーディング!

于 2012-04-23T08:12:04.630 に答える
1

ユーザーAの電話がユーザーBの電話のプッシュ通知URIを知っている場合、はい、一方の電話からもう一方の電話に通知を送信できます。ただし、問題は次のようになります。ユーザーBの通知URIをユーザーAの電話にどのように配布しますか?中央リポジトリとして機能するには、「オフライン」メカニズム(たとえば、電子メール)またはサーバーが必要です。ユーザー間の関係を管理するために、プッシュ通知の上にサービスレイヤーを配置する方がおそらく良いでしょう。次に、ユーザーAの電話は、「友達に必要だと伝えてください」と言うことができます。これは、サーバーへのasync-fire-and-forget呼び出しである可能性があります。その後、サーバーは再試行と並列実行を実装して、その場所で必要であることをすべてのユーザーAの友達に通知できます。

于 2012-04-22T23:13:54.990 に答える
-1

はい、もちろん可能です。プッシュ通知がどのように機能するかを読んでください。ただし、思ったほど簡単ではないと思います。電話が通信するサーバーが必要になると思います。

于 2012-04-22T21:03:20.740 に答える