この iOS サンプル アプリケーションは、Google Home API を使用しています。このガイドでは、アプリを初めてビルドして実行する方法について説明します。
前提条件
iOS 向け Home API を使用するための最小要件を満たしていることを確認します。
サンプルアプリをビルドしてインストールするには、Xcode バージョン 15.3 以降がインストールされたパソコンが必要です。
アプリをテストするには、次のものが必要です。
- Google アカウント
- Apple Developer Program に登録されている Apple ID。実機構成ファイルを生成するために必要です。まだ作成されていない場合、登録には追加料金が発生し、完了までに最大 48 時間かかることがあります。
- テストアカウントで設定された iOS 16.4 以降を搭載した iOS デバイス(シミュレータではない)。
- Wi-Fi ネットワーク。
- Home API をサポートする Google ハブ。
- デバイスに Thread が必要で、ハブにその機能がない場合は Thread Border Router (TBR)。
- 1 つ以上のサポートされているデバイスタイプ。
開発には、次の要件を満たす Mac が必要です。
- macOS Sonoma 以降
- Xcode 15.3 以降
Apple デプロイ構成ファイルを作成する
まず、アプリで App Attest 機能を有効にする必要があります。そのため、シミュレータ デバイスにデプロイすることはできません。これを行うには、App Attest エンタイトルメントを含むプロビジョニング プロファイルを作成する必要があります。
次に、アプリと MatterExtension 間の通信でアプリグループを有効にする必要があります。これには、アプリグループ識別子を登録する必要があります。
詳しくは、Apple のプロビジョニング プロファイルに関する開発用プロビジョニング プロファイルを作成するをご覧ください。
アプリをデプロイするために必要な最小限の手順は次のとおりです。
- アプリが
MatterExtensionと通信するためのアプリグループ ID を作成します。- Apple Developer Portal にログインします。
- アプリグループ識別子を追加します。たとえば、
group.com.company.commissioningのようにフォーマットできます。
- デベロッパー アカウントにテストデバイスを登録します。
アプリ ターゲットのプロファイルを作成します。
- アプリのアプリケーション バンドル ID を決定します。ID は一意で、わかりやすいものにする必要があります。たとえば、
com.company.HomeApiSampleのようにフォーマットできます。この識別子は、このセクションの残りの部分で使用されます。 - アプリ ID を登録します。 プロンプトが表示されたら、App Attest 機能と App Groups 機能を追加します。
新しく作成したアプリ ID を編集し、App Groups 機能を構成して、登録したアプリグループ識別子を追加します。
アプリ開発用の開発プロビジョニング プロファイルを作成します。新しく作成したアプリ ID と選択したテストデバイスに関連付けます。アプリに署名するためのデベロッパー証明書があることを確認します。
- まだ作成していない場合は、デベロッパー ID 証明書を作成するの手順をご覧ください。
- アプリのアプリケーション バンドル ID を決定します。ID は一意で、わかりやすいものにする必要があります。たとえば、
MatterExtensionターゲットのプロファイルを作成します。MatterExtensionのアプリケーション バンドル ID を決定します。識別子はアプリ識別子から継承する必要があります。たとえば、com.company.HomeApiSample.MatterExtensionのようにフォーマットできます。- アプリ ID を登録します。 プロンプトが表示されたら、App Group 機能を追加します。
- 新しく作成したアプリ ID を編集し、App Groups 機能を構成して、前の手順で作成した登録済みのアプリグループ ID を追加します。
MatterExtensionの開発プロビジョニング プロファイルを作成します。
OAuth クライアント ID を生成して Home API を有効にする
アプリが Google の認証バックエンドに対して自身を識別するには、OAuth クライアント ID が必要です。iOS とアプリの場合、OAuth クライアント ID のアプリケーション タイプを iOS として構成する必要があります。このアプリは Home API も呼び出します。この機能を有効にするには、Google Cloud プロジェクトで API を有効にする必要があります。
OAuth クライアント ID を生成する
- Google Cloud コンソールで、プロジェクト セレクタ ダッシュボードに移動し、OAuth 認証情報の作成に使用するプロジェクトを選択します。
- 左上のメニューボタン > [すべてのプロダクトを表示] > [API とサービス] をクリックして、[API とサービス] ページに移動します。
- ナビゲーション メニューで [認証情報] をクリックします。
この Google Cloud プロジェクトの同意画面をまだ構成していない場合は、[同意画面を構成] ボタンが表示されます。その場合は、次の手順で同意画面を構成します。OAuth 同意画面がすでに構成されていて、公開ステータスが [テスト] の場合は、使用するテスト アカウントが [テストユーザー] グループに追加されていることを確認します。オフラインと表示されていない場合は、次の手順に進みます。
- ユースケースに応じて、[内部] または [外部] を選択し、[作成] をクリックします。[OAuth 同意画面] ペインが表示されます。
- 画面上の手順に沿って [アプリ情報ページ] に情報を入力し、[保存して続行] をクリックします。[スコープ] ペインが表示されます。
- スコープを追加する必要はないため、[保存して次へ] をクリックします。[テストユーザー] ペインが表示されます。
- 内部同意画面を作成する場合は、アプリへのアクセスをテストするユーザーを追加する必要があります。[ユーザーを追加] をクリックします。[ユーザーを追加] ペインが表示されます。テストユーザーには、アプリで権限を付与する権限があります。空のフィールドに 1 つ以上の Google アカウントのメールアドレスを追加し、[追加] をクリックします。
- [保存して次へ] をクリックします。[概要] ペインが表示されます。
- OAuth 同意画面の情報を確認し、[ダッシュボードに戻る] をクリックします。
左側のメニューパネルで [認証情報] をクリックして、OAuth クライアント ID を作成します。

- [認証情報を作成] ボタンをクリックし、[OAuth クライアント ID] を選択します。
- [アプリケーションの種類] で [iOS] を選択します。
- アプリ ID と Apple Developer チーム ID を使用してバンドル ID を入力します。その他のフィールドは省略可能で、空白のままにできます。
- [作成] をクリックし、作成されたクライアント ID をメモするか、[PLIST をダウンロード] をクリックします。これは、後で権限フロー機能を有効にするために使用します。詳細については、認証情報を作成するセクションをご覧ください。
- [認証情報を作成] ボタンをクリックし、[OAuth クライアント ID] を選択します。
Home API を有効にする
Home API へのアクセスを有効にします。
- [API とサービス] タブで、[有効な API とサービス] をクリックします。
- ページ上部の [API とサービスを有効にする] をクリックします。
HOME APIを検索して選択します。- [Home API] の詳細ページで、[有効にする] をクリックします。
ソースコードをダウンロードする
サンプルアプリのソースコードは GitHub で入手できます。
プロジェクトを保存する場所に移動し、プロジェクトのクローンを作成します。
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitXcode でプロジェクトを読み込むには、[File] > [Open] をクリックし、クローンを作成したリポジトリのルートにある GoogleHomeAPISampleIOS.xcodeproj を選択します。
プロジェクトに SDK を追加する
サンプルアプリ プロジェクトをビルドするには、追加情報が必要です。これには、SDK フレームワーク ファイルをローカルに追加すること、デベロッパー アカウントの識別子情報を入力すること、OAuth クライアント ID を入力することが含まれます。
アプリをビルドする
Home API iOS SDK をダウンロードするには、まず Google Home Developers にログインする必要があります。
サンプルアプリ用に Xcode プロジェクトを構成します。
- ダウンロードした SDK を、プロジェクトのルート ディレクトリを基準とする
ThirdParty/GoogleHomeSDKディレクトリに解凍します。 - デベロッパー ID と OAuth クライアント ID を構成します。
- ナビゲーション パネルで GoogleHomeAPISampleIOS フォルダを探し、Info.plist ファイルを開いて編集します。
Info.plist ファイルで、GIDClientID に OAuth クライアント ID(OAuth 同意を設定するセクションを参照)、Cloud Project Number にクラウド プロジェクトに対応する番号、GIDTeamID に OAuth 登録プロセスで使用したデベロッパー アカウントの Apple Developer Team ID を入力します。
App Attest 機能を追加する:
- Xcode のナビゲーション パネルで、
GoogleHomeAPISampleIOSプロジェクト ファイルを選択してプロジェクト構成を編集します。 - 上部の [Signing and Capabilities] タブをクリックし、左側の [TARGETS] セクションでターゲット
GoogleHomeAPISampleIOSを選択します。 - [Signing & Capabilities] タブのすぐ下にある [+ Capability] をクリックし、[App Attest] を検索します。
- [App Attest] をクリックして追加します。この機能が検索に表示されない場合は、プロジェクトにすでに追加されている可能性があります。
- Xcode のナビゲーション パネルで、
App Groups 機能を追加します。

- [GoogleHomeAPISampleIOS] プロジェクト > [GoogleHomeAPISampleIOS] ターゲットに移動します。
- [Signing & Capabilities] > [+ Capability] をクリックします。
- [App Groups] 機能を選択します。
- [App Groups] の下の + アイコンをクリックし、Apple デベロッパー ポータルで追加したアプリの App Groups 識別子を追加します。
- MatterAddDeviceExtension ターゲットについても同じ手順を繰り返して、App Groups に追加します。
バンドル ID を更新する
- デベロッパー証明書とプロビジョニング プロファイルを使用して、ハードウェア上でサンプルアプリを正常に実行してデプロイするには、一意のバンドル ID を指定する必要があります。これは、OAuth クライアント認証情報に関連付けられている識別子と同じにする必要があります(上記を参照)。
- Xcode のナビゲーション パネルで、
GoogleHomeAPISampleIOSプロジェクト ファイルを選択してプロジェクト構成を編集します。 - 上部の [Signing and Capabilities] タブをクリックし、左側の [TARGETS] セクションでターゲット
GoogleHomeAPISampleIOSを選択します。 - [Signing] セクションの [Bundle Identifier] フィールドを選択し、アプリケーションの一意の識別子を入力します。
- 必要な利用資格を持つバンドルに関連するプロビジョニング プロファイルを選択またはインストールします。
MatterAddDeviceExtensionターゲットについてこれらの手順を繰り返し、拡張機能のバンドル ID を入力して、登録済みのプロビジョニング プロファイルをインポートします。
コード内の登録済みアプリグループ識別子を更新します。
- アプリケーションは、デバイスのコミッショニングなどの機能にアプリグループ識別子を使用するように SDK インスタンスを構成する必要があります。文字列
HOME_API_TODO_ADD_APP_GROUPを検索し、各インスタンスを置き換えることで、Apple Developer Portal に登録されているアプリ グループ ID を使用するようにアプリを更新します。
これらの構成は、次のファイルで行われます。
- SDK が初期化されたときの
GoogleHomeAPISampleIOS.swift。 RequestHandler.swiftCommissioningManager.swift
- アプリケーションは、デバイスのコミッショニングなどの機能にアプリグループ識別子を使用するように SDK インスタンスを構成する必要があります。文字列
GoogleHomeAPISampleIOS.swiftで OAuth スコープを構成します。デフォルトでは、サンプルアプリのソースコードはhttps://www.googleapis.com/auth/home.platform.v2スコープを使用します。サンプルアプリの多くの機能はhome.platform.v2スコープによって制限されており、アクセスするにはパートナーの承認が必要です。標準のhttps://www.googleapis.com/auth/home.platform.selected.devicesスコープでサンプルアプリを実行するには、GoogleHomeAPISampleIOS.swiftを開き、Home.configureのhomePlatformOAuthScopeをHomePlatformOAuthScope.v1に変更します。Home.configure { $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP" $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1 ... }