クロスデバイス SDK を使用すると、デベロッパーは複数のデバイス間で互換性のあるアプリを簡単に作成できます。この SDK は、さまざまな接続技術を 1 つのツールキットに統合することで、豊かで魅力的なマルチデバイス エクスペリエンスの開発を簡素化します。以前は、デベロッパーはマルチデバイス エクスペリエンスを構築するために、Bluetooth や Wi-Fi などの接続フレームワークを独自に管理する必要がありました。SDK が下位レベルのテクノロジーを処理するので、デベロッパーはユーザー エクスペリエンスの最も重要な部分に集中できます。
この SDK は、エミュレータのサポートやプロファイリングなどを含む大規模なマルチデバイス開発ツールキットの一部です。クロスデバイス SDK では、次のコア機能が有効になります。
- デバイスの検出と認証
- 安全な接続とデータ転送
- マルチデバイス セッション
この SDK を使用して構築できるアプリケーションとエクスペリエンスの例として、マルチプレーヤー ゲーム、生産性向上アプリでのデバイスのシームレスな切り替え、グループ料理の注文などがあります。
クロスデバイス SDK の開発にあたっては、3 つの基本原則に従って、マルチデバイス アプリやマルチデバイス エクスペリエンスの開発を安全かつ適切に加速する抽象化レイヤを作成しました。これらの原則は次のとおりです。
- ユビキタス: SDK は、スマートフォンやタブレットをはじめとする、可能な限りすべてのデバイスで動作する必要があります。
- モジュラー: デベロッパーは SDK を他のソリューションと混在させられる必要があります。
- 強化: この SDK は、特定のクロスデバイス エクスペリエンスに限定するのではなく、独自の機能とエクスペリエンスを構築できるようにします。
使用場面
クロスデバイスのユースケースについて説明する際は、個人的体験と共用エクスペリエンスという 2 つの主なカテゴリを考慮します。
個人的な体験
パーソナル エクスペリエンスは、スマートフォン、スマートウォッチ、テレビ、車などの複数のデバイスで 1 つのユーザー ID を中心に構築されます。このようなエクスペリエンスにより、ユーザーは所有するさまざまなデバイスをより効果的に接続できます。次に例を示します。
- スマートフォンで映画のレンタルまたは購入をテレビで行い、お支払い方法を入力します。
- スマートフォンで長い記事を読み始めたら、続きはタブレットで読み終えます。
ソーシャル体験
ユーザーと周囲の人々の間で共有される体験を楽しんでいます。たとえば、以下の場合です。
- 乗客として友だちの車と直接地図の位置情報を共有する。
- 日曜日の自転車のルートを一緒に自転車でシェアしましょう。
- グループ料理の注文のためにスマートフォンを渡さずに料理を集めましょう。
- 次に視聴するテレビ番組にみんなで投票しましょう。
メディアやその他のエクスペリエンス
また、継続的なメディア制御や認証などのマルチデバイス エクスペリエンスがあり、デバイスの検出や参加者間でのデータの受け渡しが求められる場合があります。こうしたユースケースには、既存のフレームワークと SDK が適している可能性があります。
- Cast SDK: 他のデバイスにメディアをキャストできます。
- 連続再生のためのメディア セッション。
- ブロックストア(認証用)。
- フィットネス トラッカーやヘッドフォンなどのコンパニオン デバイスを検出してペア設定するためのコンパニオン デバイス マネージャー。
これらの API とテクノロジーをクロスデバイス SDK と組み合わせると、ユニークでシームレスなマルチデバイス ユーザー エクスペリエンスをアプリに構築できます。
デベロッパー プレビューの制限事項
これは SDK のデベロッパー プレビュー版であるため、次の点にご注意ください。
- API サーフェスは変更される可能性があります。
- クロスデバイス SDK は本番環境のアプリでは使用せず、
現在サポートされているプラットフォームとサーフェスは、Android のモバイル デバイスとタブレット デバイスに限定されています。
ぜひフィードバックやご提案をお寄せください。こちらからバグレポートを送信してください。
仕組み
Cross Device SDK は、Bluetooth、Wi-Fi、超広帯域などのさまざまなワイヤレス技術を活用することで、プラットフォーム ドリブンとデベロッパー主導の両方のマルチデバイス エクスペリエンスを可能にするソフトウェア抽象化レイヤです。この抽象化により、SDK がプラットフォーム機能、デバイスの検出、認証、互換性の基本的な側面を処理する一方で、デベロッパーはユーザー エクスペリエンスの最も重要な部分に集中できます。
![クロスデバイス SDK のアーキテクチャ。](https://developer.android.com/static/images/develop/connectivity/cross-device-sdk/architecture.png?hl=ja)
ほとんどのアプリ デベロッパーには、Multi-Device Sessions API を使用することをおすすめします。この API を使用すると、アプリのユーザー エクスペリエンスを他のデバイスに移行または共有できます。ただし、クロスデバイス エクスペリエンスでより細かい粒度またはカスタマイズが必要な場合は、スタンドアロンの Device Discovery API と Secure Connections API を使用できます。
クロスデバイス SDK はオープンソースであり、さまざまな Android サーフェスと Android 以外のエコシステム デバイス(ChromeOS、Windows、iOS)で利用できるようになります。この SDK の目標は、既存のテクノロジーとプラットフォームの機能を活用しながら、アプリ デベロッパー向けのマルチデバイス エクスペリエンスの開発を簡素化することです。