ワンクリックで電話をかける

この記事では、現在サポートされていないPush2Dial機能について説明します。 一時的に。 確かに、将来のバージョンでは戻ってくるので、今日のデバイスに慣れることができます。



ワンクリックコールまたはPush2Dial(P2D)は、新しい2GISで発表された別の機能です。 一番下の行は簡単です-組織を選択し、電話番号をクリックします-これでスマートフォンでダイヤルする準備ができました。



この機能により、自分で電話番号をダイヤルする必要がなくなります。つまり、間違いを犯して間違った場所にたどり着く可能性がゼロになる傾向があります。







新しいオンライン2GISのベータ版と古き良きオフラインの両方からワンクリックで呼び出すことができます。 両方とも、このような機会に書かれたAPIを通じてこれを行います。



名前から推測できるように、P2D API はプッシュ通知システムと連携します 。 モバイルデバイスでの使用は、アプリケーションが好きなときにインターネットを制御不能にサーフィンできるようにすると、Androidとコンセントに関する逸話が厳しい現実になるという事実によって正当化されます。



ところで、プラットフォームによって、通知システムの操作は少し異なります。 iOSでは、プッシュ通知はシステムAPIの一部です。 2GISアプリケーションはAPNSと直接対話します。

Androidでは、アプリケーションは最初にGoogle Play Servicesライブラリにアクセスし、次にこのライブラリがGoogle Cloud Messagingと対話します



では、ユーザーがモバイル2GISのハンドセットアイコンをクリックするとどうなりますか? 彼は、デバイスをPC用の 2GISまたはbeta.2gis.ruに接続するよう提案されます。 Mobile 2GISはプッシュ通知システムに接続し(またはこれを試みます)、電話のトークンとそのプラットフォーム(iOSまたはAndroid)に関する情報を含むリクエストをPush2Dial APIサーバーに送信します。







Push2Dial APIは、この電話のPINコードを生成し、PIN->デバイスバンドルを作成し、それをmemcacheに10分間置きます。 応答として、Push2Dial APIはこのピンを電話に返します。



Push2Dial APIはLuaで記述されています。 memcacheを操作するには、Yichun Zhangという開発者のlua-resty-memcachedライブラリを使用します。 奇妙なことに、Luaで作成されたlua-resty-memcachedは、彼が作成したnginx HttpMemcModuleのネイティブモジュールよりも高速で安定していることがわかりました。



memcacheで機能するコードはシンプルで短いです。 そのため、たとえば、Luaは次のように書いています。



--  memcached memcached = require("memcached"); --  local memc, err = memcached:new(); local connected, err = memc:connect(, ); --   -    -- ttl = 10  memc:set(PIN, json.encode({['token'] = token, ['platform'] = platform}), 600);
      
      







ユーザーはPINコードを受け取り、コンピューターに入力します。 ピン->デバイスリンクの存在のリクエストは、「大きい」2GISからAPIに送信されます。 このようなリンクが見つかった場合、Push2Dial APIは電話に関するデータをmemcacheからデータベースに転送し、製品(オンラインまたはオフライン2GIS)にデバイスに対応するデータベースから識別子を与えます。



新しい2GISに承認が表示されたことにお気づきかもしれません。 この時点でユーザーがログインしている場合、Push2Dial APIは認証IDを書き込みます。 したがって、ユーザーが次にログインするときはいつでも、彼のバインディングが有効になり、すぐに電話をかけることができます。 もちろん、ワンクリックで。



実際には、通話について。 ユーザーがコンピューター上の2GISで組織の電話番号をクリックすると、デバイスIDを含むプッシュ通知を生成する要求が生成されます。 P2D APIはデータベースでこのIDを見つけ、プラットフォームに応じてXMLまたはJSON形式でプッシュ通知を生成します。 次に、適切なGoogleまたはAppleサーバーに行き、そこからユーザーの電話に行きます。







この段階では、もう1つ微妙な違いがあります。 iOSでは、ユーザーが通知をクリックした後、常に2GISアプリケーションを介してダイヤルが行われます。 Androidでは、コードがリアルタイムで(通知を受信するとすぐに)起動され、ダイラーが開きます。 したがって、2GISアプリケーションが起動されていない場合、起動しません。



ワンクリックでコールを試みていない場合は、今すぐ実行してください。 あなたのサービス2GIS for iOSまたはAndroidで、 新しい2GISと古くからの友人である2GIS for PCがあります。



All Articles