Aplikasi iOS contoh ini menggunakan Google Home API. Gunakan panduan ini untuk membuat 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 dengan Xcode versi 15.3+ yang diinstal di dalamnya.
Untuk menguji aplikasi, Anda memerlukan:
- Akun Google.
- Apple ID yang terdaftar dalam Apple Developer Program untuk membuat file konfigurasi perangkat fisik. Jika belum dibuat, pendaftaran akan dikenai biaya tambahan dan mungkin memerlukan waktu hingga 48 jam untuk diselesaikan.
- Perangkat iOS (bukan simulator) yang menjalankan iOS 16.4+ yang disiapkan dengan akun pengujian.
- Jaringan Wi-Fi.
- Hub Google yang mendukung Home API.
- Router pembatas Thread jika perangkat Anda memerlukan Thread dan hub Anda tidak memiliki kemampuan tersebut.
- Setidaknya 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 pengaktifan kemampuan App Attest. Akibatnya, model ini tidak dapat di-deploy ke perangkat simulator. Hal ini mengharuskan Anda membuat profil penyediaan dengan hak App Attest.
Kedua, App Groups harus diaktifkan untuk komunikasi antara aplikasi
dan MatterExtension
. Hal ini mengharuskan Anda mendaftarkan ID grup aplikasi.
Untuk mengetahui detail selengkapnya, lihat artikel Apple tentang Membuat profil penyediaan pengembangan di profil penyediaan.
Berikut ini adalah langkah-langkah minimum yang diperlukan untuk men-deploy aplikasi:
- Buat ID grup aplikasi untuk aplikasi Anda agar dapat berkomunikasi dengan
MatterExtension
.- Login ke Apple Developer Portal.
- Tambahkan ID grup aplikasi. Misalnya, dapat diformat sebagai
group.com.company.commissioning
.
- Daftarkan perangkat pengujian Anda ke akun developer.
Buat profil untuk target aplikasi Anda.
- 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. - Daftarkan ID Aplikasi Anda. Saat diminta, tambahkan kemampuan App Attest dan App Groups.
Edit ID Aplikasi yang baru dibuat dan konfigurasi kemampuan Grup Aplikasi untuk menambahkan ID grup aplikasi terdaftar.
Buat profil penyediaan pengembangan untuk pengembangan aplikasi Anda. Kaitkan dengan ID Aplikasi yang baru dibuat dan perangkat pengujian yang dipilih. Pastikan Anda memiliki sertifikat developer untuk menandatangani aplikasi.
- Jika Anda belum membuatnya, lihat Membuat sertifikat ID Developer untuk mengetahui petunjuknya.
- Tentukan ID paket aplikasi untuk aplikasi Anda.
ID harus unik dan deskriptif. Misalnya, dapat diformat sebagai
Buat profil untuk target
MatterExtension
Anda.- Tentukan ID paket aplikasi untuk
MatterExtension
Anda. ID harus diwarisi dari ID aplikasi. Misalnya, formatnya bisa berupacom.company.HomeApiSample.MatterExtension
. - Daftarkan ID Aplikasi Anda. Saat diminta, tambahkan kemampuan Grup Aplikasi.
- Edit ID Aplikasi yang baru dibuat dan konfigurasi kemampuan Grup Aplikasi untuk menambahkan ID grup aplikasi terdaftar yang dibuat pada langkah sebelumnya.
- Buat profil penyediaan pengembangan
untuk
MatterExtension
.
- Tentukan ID paket aplikasi untuk
Buat client ID OAuth dan aktifkan 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.
Buat client ID OAuth
- Di konsol Google Cloud, buka dasbor pemilih project dan pilih project yang ingin Anda gunakan untuk membuat kredensial OAuth.
- Buka halaman APIs and Services dengan mengklik tombol menu di sisi kiri atas > View All Products > APIs & Services.
- Di menu navigasi, klik Credentials.
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 telah ditambahkan ke grup Pengguna pengujian. Jika tidak, lanjutkan ke langkah berikutnya.
- Bergantung pada kasus penggunaan Anda, pilih Internal atau Eksternal, lalu klik Buat. Panel OAuth consent screen akan ditampilkan.
- Masukkan informasi di halaman Informasi aplikasi sesuai dengan petunjuk di layar, lalu klik Simpan dan lanjutkan. Panel Cakupan akan ditampilkan.
- Anda tidak perlu menambahkan cakupan apa pun, jadi klik Simpan dan lanjutkan. Panel Pengguna pengujian akan ditampilkan.
- 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 penguji memiliki hak istimewa untuk memberikan izin di aplikasi Anda. Di kolom kosong, tambahkan satu atau beberapa alamat email Akun Google, lalu klik Tambahkan.
- Klik Simpan dan lanjutkan. Panel Ringkasan akan ditampilkan.
- Tinjau informasi layar izin OAuth Anda, lalu klik Kembali ke dasbor.
Di panel menu kiri, klik Credentials untuk membuat client ID OAuth Anda.
- Klik tombol BUAT KREDENSIAL, lalu pilih ID klien OAuth.
- Di bagian jenis aplikasi, pilih iOS.
- Masukkan Bundle ID dengan ID aplikasi dan ID Tim Developer Apple Anda. Kolom lainnya bersifat opsional dan dapat dikosongkan.
- Klik CREATE, lalu catat Client ID yang dibuat atau DOWNLOAD PLIST. Hal ini akan digunakan nanti untuk mengaktifkan fungsi alur izin. Untuk mengetahui informasi selengkapnya, lihat bagian Membuat kredensial otorisasi.
- Klik tombol BUAT KREDENSIAL, lalu pilih ID klien OAuth.
Aktifkan Home API
Aktifkan akses ke Home API.
- Di tab API dan Layanan, klik API & Layanan yang Diaktifkan.
- Klik ENABLE APIS AND SERVICES di bagian atas halaman.
- Telusuri
HOME API
, lalu pilih. - 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:
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 dibangun. Hal ini mencakup penambahan file Framework SDK secara lokal, pengisian informasi ID akun developer, dan pengisian ID klien OAuth.
Membangun aplikasi
Untuk mendownload Home APIs iOS SDK, Anda harus login terlebih dahulu ke Google Home Developers.
Konfigurasi project Xcode untuk Aplikasi Contoh:
Di panel navigasi Xcode, pilih file
GoogleHomeAPISampleIOS
untuk mengedit konfigurasi project.Klik tab Umum di bagian atas, lalu pilih target
GoogleHomeAPISampleIOS
di sebelah kiri.Scroll ke bawah hingga Anda melihat bagian Framework, Library, dan Konten Sematan. Anda akan melihat dua Framework API Home yang tercantum.
Di kolom Sematkan, pilih Sematkan & Tandatangani untuk
GoogleHomeSDK.xcframework
. Framework lainnya,GoogleHomeTypes.xcframework
, harus dibiarkan sebagai Jangan Sematkan.Di bagian bawah daftar, klik ikon +.
Saat diminta, telusuri
SafariServices.framework
dan klik tambahkan. Pastikan kolom Sematkan disetel ke Jangan Sematkan untuk entri ini.Klik
MatterAddDeviceExtension
di bagian Target untuk mengedit targetnya.Scroll ke bawah hingga Anda melihat bagian Frameworks and Libraries. Anda akan melihat
GoogleHomeSDK.xcframework
tercantum.Di kolom Sematkan, pilih Jangan Sematkan.
Konfigurasi client ID Developer dan OAuth:
- Di panel navigasi, cari folder GoogleHomeAPISampleIOS, lalu buka file Info.plist untuk diedit.
Dalam file Info.plist, isi GIDClientID dengan ID klien OAuth Anda (lihat bagian Menyiapkan izin OAuth), Cloud Project Number yang sesuai dengan project cloud Anda, dan GIDTeamID dengan ID Tim Developer Apple dari akun developer yang digunakan selama proses pendaftaran OAuth.
Tambahkan Kemampuan App Attest:
- Di panel navigasi Xcode, pilih file project
GoogleHomeAPISampleIOS
untuk mengedit konfigurasi project. - Klik tab Penandatanganan dan Kemampuan di bagian atas, lalu pilih
GoogleHomeAPISampleIOS
target di sisi kiri di bagian TARGET. - Tepat di bawah tab Signing and Capabilities, klik + Capability lalu telusuri App Attest.
- Klik App Attest untuk menambahkan. Jika kemampuan ini tidak ada dalam penelusuran, project mungkin sudah menambahkannya.
- Di panel navigasi Xcode, pilih file project
Tambahkan kemampuan Grup Aplikasi.
- Buka project GoogleHomeAPISampleIOS > target GoogleHomeAPISampleIOS.
- Klik Signing & Capabilities > + Capability.
- Pilih kemampuan Grup Aplikasi.
- Klik ikon + di bagian Grup Aplikasi dan tambahkan ID Grup Aplikasi untuk aplikasi yang Anda tambahkan di Apple Developer Portal.
- Ulangi langkah-langkah ini untuk target MatterAddDeviceExtension guna menambahkannya ke Grup Aplikasi.
Perbarui ID paket
- Agar berhasil menjalankan dan men-deploy Aplikasi Contoh di hardware menggunakan profil penyediaan dan sertifikat developer Anda, Anda harus memberikan ID bundle unik. ID ini harus sama dengan ID yang terkait dengan kredensial klien OAuth Anda (lihat di atas).
- Di panel navigasi Xcode, pilih file project
GoogleHomeAPISampleIOS
untuk mengedit konfigurasi project. - Klik tab Penandatanganan dan Kemampuan di bagian atas, lalu pilih
GoogleHomeAPISampleIOS
target di sisi kiri di bagian TARGET. - Pilih kolom ID Paket di bagian Penandatanganan dan masukkan ID unik untuk Aplikasi.
- Pilih atau instal profil penyediaan yang terkait dengan paket tersebut dengan hak yang diperlukan.
- Ulangi langkah-langkah ini untuk target
MatterAddDeviceExtension
guna memasukkan ID bundle untuk ekstensi dan mengimpor profil penyediaan yang terdaftar.
Perbarui ID grup aplikasi terdaftar dalam kode.
- Aplikasi diwajibkan untuk mengonfigurasi instance SDK agar dapat menggunakan
ID Grup Aplikasi untuk fitur seperti aktivasi perangkat. Perbarui
aplikasi untuk menggunakan ID Grup Aplikasi yang terdaftar di Apple Developer
Portal dengan menelusuri string
HOME_API_TODO_ADD_APP_GROUP
dan mengganti setiap instance dengan ID tersebut.
Konfigurasi ini dilakukan dalam file berikut:
GoogleHomeAPISampleIOS.swift
saat SDK diinisialisasi.RequestHandler.swift
CommissioningManager.swift
- Aplikasi diwajibkan untuk mengonfigurasi instance SDK agar dapat menggunakan
ID Grup Aplikasi untuk fitur seperti aktivasi perangkat. Perbarui
aplikasi untuk menggunakan ID Grup Aplikasi yang terdaftar di Apple Developer
Portal dengan menelusuri string