考慮事項と制限
ContactsService API を使用する機能を開発するときは、次の点に留意してください。
ContactsService は、連絡先情報自体を管理しません。代わりに、基盤となるプラットフォーム (Android または iOS) およびハードウェア (電話またはその他のモバイルデバイス) の特定の連絡先データを利用できるようにします。ContactsService によって提供される機能はどちらのプラットフォームでも同じですが、プラットフォーム固有の動作やわずかな違いによる影響を受けます。
-
連絡先を選択するためのユーザインターフェースは、プラットフォームによって異なります。たとえば、iOS の [完了] ボタンと Android のチェックマークアイコン、およびキャンセルの違いは次のとおりです。
-
ContactsService では、モバイルデバイスの連絡先を使用する必要があります。ユーザはアプリケーションに連絡先へのアクセスを許可する必要があります。実際のユーザエクスペリエンスは、プラットフォームに左右されます。要求は、初回使用時に自動的に行われ、デバイス自体で管理されますが、アプリケーションのユーザエクスペリエンスを設計するときに計画しておく必要があります。
-
Android 11 以降では、アプリケーションがデバイスにインストールされている間、ユーザが連絡先アプリケーションへのアクセス権限の [拒否] を複数回タップすると、システム権限ダイアログが再度表示されることはありません。[拒否] の複数回タップにより、[次回からは確認しない] オプションが暗黙的に選択されます。
以前のバージョンの Android では、ユーザが以前に [次回からは確認しない] を選択していない場合、アプリケーションで権限が要求されるたびにシステム権限ダイアログが表示されていました。Android 11 でのこの変更により、ユーザが拒否することを選択した権限の繰り返しの要求が回避されます。
ユーザが連絡先アプリケーションへのアクセス権限を拒否しており、アクセスを許可するための権限を変更する必要がある場合は、デバイスの設定で変更できます。
-
モバイルデバイス管理 (MDM) がデバイスで使用されており、MDM で連絡先データへのアクセスが制限されている場合、ContactsService はそのデータにアクセスできません。
-
ユーザのデバイスの連絡先リストに連絡先が含まれていない場合、ContactsService は機能しません。
-
ユーザのデバイスの特定のアカウントに関連付けられた連絡先がある場合、それらのアカウントで連絡先の同期を有効にしないと、ContactsService はそれらの連絡先にアクセスできません。つまり、ContactsService は、ユーザのデバイスのネイティブ連絡先リストに表示される連絡先にのみアクセスできます。詳細は、「iPhone でほかの連絡先アカウントを使用する」 (iOS) および「デバイスの連絡先のバックアップと同期」 (Android) を参照してください。
ContactsService が連絡先データにアクセスできない場合は、次のことを試してください。
- まず、アクセスしようとしている連絡先データがデバイスの連絡先リストに含まれていることを確認します。ContactsService は、デバイスのネイティブ連絡先リストに表示される連絡先にのみアクセスできます。
- 次に、コンポーネントが実行されているモバイルアプリケーションに連絡先権限が付与されていることを確認します。これは、デバイスの設定で確認できます。
- 最後に、コード内の ContactsService の設定を再確認します。
仮想デバイスは、作成されたときには連絡先データがない場合があります。仮想デバイスで ContactsService をテストするには、最初に仮想デバイスの連絡先アプリケーションで連絡先レコードを作成する必要があります。または、連絡先データを標準の .vcf 形式でインポートするか、連絡先データが関連付けられている実際の Google または iCloud アカウントにサインインできます。
もちろん、デスクトップまたはラップトップの開発環境でコンポーネントのユーザエクスペリエンスを開発することはできます。ただし、Lightning アプリケーションをリリースする物理デバイスで連絡先のアクセス機能を必ずテストしてください。
Lightning アプリケーションで ContactsService を使用するときは、次の考慮事項に注意してください。
- ContactsService は、モバイルオペレーティングシステムとデバイスの機能上に構築されています。そのため、ContactsService の機能は Android または iOS の機能を使用しており、Salesforce による管理の範囲外で変更される可能性があります。モバイルオペレーティングシステム機能が変更された場合、ContactsService の動作が通知なく変更されることがあります。
- ContactsService を使用する Lightning コンポーネント自体にカスタムユーザインターフェースを含めることができます。ただし、連絡先選択ユーザインターフェースはカスタマイズできません。