Mem-build aplikasi contoh iOS

Aplikasi iOS contoh ini menggunakan Google Home API. Gunakan panduan ini untuk mem-build dan menjalankan aplikasi untuk pertama kalinya.

Prasyarat

Pastikan Anda memiliki persyaratan minimum untuk menggunakan Home API untuk iOS.

Untuk mem-build dan menginstal aplikasi contoh, Anda memerlukan komputer yang menginstal Xcode versi 15.3+.

Mendownload Xcode

Untuk menguji aplikasi, Anda memerlukan:

  1. Akun Google yang terdaftar di EAP Home API yang berfungsi sebagai akun pengujian.
  2. ID Apple yang terdaftar di Program Developer Apple untuk membuat file konfigurasi perangkat fisik. Jika belum dibuat, pendaftaran akan dikenai biaya tambahan dan mungkin memerlukan waktu hingga 48 jam untuk diselesaikan.
  3. Perangkat iOS (bukan simulator) yang menjalankan iOS 16.4+ yang disiapkan dengan akun pengujian.
  4. Jaringan Wi-Fi.
  5. Hub Google yang mendukung Home API.
  6. Router pembatas Thread jika perangkat Anda memerlukan Thread dan hub Anda tidak memiliki kemampuan tersebut.
  7. Minimal satu jenis perangkat yang didukung.

Untuk pengembangan, Anda memerlukan Mac yang memenuhi persyaratan berikut:

  • macOS Sonoma atau yang lebih baru
  • Xcode 15.3 atau yang lebih baru

Membuat file konfigurasi deployment Apple

Pertama, aplikasi memerlukan kemampuan App Attest yang diaktifkan. Akibatnya, aplikasi tidak dapat di-deploy ke perangkat simulator. Untuk melakukannya, Anda harus membuat profil penyediaan dengan hak App Attest.

Kedua, fitur ini mengharuskan Grup Aplikasi diaktifkan untuk komunikasi antara aplikasi dan MatterExtension. Untuk melakukannya, Anda harus mendaftarkan ID grup aplikasi.

Untuk mengetahui detail selengkapnya, lihat artikel Apple Membuat profil penyediaan pengembangan di profil penyediaan.

Berikut ini adalah langkah-langkah minimum yang diperlukan untuk men-deploy aplikasi:

  1. Buat ID grup aplikasi agar aplikasi Anda dapat berkomunikasi dengan MatterExtension.
    1. Login ke Apple Developer Portal.
    2. Tambahkan ID grup aplikasi. Misalnya, dapat diformat sebagai group.com.company.commissioning.
  2. Daftarkan perangkat pengujian Anda ke akun developer.
  3. Buat profil untuk target aplikasi Anda.

    1. Tentukan ID paket aplikasi untuk aplikasi Anda. ID harus unik dan deskriptif. Misalnya, dapat diformat sebagai com.company.HomeApiSample. ID ini akan digunakan di seluruh bagian ini.
    2. Daftarkan ID Aplikasi Anda. Saat diminta, tambahkan kemampuan App Attest dan App Groups.
    3. Edit ID Aplikasi yang baru dibuat dan konfigurasikan kemampuan Grup Aplikasi untuk menambahkan ID grup aplikasi yang terdaftar.

    4. Buat profil penyediaan pengembangan untuk pengembangan aplikasi Anda. Kaitkan ke ID Aplikasi yang baru dibuat dan perangkat pengujian yang dipilih. Pastikan Anda memiliki sertifikat developer untuk menandatangani aplikasi.

  4. Buat profil untuk target MatterExtension Anda.

    1. Tentukan ID paket aplikasi untuk MatterExtension Anda. ID harus diwarisi dari ID aplikasi. Misalnya, data tersebut dapat diformat sebagai com.company.HomeApiSample.MatterExtension.
    2. Daftarkan ID Aplikasi Anda. Saat diminta, tambahkan kemampuan Grup Aplikasi.
    3. Edit ID Aplikasi yang baru dibuat dan konfigurasikan kemampuan Grup Aplikasi untuk menambahkan ID grup aplikasi terdaftar yang dibuat di langkah sebelumnya.
    4. Buat profil penyediaan pengembangan untuk MatterExtension.

Membuat client ID OAuth dan mengaktifkan Home API

Aplikasi Anda memerlukan client ID OAuth untuk mengidentifikasi dirinya ke backend autentikasi Google. Untuk iOS dan aplikasi, jenis aplikasi client ID OAuth harus dikonfigurasi sebagai iOS. Aplikasi juga akan melakukan panggilan ke Home API. Untuk mengaktifkan fungsi ini, API harus diaktifkan di project Google Cloud.

Membuat client ID OAuth

  1. Di konsol Google Cloud, buka dasbor pemilih project dan pilih project yang ingin Anda gunakan untuk membuat kredensial OAuth.
  2. Buka halaman API dan Layanan dengan mengklik tombol menu di sisi kiri atas > Lihat Semua Produk > API & Layanan.
  3. Di menu navigasi, klik Kredensial.
  4. Jika Anda belum mengonfigurasi layar izin untuk project Google Cloud ini, tombol Configure consent screen akan muncul. Dalam hal ini, konfigurasi layar izin Anda menggunakan prosedur berikut. Jika layar izin OAuth Anda telah dikonfigurasi dan status publikasinya adalah Pengujian, pastikan akun pengujian yang akan Anda gunakan ditambahkan ke grup Pengguna pengujian. Jika tidak, lanjutkan ke langkah berikutnya.

    1. Bergantung pada kasus penggunaan Anda, pilih Internal atau External, lalu klik Create. Panel OAuth consent screen akan ditampilkan.
    2. Masukkan informasi di halaman Informasi aplikasi sesuai dengan petunjuk di layar, lalu klik Simpan dan lanjutkan. Panel Scopes akan ditampilkan.
    3. Anda tidak perlu menambahkan cakupan apa pun, jadi klik Save and continue. Panel Test users akan ditampilkan.
    4. Jika memilih untuk membuat layar izin internal, Anda harus menambahkan pengguna untuk menguji akses ke aplikasi Anda. Klik Tambahkan pengguna. Panel Tambahkan pengguna akan ditampilkan. Pengguna pengujian memiliki hak istimewa untuk memberikan izin di aplikasi Anda. Di kolom kosong, tambahkan satu atau beberapa alamat email Akun Google, lalu klik Tambahkan.
    5. Klik Simpan dan lanjutkan. Panel Ringkasan akan ditampilkan.
    6. Tinjau informasi layar izin OAuth Anda, lalu klik Kembali ke dasbor.
  5. Di panel menu kiri, klik Credentials untuk membuat client ID OAuth Anda.

    Layar penyiapan OAuth

    1. Klik tombol CREATE CREDENTIALS, lalu pilih OAuth client ID.
      1. Di bagian application type, pilih iOS.
    2. Masukkan ID Paket dengan ID aplikasi dan ID Tim Developer Apple. Kolom lainnya bersifat opsional dan dapat dikosongkan.
    3. Klik CREATE, lalu catat Client ID yang dibuat atau DOWNLOAD PLIST. Ini akan digunakan nanti untuk mengaktifkan fungsi alur izin. Untuk mengetahui informasi selengkapnya, lihat bagian Membuat kredensial otorisasi.

Mengaktifkan Home API

Aktifkan akses ke Home API.

  1. Di tab APIs and Services, klik Enabled APIs & Services.
  2. Klik ENABLE APIS AND SERVICES di bagian atas halaman.
  3. Telusuri HOME API, lalu pilih.
  4. Di halaman detail Home API, klik ENABLE.

Mendownload kode sumber

Kode sumber untuk aplikasi contoh tersedia di GitHub.

Buka tempat Anda ingin menyimpan project, lalu clone project tersebut:

git clone https://github.com/google-home/google-home-api-sample-app-ios.git

Untuk memuat project di Xcode, klik File > Open, lalu pilih GoogleHomeAPISampleIOS.xcodeproj di root repositori yang di-clone.

Siapkan SDK

Project aplikasi contoh memerlukan beberapa informasi tambahan untuk di-build. Hal ini mencakup penambahan file Framework SDK secara lokal, mengisi informasi ID akun developer, dan mengisi client ID OAuth Anda.

Membangun aplikasi

Untuk mendownload Home APIs iOS SDK, Anda harus login ke Google Home Developers terlebih dahulu.

Login sekarang!

Konfigurasikan project Xcode untuk aplikasi contoh:

  1. Di panel navigasi Xcode, pilih file GoogleHomeAPISampleIOS untuk mengedit konfigurasi project.

    Menyiapkan aplikasi contoh SDK

  2. Klik tab Umum di bagian atas dan pilih target GoogleHomeAPISampleIOS di sebelah kiri.

  3. Scroll ke bawah hingga Anda melihat bagian Framework, Library, dan Konten Tersemat. Anda akan melihat dua Framework Home API yang tercantum.

  4. Di kolom Sematan, pilih Semat & Tanda Tangani untuk GoogleHomeSDK.xcframework. Framework lainnya, GoogleHomeTypes.xcframework, harus dibiarkan sebagai Jangan Sematkan.

  5. Di bagian bawah daftar, klik ikon +.

  6. Saat diminta, telusuri SafariServices.framework, lalu klik tambahkan. Pastikan kolom Sisipkan disetel ke Jangan Sisipkan untuk entri ini.

    Menyematkan dan menandatangani

  7. Klik MatterAddDeviceExtension di bagian Target untuk mengedit targetnya.

  8. Scroll ke bawah hingga Anda melihat bagian Framework dan Library. Anda akan melihat GoogleHomeSDK.xcframework tercantum.

  9. Di kolom Sematan, pilih Jangan Sematkan.

  10. Konfigurasikan client ID Developer dan OAuth:

    1. Di panel navigasi, cari folder GoogleHomeAPISampleIOS dan buka file Info.plist untuk diedit.
  11. Dalam file Info.plist, isi GIDClientID dengan client ID OAuth Anda (lihat bagian Menyiapkan izin OAuth) dan GIDTeamID dengan Apple Developer Team ID akun developer yang digunakan selama proses pendaftaran OAuth.

  12. Konfigurasikan sistem build:

    Menambahkan flag penaut

    1. Di panel navigasi Xcode, pilih file project GoogleHomeAPISampleIOS untuk mengedit konfigurasi project.
    2. Klik tab Build Settings di bagian atas, lalu pilih target GoogleHomeAPISampleIOS di sisi kiri pada bagian TARGETS.
    3. Telusuri Other Linker Flags dan tambahkan dua entri:
      • -lc++
      • -ObjC
  13. Menambahkan Kemampuan App Attest:

    1. Di panel navigasi Xcode, pilih file project GoogleHomeAPISampleIOS untuk mengedit konfigurasi project.
    2. Klik tab Penandatanganan dan Kemampuan di bagian atas, lalu pilih target GoogleHomeAPISampleIOS di sebelah kiri pada bagian TARGET.
    3. Tepat di bawah tab Signing and Capabilities, klik + Capability dan telusuri App Attest.
    4. Klik App Attest untuk menambahkan. Jika kemampuan ini tidak ada dalam penelusuran, project mungkin sudah menambahkannya.
  14. Tambahkan kemampuan Grup Aplikasi.

    Menambahkan grup aplikasi

    1. Buka project GoogleHomeAPISampleIOS > target GoogleHomeAPISampleIOS.
    2. Klik Signing & Capabilities > + Capability.
    3. Pilih kemampuan Grup Aplikasi.
    4. Klik ikon + di bagian App Groups dan tambahkan ID App Groups untuk aplikasi yang Anda tambahkan di Apple Developer Portal.
    5. Ulangi langkah-langkah ini untuk target MatterAddDeviceExtension guna menambahkannya ke Grup Aplikasi.
  15. Memperbarui ID Paket

    1. Agar berhasil menjalankan dan men-deploy aplikasi contoh di hardware menggunakan sertifikat developer dan profil penyediaan, Anda harus memberikan ID paket unik. ID ini harus sama dengan ID yang terkait dengan kredensial klien OAuth Anda (lihat di atas).
    2. Di panel navigasi Xcode, pilih file project GoogleHomeAPISampleIOS untuk mengedit konfigurasi project.
    3. Klik tab Penandatanganan dan Kemampuan di bagian atas, lalu pilih target GoogleHomeAPISampleIOS di sebelah kiri pada bagian TARGET.
    4. Pilih kolom ID Paket di bagian Penandatanganan dan masukkan ID unik untuk Aplikasi.
    5. Pilih atau instal profil penyediaan yang terkait dengan paket tersebut dengan hak yang diperlukan.
    6. Ulangi langkah-langkah ini untuk target MatterAddDeviceExtension guna memasukkan ID paket untuk ekstensi dan mengimpor profil penyediaan yang terdaftar.
  16. Perbarui ID grup aplikasi terdaftar dalam kode.

    1. Aplikasi harus mengonfigurasi instance SDK untuk menggunakan ID Grup Aplikasi untuk fitur seperti commissioning perangkat. Perbarui aplikasi untuk menggunakan ID Grup Aplikasi yang terdaftar di Portal Developer Apple dengan menelusuri string HOME_API_TODO_ADD_APP_GROUP dan ganti setiap instance dengan string tersebut.

    Konfigurasi ini dibuat dalam file berikut:

    • GoogleHomeAPISampleIOS.swift saat SDK diinisialisasi.
    • RequestHandler.swift
    • CommissioningManager.swift