Membangun Aplikasi Contoh iOS

Contoh aplikasi iOS 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.

Download Xcode

Untuk menguji aplikasi, Anda memerlukan:

  1. Akun Google.
  2. ID Apple yang terdaftar dalam Program Pengembang Apple untuk menghasilkan 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. 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 kemampuan App Attest diaktifkan. Akibatnya, aplikasi 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 Membuat profil penyediaan pengembangan di profil penyediaan di situs Apple.

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

  1. Buat ID grup aplikasi untuk aplikasi Anda agar dapat berkomunikasi dengan MatterExtension.
    1. Login ke Apple Developer Portal.
    2. Tambahkan pengidentifikasi 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 pengidentifikasi grup aplikasi terdaftar.

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

  4. Buat profil untuk target MatterExtension Anda.

    1. Tentukan pengidentifikasi bundel aplikasi untuk MatterExtension Anda. Pengidentifikasi harus diwarisi dari pengidentifikasi aplikasi. Misalnya, 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 pengidentifikasi grup aplikasi terdaftar yang dibuat pada langkah sebelumnya.
    4. Buat profil penyediaan pengembangan untuk MatterExtension.

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.

Hasilkan ID klien OAuth

  1. Di konsol Google Cloud, buka dasbor pemilih project dan pilih project yang ingin Anda gunakan untuk membuat kredensial OAuth.
  2. Buka halaman APIs and Services dengan mengklik tombol menu di sisi kiri atas > View All Products > APIs & Services.
  3. Di menu navigasi, klik Credentials.
  4. Jika Anda belum mengonfigurasi layar persetujuan untuk proyek Google Cloud ini, tombol Konfigurasikan layar persetujuan 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.

    1. Bergantung pada kasus penggunaan Anda, pilih Internal atau Eksternal, lalu klik Buat. Panel Layar persetujuan OAuth ditampilkan.
    2. Masukkan informasi di halaman Informasi aplikasi sesuai dengan petunjuk di layar, lalu klik Simpan dan lanjutkan. Panel Cakupan akan ditampilkan.
    3. Anda tidak perlu menambahkan cakupan apa pun, jadi klik Simpan dan lanjutkan. Panel Pengguna pengujian 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.

    Menyiapkan layar OAuth

    1. Klik tombol CREATE CREDENTIALS, lalu pilih OAuth client ID.
      1. Di bagian application type, pilih iOS.
    2. Masukkan Bundle ID dengan ID aplikasi dan ID Tim Developer Apple Anda. Kolom lainnya bersifat opsional dan dapat dibiarkan kosong.
    3. 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.

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.

Arahkan ke tempat Anda ingin menyimpan proyek, lalu kloning:

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.

Login sekarang!

Konfigurasi project Xcode untuk Aplikasi Contoh:

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

    Siapkan Aplikasi Sampel SDK

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

  3. Gulir ke bawah hingga Anda melihat bagian Kerangka Kerja, Pustaka, dan Konten Tertanam. Anda akan melihat dua Framework API Home yang tercantum.

  4. Di kolom Sematkan, pilih Sematkan & Tandatangani untuk GoogleHomeSDK.xcframework. Kerangka kerja lainnya, GoogleHomeTypes.xcframework, sebaiknya dibiarkan sebagai Jangan Sematkan.

  5. Di bagian bawah daftar, klik ikon +.

  6. Saat diminta, cari SafariServices.framework dan klik tambahkan. Pastikan kolom Sematkan diatur ke Jangan Sematkan untuk entri ini.

    Sematkan dan tanda tangani

  7. Klik MatterAddDeviceExtension di bawah Target untuk mengedit targetnya.

  8. Scroll ke bawah hingga Anda melihat bagian Frameworks and Libraries. Anda akan melihat GoogleHomeSDK.xcframework tercantum.

  9. Di kolom Sematkan, pilih Jangan Sematkan.

  10. Konfigurasi ID klien Developer dan OAuth:

    1. Di panel navigasi, cari folder GoogleHomeAPISampleIOS, lalu buka file Info.plist untuk diedit.
  11. Dalam file Info.plist, isi GIDClientID dengan ID klien OAuth Anda (lihat bagian Menyiapkan persetujuan OAuth), Nomor Proyek Cloud yang sesuai dengan proyek cloud Anda, dan GIDTeamID dengan ID Tim Pengembang Apple dari akun pengembang yang digunakan selama proses pendaftaran OAuth.

  12. Tambahkan Kemampuan App Attest:

    1. Di panel navigasi Xcode, pilih file proyek GoogleHomeAPISampleIOS untuk mengedit konfigurasi proyek.
    2. Klik tab Penandatanganan dan Kemampuan di bagian atas dan pilih target GoogleHomeAPISampleIOS di sisi kiri di bawah bagian TARGET.
    3. Tepat di bawah tab Signing and Capabilities, klik + Capability lalu telusuri App Attest.
    4. Klik App Attest untuk menambahkan. Jika kemampuan ini tidak ada dalam pencarian, proyek tersebut mungkin telah menambahkannya.
  13. 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 Grup Aplikasi dan tambahkan ID Grup Aplikasi untuk aplikasi yang Anda tambahkan di Apple Developer Portal.
    5. Ulangi langkah-langkah ini untuk target MatterAddDeviceExtension untuk menambahkannya ke Grup Aplikasi.
  14. Perbarui ID paket

    1. 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).
    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 sisi kiri pada bagian TARGET.
    4. Pilih bidang Pengidentifikasi Paket di bagian Penandatanganan dan masukkan pengidentifikasi 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.
  15. Perbarui ID grup aplikasi terdaftar dalam kode.

    1. 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