多くのアプリには、アプリの機能の説明やユーザーの同意の確認など、ワークフロー用のカスタムのオンボーディング フローがあります。シームレスな接続フローを作成するために、アプリは Matchmaking API を使用して、アプリが読み取るように構成されているデータを書き込むことができる他のアプリに接続するようユーザーに促すこともできます。
カスタムのオンボーディング フローを含めるには、権限が付与された後に自動的に起動するようにヘルスコネクトを構成します。ただし、Matchmaking API はこのトリガーをサポートしていないことに注意してください。そのためにはマニフェストに次の行を追加します。
<!-- Required to support pre-Android 14 devices with APK Health Connect -->
<activity
android:name=".OnboardingActivity"
android:exported="true"
android:permission="com.google.android.apps.healthdata.permission.START_ONBOARDING">
<intent-filter>
<action android:name="androidx.health.ACTION_SHOW_ONBOARDING"/>
</intent-filter>
</activity>
<!-- Required to support Android 14+ devices with platform Health Connect -->
<activity-alias
android:name="UAndAboveOnboardingActivity"
android:exported="true"
android:targetActivity=".OnboardingActivity"
android:permission="android.permission.health.START_ONBOARDING">
<intent-filter>
<action android:name="android.health.connect.action.SHOW_ONBOARDING" />
</intent-filter>
</activity-alias>
ユーザーは、アプリ内からではなく、ヘルスコネクト アプリから直接アプリへの接続を開始する場合があります。
バージョン サポート
Android 14 より前のデバイスと Android 14 以降のデバイスの両方をサポートするには:
推奨される方法: 両方のシナリオを処理する単一のオンボーディング アクティビティを作成します。例に示すように、アクティビティ エイリアスを使用して、Android バージョン間の互換性を確認します。
代替方法: Android バージョンごとに 1 つずつ、2 つの別々のアクティビティをエクスポートします。この方法では、メンテナンスが複雑になる可能性があります。
エクスポートされたアクティビティの要件
ユーザーがアプリをヘルスコネクトに接続しようとすると、エクスポートされたアクティビティが起動されます。このアクティビティで次のことを行う必要があります。
- 書き込みまたは読み取り対象のデータに関する説明など、関連するユーザー向け情報を表示します。
- 必要な場合はユーザーに同意を求めます。
- ヘルスコネクトへの権限のリクエストを行います。
- 定期的なワーカーのスケジュール設定など、その他のアプリ固有のロジックを実行します。
- 完了後、ユーザーがアクティビティを閉じられるようにします。
オンボーディング アクティビティをエクスポートしていないアプリの場合、ユーザーがアプリを接続しようとするとヘルスコネクトが [権限の管理]画面を表示します。アプリの前提条件として、権限さえ付与されていれば統合が機能する場合には、これで問題ありません。
オンボーディング アクティビティは、複数回起動される場合があります。後でユーザーがアプリの権限を取り消して、再度接続した場合などが該当します。