2

ユーザーが自分のサイトに入ると、インストールを提案するダイアログ ボックスが表示されますmy wonderful app。ユーザーが承認ボタンを押すと、私のアプリを含むプレイ マーケット ページがポップアップ表示されます。このダイアログ ボックスは、ユーザーが電話から参照する場合にのみ表示されます。ただし、このダイアログは、ユーザーが既にアプリを持っている場合でもポップアップします。したがって、電話でアプリの有無をサイトに通知する方法に興味があります。アプリがすでに電話にインストールされている場合、ダイアログは表示されません。

phone w/o app -> browse site -> get dialoge box
phone with app -> browse site -> normal browsing

頭に浮かぶシンプルで役に立たない解決策:リンクがアプリから開かれると、アプリがインストールされていることを識別するためのアクションで拡張されます。
アプリで十分なので、サイトを開いても何のメリットもありません。

もう少し高度なアイデアがmshによって提案されました: リンクを開くアプリのオプションをユーザーに提供します。上記のように私のアプリでリンクを開いた場合。

これを行うより良い方法はありますか?

4

3 に答える 3

0

はい、モバイル ブラウザ (それ自体) は、アプリケーションのインストール状態を Web に伝えることができません。それでも、どうしてもこの動作を実装したい場合は、"WILD" ソリューションを用意しています。

このソリューションは、クライアント側 (Android デバイス) / サーバー側 (Web) の 2 つの部分に分かれています。

クライアント側 (Android デバイス上):

BroadcastRecieverアプリケーションでは、ネットワーク状態の変化を継続的にリッスンするを実装する必要があります。利用可能な新しいネットワーク接続のブロードキャストが受信されるたびに (たとえば、ユーザーがモバイル データをオンにしたとき)、アプリは取得した IP アドレスを読み取り、それを Web サーバーに通信する必要があります ( を使用HttpURLConnection)。

IP アドレスを通信すると、この IP アドレスから Web サイトを閲覧しているデバイスにアプリケーションがインストールされていることが Web サーバーに通知されます。

サーバー側 (Web サーバー上):

Web サーバーは、アプリケーションがインストールされているすべてのデバイスから報告されたすべての IP アドレスを追跡します (データベースのコース外)。冗長なエントリを避けるために、受信した各 IP アドレス レコードの有効期限/検証時間を決定できます。

サーバーが Web リクエストを受信すると、リクエストしているクライアントの IP と、そのデータベースに保存されているすべての IP を照合します。一致する IP が見つかった場合は、アプリケーションが既にインストールされているデバイスから Web 要求が送信されたことを意味します。それ以外の場合は、ユーザーをアプリの Play ストア リンクに誘導できます。

提案されたソリューションの制限:このソリューションは、ユーザーがモバイル データ (2g / 3g / など) を使用してインターネットに接続している場合にのみ、100% の精度で機能します。モバイル データを使用して以来、サービス プロバイダーによってデバイスに一意の IP アドレスが毎回発行されます。

これは、Wi-Fi 接続では完全には機能しません。Wi-Fi を使用してブラウジングしている間、同じ Wi-Fi スポットに接続されているすべてのデバイスに同じ IP アドレスが割り当てられます。そのため、2 台の携帯電話が同じ Wi-Fi スポットからインターネットを使用している状況があり、そのうちの 1 台の電話にはアプリケーションがインストールされていて、もう 1 台の電話にはインストールされていません。これにより、サーバーが混乱します。

** この解決策はあまりお勧めできませんが、他の解決策が見つからない場合は、マイナーな修正を加えて使用できます ;)

于 2013-08-06T07:17:43.883 に答える
0

www.yousite.com と www.app.yoursite.com のように、2 つの別々の URL を持つことができます。このようにして、少なくともユーザーはアプリからのポップアップから解放されます。

于 2013-07-31T13:22:07.937 に答える