Bu örnek iOS uygulaması, Google Home API'lerini kullanır. Uygulamayı ilk kez oluşturup çalıştırmak için bu kılavuzu kullanın.
Ön koşullar
iOS için Home API'lerini kullanmak üzere minimum gereksinimleri karşıladığınızdan emin olun.
Örnek uygulamayı oluşturup yüklemek için Xcode 15.3 veya sonraki bir sürümün yüklü olduğu bir bilgisayar gerekir.
Uygulamayı test etmek için gerekenler:
- Bir Google Hesabı.
- Fiziksel cihaz yapılandırma dosyaları oluşturmak için Apple Developer Programı'na kayıtlı bir Apple Kimliği. Henüz oluşturulmadıysa kayıt için ek ücret alınır ve kayıt işleminin tamamlanması 48 saati bulabilir.
- Test hesabı ile ayarlanmış iOS 16.4 veya sonraki bir sürümün yüklü olduğu bir iOS cihaz (simülatör değil).
- Kablosuz ağ
- Home API'lerini destekleyen bir Google hub'ı.
- Cihazınız Thread gerektiriyorsa ve hub'ınız bu özelliği desteklemiyorsa Thread sınır yönlendirici.
- En az bir desteklenen cihaz türü.
Geliştirme için aşağıdaki koşulları karşılayan bir Mac'e ihtiyacınız vardır:
- macOS Sonoma veya sonraki sürümler
- Xcode 15.3 veya sonraki sürümler
Apple dağıtım yapılandırma dosyaları oluşturma
Öncelikle, bir uygulamanın App Attest özelliğinin etkinleştirilmesini gerektirdiğini belirtmek isteriz. Bu nedenle, simülatör cihazlara dağıtılamaz. Bunun için App Attest yetkisine sahip bir temel hazırlık profili oluşturmanız gerekir.
Kullanıcıları kademeli olarak dahil etme başlıklı makaleyi inceleyin.İkincisi, uygulama ile MatterExtension
arasında iletişim kurulabilmesi için uygulama gruplarının etkinleştirilmesi gerekir. Bunun için bir uygulama grubu tanımlayıcısı kaydetmeniz gerekir.
Daha fazla bilgi için Apple'ın Geliştirme için sağlama profili oluşturma başlıklı makalesini inceleyin.
Bir uygulamayı dağıtmak için gereken minimum adımlar aşağıda özetlenmiştir:
MatterExtension
ile iletişim kurmak için uygulamanız için bir uygulama grubu tanımlayıcısı oluşturun.- Apple Developer Portal'da oturum açın.
- Uygulama grubu tanımlayıcısı ekleyin. Örneğin,
group.com.company.commissioning
olarak biçimlendirilebilir.
- Test cihazınızı geliştirici hesabına kaydedin.
Uygulama hedefiniz için bir profil oluşturun.
- Uygulamanız için bir uygulama paketi tanımlayıcısı belirleyin.
Tanımlayıcı benzersiz ve açıklayıcı olmalıdır. Örneğin,
com.company.HomeApiSample
olarak biçimlendirilebilir. Bu tanımlayıcı, bu bölümün geri kalanında kullanılacaktır. - Uygulama kimliğinizi kaydettirin. İstendiğinde App Attest ve App Groups özelliğini ekleyin.
Yeni oluşturulan uygulama kimliğini düzenleyin ve kayıtlı uygulama grubu tanımlayıcısını eklemek için Uygulama Grupları özelliğini yapılandırın.
Uygulama geliştirme için geliştirme temel hazırlık profili oluşturun. Yeni oluşturduğunuz uygulama kimliğinizle ve seçtiğiniz test cihazlarıyla ilişkilendirin. Uygulamayı imzalamak için geliştirici sertifikanızın olduğundan emin olun.
- Henüz oluşturmadıysanız talimatlar için Geliştirici kimliği sertifikaları oluşturma başlıklı makaleyi inceleyin.
- Uygulamanız için bir uygulama paketi tanımlayıcısı belirleyin.
Tanımlayıcı benzersiz ve açıklayıcı olmalıdır. Örneğin,
MatterExtension
hedefiniz için bir profil oluşturun.MatterExtension
için bir uygulama paketi tanımlayıcısı seçin. Tanımlayıcı, uygulama tanımlayıcısından devralınmalıdır. Örneğin,com.company.HomeApiSample.MatterExtension
olarak biçimlendirilebilir.- Uygulama kimliğinizi kaydettirin. İstendiğinde Uygulama Grubu özelliğini ekleyin.
- Yeni oluşturulan uygulama kimliğini düzenleyin ve önceki adımlarda oluşturulan kayıtlı uygulama grubu tanımlayıcısını eklemek için Uygulama Grupları özelliğini yapılandırın.
MatterExtension
için geliştirme temel hazırlık profili oluşturun.
OAuth istemci kimliğini oluşturma ve Ev API'lerini etkinleştirme
Uygulamanızın Google'ın kimlik doğrulama arka ucuna kendisini tanıtması için bir OAuth istemci kimliğine ihtiyacı vardır. iOS ve uygulamalar için OAuth istemci kimliği uygulama türü iOS olarak yapılandırılmalıdır. Uygulama, Home API'ye de çağrı yapar. Bu işlevin etkinleştirilmesi için API'nin Google Cloud projesinde etkinleştirilmesi gerekir.
OAuth istemci kimliğini oluşturma
- Google Cloud Console'da proje seçici kontrol paneline gidin ve OAuth kimlik bilgileri oluşturmak için kullanmak istediğiniz projeyi seçin.
- Sol üstteki menü düğmesini > Tüm Ürünleri Göster > API'ler ve Hizmetler'i tıklayarak API'ler ve Hizmetler sayfasına gidin.
- Gezinme menüsünde Kimlik bilgileri'ni tıklayın.
Bu Google Cloud projesi için izin ekranınızı henüz yapılandırmadıysanız İzin ekranını yapılandır düğmesi görünür. Bu durumda, aşağıdaki prosedürü kullanarak izin ekranınızı yapılandırın. OAuth izin ekranınız zaten yapılandırılmışsa ve yayınlama durumu Test ise kullanacağınız test hesaplarının Test kullanıcıları grubuna eklendiğinden emin olun. Aksi durumda bir sonraki adıma geçin.
- Kullanım alanınıza bağlı olarak Dahili veya Harici'yi seçin ve Oluştur'u tıklayın. OAuth izin ekranı bölmesi gösterilir.
- Uygulama bilgileri sayfasında ekrandaki talimatlara göre bilgileri girin ve Kaydet ve devam et'i tıklayın. Kapsamlar bölmesi gösterilir.
- Kapsam eklemeniz gerekmez. Bu nedenle Kaydet ve devam et'i tıklayın. Test kullanıcıları bölmesi gösterilir.
- Dahili izin ekranı oluşturmayı seçtiyseniz uygulamanıza erişimi test etmek için kullanıcı eklemeniz gerekir. Kullanıcı ekle'yi tıklayın. Kullanıcı ekle bölmesi gösterilir. Test kullanıcıları, uygulamanızda izin verme ayrıcalığına sahiptir. Boş alana bir veya daha fazla Google Hesabı e-posta adresi ekleyin ve Ekle'yi tıklayın.
- Kaydet ve devam et'i tıklayın. Özet bölmesi gösterilir.
- OAuth kullanıcı rızası ekranı bilgilerinizi inceleyin ve Kontrol paneline geri dön'ü tıklayın.
OAuth istemci kimliğinizi oluşturmak için sol menü panelinde Kimlik bilgileri'ni tıklayın.
- KİMLİK BİLGİSİ OLUŞTUR düğmesini tıklayın ve OAuth istemci kimliği'ni seçin.
- Uygulama türü bölümünde iOS'i seçin.
- Uygulama tanımlayıcınız ve Apple Developer Team ID ile Bundle ID'yi girin. Diğer alanlar isteğe bağlıdır ve boş bırakılabilir.
- OLUŞTUR'u tıklayın ve oluşturulan istemci kimliğini not alın veya PLIST'İ İNDİR'i tıklayın. Bu, daha sonra izin akışı işlevini etkinleştirmek için kullanılacaktır. Daha fazla bilgi için Yetkilendirme kimlik bilgileri oluşturma bölümüne bakın.
- KİMLİK BİLGİSİ OLUŞTUR düğmesini tıklayın ve OAuth istemci kimliği'ni seçin.
Ev API'lerini etkinleştirme
Home API'lerine erişimi etkinleştirin.
- API'ler ve Hizmetler sekmesinde Etkin API'ler ve Hizmetler'i tıklayın.
- Sayfanın üst kısmındaki API'LERİ VE HİZMETLERİ ETKİNLEŞTİR'i tıklayın.
HOME API
simgesini arayıp seçin.- Home API ayrıntılar sayfasında ETKİNLEŞTİR'i tıklayın.
Kaynak kodunu indirme
Örnek uygulamanın kaynak kodu GitHub'da mevcuttur.
Projeyi kaydetmek istediğiniz yere gidin ve projeyi klonlayın:
git clone https://github.com/google-home/google-home-api-sample-app-ios.git
Projeyi Xcode'a yüklemek için File (Dosya) > Open'ı (Aç) tıklayın ve klonlanan deponun kök dizininde GoogleHomeAPISampleIOS.xcodeproj
'ı seçin.
SDK'yı ayarlama
Örnek uygulama projesinin oluşturulması için bazı ek bilgiler gerekir. Buna, SDK Framework dosyalarını yerel olarak ekleme, geliştirici hesabı tanımlayıcı bilgilerinizi ve OAuth istemci kimliğinizi doldurma dahildir.
Uygulamayı oluşturma
Home API'leri iOS SDK'sını indirmek için öncelikle Google Home Developers'a giriş yapmanız gerekir.
Örnek uygulama için Xcode projenizi yapılandırın:
Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde
GoogleHomeAPISampleIOS
dosyasını seçin.En üstteki Genel sekmesini tıklayın ve sol tarafta hedefi seçin
GoogleHomeAPISampleIOS
.Framework'ler, Kitaplıklar ve Yerleştirilmiş İçerik bölümünü görene kadar aşağı kaydırın. İki Home API Framework'ü listelenmiş olarak görmelisiniz.
Yerleştir sütununda,
GoogleHomeSDK.xcframework
için Yerleştir ve İmzala'yı seçin. Diğer çerçeveGoogleHomeTypes.xcframework
, Yerleştirme olarak bırakılmalıdır.Listenin alt kısmındaki + simgesini tıklayın.
İstendiğinde
SafariServices.framework
ifadesini arayın ve ekle'yi tıklayın. Bu giriş için Yerleştir sütununun Yerleştirme olarak ayarlandığından emin olun.Hedefini düzenlemek için Hedef bölümündeki
MatterAddDeviceExtension
simgesini tıklayın.Frameworks and Libraries (Çerçeveler ve Kitaplıklar) bölümünü görene kadar aşağı kaydırın.
GoogleHomeSDK.xcframework
listelenmiş olmalıdır.Yerleştir sütununda Yerleştirme'yi seçin.
Geliştirici ve OAuth istemci kimliklerini yapılandırın:
- Gezinme bölmesinde GoogleHomeAPISampleIOS klasörünü bulun ve düzenlemek için Info.plist dosyasını açın.
Info.plist dosyasında, GIDClientID'yi OAuth istemci kimliğinizle (OAuth izni ayarlama bölümüne bakın), bulut projenize karşılık gelen Cloud Project Number ile ve GIDTeamID'yi OAuth kayıt işlemi sırasında kullanılan geliştirici hesabının Apple Developer Team ID'siyle doldurun.
Uygulama Onaylama Özelliği Ekleme:
- Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde
GoogleHomeAPISampleIOS
proje dosyasını seçin. - En üstteki İmzalama ve Özellikler sekmesini tıklayın ve HEDEFLER bölümünün altındaki sol tarafta hedef
GoogleHomeAPISampleIOS
'i seçin. - İmzalama ve Özellikler sekmesinin hemen altında + Özellik'i tıklayın ve App Attest'i arayın.
- Eklemek için App Attest'i tıklayın. Bu özellik aramada yoksa proje tarafından eklenmiş olabilir.
- Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde
Uygulama Grupları özelliğini ekleyin.
- GoogleHomeAPISampleIOS projesi > GoogleHomeAPISampleIOS hedefi'ne gidin.
- İmzalama ve Özellikler > + Özellik'i tıklayın.
- Uygulama Grupları özelliğini seçin.
- Uygulama Grupları bölümünde + simgesini tıklayın ve Apple Developer Portal'da eklediğiniz uygulamanızın uygulama grubu tanımlayıcısını ekleyin.
- MatterAddDeviceExtension hedefi için bu adımları tekrarlayarak hedefi Uygulama Grupları'na ekleyin.
Paket kimliğini güncelleme
- Örnek uygulamayı geliştirici sertifikalarınızı ve sağlama profillerinizi kullanarak donanımda başarıyla çalıştırmak ve dağıtmak için benzersiz bir paket tanımlayıcı sağlamanız gerekir. Bu, OAuth istemci kimlik bilgilerinizle (yukarıya bakın) ilişkilendirilmiş tanımlayıcıyla aynı olmalıdır.
- Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde
GoogleHomeAPISampleIOS
proje dosyasını seçin. - En üstteki İmzalama ve Özellikler sekmesini tıklayın ve HEDEFLER bölümünün altındaki sol tarafta hedef
GoogleHomeAPISampleIOS
'i seçin. - İmzalama bölümünde Paket Tanımlayıcısı alanını seçin ve uygulamanın benzersiz tanımlayıcısını girin.
- Gerekli yetkilendirmeleri içeren bu pakete ilişkin sağlama profilini seçin veya yükleyin.
MatterAddDeviceExtension
hedefi için bu adımları tekrarlayarak uzantının paket tanımlayıcısını girin ve kayıtlı sağlama profilini içe aktarın.
Kayıtlı uygulama grubu tanımlayıcısını kodda güncelleyin.
- Uygulamanın, cihaz devreye alma gibi özellikler için uygulama grubu tanımlayıcısından yararlanmak üzere SDK örneğini yapılandırması gerekir.
HOME_API_TODO_ADD_APP_GROUP
dizesini arayarak ve her örneği bu dizeyle değiştirerek uygulamayı Apple Developer Portal'da kayıtlı uygulama grubu kimliğini kullanacak şekilde güncelleyin.
Bu yapılandırmalar aşağıdaki dosyalarda yapılır:
GoogleHomeAPISampleIOS.swift
SDK başlatıldığındaRequestHandler.swift
CommissioningManager.swift
- Uygulamanın, cihaz devreye alma gibi özellikler için uygulama grubu tanımlayıcısından yararlanmak üzere SDK örneğini yapılandırması gerekir.