SKYPCEとSKYCEBの連携機能において、2つのアプリで着信情報が重なって表示されることを防ぐ仕組みを解説します。AndroidのContentProvider/ContentResolverを利用し、SKYPCE側の名刺情報登録状況に応じて、SKYCEBが自動で着信表示のON/OFFを切り替えることで、スムーズな電話応対を実現する方法をご紹介します。
はじめに
SKYPCEには、 当社が提供するクラウド電話帳 「SKYCEB」 への連携機能がございます。
この連携によって、 交換した名刺情報や登録済みの連絡先情報を、 日々の電話対応の中で活用させることが可能です。
この機能により、 着信時に電話番号だけでなく氏名も確認できるため、 相手を把握したうえでスムーズに応対できるようになります。
一方で、 SKYCEBにも同様の着信時の発信者情報表示機能があり、 2つのアプリが同時に情報を表示すると、 着信情報が重なって表示され、 利用者にとってわかりにくくなってしまいます。
そこで、 SKYCEBではSKYPCEアプリの名刺情報の登録状況に応じて、 SKYCEBアプリ側で着信表示させるかどうかを自動で切り替える仕組みを設けています。
今回は、 SKYCEBアプリがSKYPCEアプリから設定値を受け取る仕組みについてご紹介します。
注意点
今回ご紹介するのは、 Androidアプリでの動作となります。
(iOSの着信表示に関する内容は後日ご説明いたします)
2つのアプリが同時に着信表示しないための仕組み
Android端末が着信を受け取ると、 SKYCEBアプリはAndroid OSから着信イベントを受け取ります。
通知を受けると、 SKYCEBアプリはSKYPCEアプリに着信を受けた番号がSKYPCEアプリに登録されているかどうかを確認します。
その結果、 SKYPCE側で電話番号が登録されていれば、 SKYPCEで名刺情報の表示を行い、 SKYCEBでは表示を行いません。
他のアプリから設定値を問い合わせる仕組みは、 Android OSの標準機能であるContentProvider/ContentResolverを使用します。
ContentProvider・ContentResolverを使用したデータ共有

ContentProvider は、 あるアプリが持つ情報を、 他のアプリから参照できるように公開する仕組みです。
今回のケースでは、 SKYPCE側がSKYCEBの着信表示に関する設定値を ContentProvider を通じて公開しています。
公開する側のアプリ側のAndroidManifest.xmlにContentProviderを登録することで、 Android OSから参照することができるようになります。
一方、 SKYCEB側では ContentResolver を使って、 その ContentProvider に問い合わせを行います。
つまり、 情報を提供するのが SKYPCE の ContentProvider、 情報を取得するのが SKYCEB の ContentResolver という役割分担になります。
この仕組みによって、 SKYCEBはSKYPCE側の設定をその都度確認し、 表示の要否を判断できます。
終わりに
本記事では、 SKYCEBの着信表示機能が、 着信を検知して情報を表示するだけでなく、 SKYPCEと連携しながら表示の役割を切り分けていることをご紹介しました。
SKYPCEの開発チームでは、 今回ご紹介したような仕組みを適切に活用し、 お客様が便利で安心してサービスをご利用いただけるよう、 日々開発に取り組んでおります。
これからも、 お客様のご要望に1つでも多くお応えできるよう精進してまいりますので、 どうぞSKYPCEをよろしくお願いいたします。
