iOS örnek uygulamasını derleme

Bu örnek iOS uygulamasında Google Home API'leri kullanılmaktadır. Uygulamayı derleyip ilk kez çalıştırmak için bu kılavuzu kullanın.

Ön koşullar

iOS için Home API'lerini kullanmak üzere gereken minimum koşulları karşıladığınızdan emin olun.

Örnek uygulamayı derleyip yüklemek için Xcode 15.3 veya sonraki bir sürümün yüklü olduğu bir bilgisayara ihtiyacınız vardır.

Xcode'u indirme

Uygulamayı test etmek için şunlara ihtiyacınız vardır:

  1. Home APIs EAP'ye kayıtlı ve test hesabı olarak kullanılan bir Google Hesabı.
  2. 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şlemi ek maliyete neden olur ve tamamlanması 48 saati bulabilir.
  3. Test hesabıyla ayarlanmış, iOS 16.4 veya sonraki bir sürümü çalıştıran iOS cihaz (simülatör değil).
  4. Kablosuz ağ.
  5. Home API'leri destekleyen bir Google hub.
  6. Cihazınız için Thread gerekiyorsa ve hub'ınızda bu özellik yoksa Thread sınır yönlendirici
  7. 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, uygulamanın uygulama doğrulaması özelliğinin etkinleştirilmesi gerekir. Sonuç olarak, simülatör cihazlara dağıtılamaz. Bunun için App Attest yetkisine sahip bir temel hazırlama profili oluşturmanız gerekir.

İkinci olarak, uygulama ile MatterExtension arasında iletişim 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 temel hazırlama profilleriyle ilgili Geliştirme temel hazırlığı profili oluşturma başlıklı makalesine bakın.

Aşağıda, bir uygulamayı dağıtmak için gereken minimum adımlar özetlenmiştir:

  1. Uygulamanızın MatterExtension ile iletişim kurması için bir uygulama grubu tanımlayıcısı oluşturun.
    1. Apple Developer Portal'da oturum açın.
    2. Uygulama grubu tanımlayıcısı ekleyin. Örneğin, group.com.company.commissioning şeklinde biçimlendirilebilir.
  2. Test cihazınızı geliştirici hesabına kaydedin.
  3. Uygulama hedefiniz için bir profil oluşturun.

    1. 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 şeklinde biçimlendirilebilir. Bu tanımlayıcı, bu bölümün geri kalanında kullanılacaktır.
    2. Uygulama kimliğinizi kaydedin. İstendiğinde Uygulama Attest ve Uygulama Grupları özelliğini ekleyin.
    3. Kayıtlı uygulama grubu tanımlayıcısını eklemek için yeni oluşturulan uygulama kimliğini düzenleyin ve uygulama grupları özelliğini yapılandırın.

    4. Uygulama geliştirmeniz için geliştirme temel hazırlığı profili oluşturun. Yeni oluşturduğunuz uygulama kimliğiyle ve seçili test cihazlarıyla ilişkilendirin. Uygulamayı imzalamak için bir geliştirici sertifikanız olduğundan emin olun.

  4. MatterExtension hedefiniz için bir profil oluşturun.

    1. MatterExtension için bir uygulama paketi tanımlayıcısı belirleyin. Tanımlayıcı, uygulama tanımlayıcısından devralınmalıdır. Örneğin, com.company.HomeApiSample.MatterExtension olarak biçimlendirilebilir.
    2. Uygulama kimliğinizi kaydedin. İstendiğinde Uygulama Grubu özelliğini ekleyin.
    3. 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.
    4. MatterExtension için geliştirme temel hazırlığı profili oluşturun.

OAuth istemci kimliğini oluşturun ve Home API'leri etkinleştirin

Uygulamanızın, Google'ın kimlik doğrulama arka ucuna kimliğini tanımlamak 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şlevi etkinleştirmek için API'nin Google Cloud projesinde etkinleştirilmesi gerekir.

OAuth istemci kimliğini oluşturma

  1. Google Cloud Console'da proje seçici kontrol paneline gidin ve OAuth kimlik bilgileri oluşturmak için kullanmak istediğiniz projeyi seçin.
  2. Sol üstteki menü düğmesini > Tüm Ürünleri Görüntüle > API'ler ve Hizmetler'i tıklayarak API'ler ve Hizmetler sayfasına gidin.
  3. Gezinme menüsünde Kimlik bilgileri'ni tıklayın.
  4. 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, izin ekranınızı aşağıdaki prosedürü kullanarak 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 takdirde bir sonraki adıma geçin.

    1. Kullanım alanınıza bağlı olarak Dahili veya Harici'yi seçin ve ardından Oluştur'u tıklayın. OAuth kullanıcı rızası ekranı bölmesi gösterilir.
    2. Uygulama bilgileri sayfasında ekrandaki talimatlara göre bilgileri girin ve Kaydet ve devam et'i tıklayın. Kapsamlar paneli görüntülenir.
    3. Herhangi bir kapsam eklemeniz gerekmez. Kaydet ve devam et'i tıklayın. Test kullanıcıları bölmesi gösterilir.
    4. 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 ardından Ekle'yi tıklayın.
    5. Kaydet ve devam et'i tıklayın. Özet bölmesi gösterilir.
    6. OAuth kullanıcı rızası ekranı bilgilerinizi inceleyin ve ardından Kontrol paneline dön'ü tıklayın.
  5. OAuth istemci kimliğinizi oluşturmak için sol menü panelinde Kimlik bilgileri'ni tıklayın.

    OAuth ekranını ayarlama

    1. KİMLİĞİ BİLGİLERİ OLUŞTUR düğmesini tıklayın ve OAuth istemci kimliği'ni seçin.
      1. Uygulama türü bölümünde iOS'u seçin.
    2. Uygulama tanımlayıcınız ve Apple geliştirici ekip kimliğiniz ile paket kimliğini girin. Diğer alanlar isteğe bağlıdır ve boş bırakılabilir.
    3. OLUŞTUR'u tıklayın ve oluşturulan İstemci Kimliği'ni veya PLIST'İ İNDİR'i not edin. Bu, daha sonra izin akışı işlevini etkinleştirmek için kullanılır. Daha fazla bilgi için Yetkilendirme kimlik bilgileri oluşturma bölümüne bakın.

Home API'lerini etkinleştirme

Home API'lerine erişimi etkinleştirin.

  1. API'ler ve Hizmetler sekmesinde Etkin API'ler ve Hizmetler'i tıklayın.
  2. Sayfanın en üstündeki API'LERİ VE HİZMETLERİ ETKİNLƏŞTİR'i tıklayın.
  3. HOME API simgesini bulup seçin.
  4. Home API ayrıntılar sayfasında ETKİNLEŞTİR'i tıklayın.

Kaynak kodunu indirme

Örnek uygulamanın kaynak kodunu GitHub'da bulabilirsiniz.

Projeyi kaydetmek istediğiniz yere gidin ve ardından projeyi klonlayın:

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

Projeyi Xcode'a yüklemek için Dosya > 'ı tıklayın ve kopyalanan deposunun kökünde GoogleHomeAPISampleIOS.xcodeproj'yi seçin.

SDK'yı ayarlama

Örnek uygulama projesinin derlenmesi 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 APIs iOS SDK'sını indirmek için önce Google Home Developers'da oturum açmanız gerekir.

Hemen oturum açın!

Xcode projenizi örnek uygulama için yapılandırın:

  1. Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde GoogleHomeAPISampleIOS dosyasını seçin.

    SDK örnek uygulamasını ayarlama

  2. Üstteki Genel sekmesini tıklayın ve sol taraftaki hedefi GoogleHomeAPISampleIOS seçin.

  3. Çerçeveler, Kitaplıklar ve Yerleşik İçerik bölümünü görene kadar aşağı kaydırın. İki Home API çerçevesinin listelendiğini göreceksiniz.

  4. Yerleştir sütununda, GoogleHomeSDK.xcframework için Yerleştir ve imzala'yı seçin. Diğer çerçeve (GoogleHomeTypes.xcframework) Eklemeyin olarak bırakılmalıdır.

  5. Listenin alt kısmındaki + simgesini tıklayın.

  6. İstendiğinde SafariServices.framework'u arayın ve ekle'yi tıklayın. Bu giriş için Yerleştir sütununun Yerleştirme olarak ayarlandığından emin olun.

    Yerleştirme ve imzalama

  7. Hedefini düzenlemek için Hedef bölümündeki MatterAddDeviceExtension simgesini tıklayın.

  8. Çerçeveler ve Kitaplıklar bölümünü görene kadar aşağı kaydırın. GoogleHomeSDK.xcframework listelenir.

  9. Yerleştir sütununda Yerleştirme'yi seçin.

  10. Geliştirici ve OAuth istemci kimliklerini yapılandırın:

    1. Gezinme bölmesinde GoogleHomeAPISampleIOS klasörünü bulun ve düzenlemek için Info.plist dosyasını açın.
  11. Info.plist dosyasında GIDClientID'yi OAuth istemci kimliğinizle (OAuth iznini ayarlama bölümüne bakın) ve GIDTeamID'yi OAuth kayıt işlemi sırasında kullanılan geliştirici hesabının Apple Geliştirici Ekibi Kimliği ile doldurun.

  12. Derleme sistemini yapılandırın:

    Bağlayıcı işaretleri ekleme

    1. Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde GoogleHomeAPISampleIOS proje dosyasını seçin.
    2. Üst taraftaki Derleme Ayarları sekmesini tıklayın ve sol taraftaki HEDEFLER bölümünün altındaki hedefi GoogleHomeAPISampleIOS seçin.
    3. Diğer Bağlantı Oluşturucu İşaretleri'ni arayın ve iki giriş ekleyin:
      • -lc++
      • -ObjC
  13. Uygulama Onaylama Özelliği ekleme:

    1. Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde GoogleHomeAPISampleIOS proje dosyasını seçin.
    2. Üstteki İmza ve Özellikler sekmesini tıklayın ve sol taraftaki HEDEFLER bölümünün altındaki hedefi GoogleHomeAPISampleIOS seçin.
    3. İmzalama ve Özellikler sekmesinin hemen altında + Özellik'i tıklayın ve Uygulama Attest'i arayın.
    4. Eklemek için Uygulama Attest'i tıklayın. Aramada bu özellik yoksa projeye zaten eklenmiş olabilir.
  14. Uygulama Grupları özelliğini ekleyin.

    Uygulama grupları ekleme

    1. GoogleHomeAPISampleIOS projesi > GoogleHomeAPISampleIOS hedefine gidin.
    2. İmza ve Yetenekler > + Yetenek'i tıklayın.
    3. Uygulama Grupları özelliğini seçin.
    4. Uygulama Grupları'nın altındaki + simgesini tıklayın ve Apple Geliştirici Portalı'na eklediğiniz uygulamanızın Uygulama Grupları tanımlayıcısını ekleyin.
    5. Uygulama Grupları'na eklemek için MatterAddDeviceExtension hedefi için bu adımları tekrarlayın.
  15. Paket kimliğini güncelleme

    1. Geliştirici sertifikalarınızı ve temel hazırlama profillerinizi kullanarak örnek uygulamayı donanımda başarıyla çalıştırmak ve dağıtmak için benzersiz bir paket tanımlayıcısı sağlamanız gerekir. Bu, OAuth istemci kimlik bilgilerinizle ilişkili aynı tanımlayıcı olmalıdır (yukarıya bakın).
    2. Proje yapılandırmasını düzenlemek için Xcode gezinme bölmesinde GoogleHomeAPISampleIOS proje dosyasını seçin.
    3. Üstteki İmza ve Yetenekler sekmesini tıklayın ve sol taraftaki HEDEFLER bölümünün altındaki hedefi GoogleHomeAPISampleIOS seçin.
    4. İmza bölümünde Paket Tanımlayıcı alanını seçin ve uygulamanın benzersiz tanımlayıcısını girin.
    5. Gerekli izinlerle birlikte ilgili paketle ilgili temel hazırlama profilini seçin veya yükleyin.
    6. Uzantı için paket tanımlayıcısını girmek ve kayıtlı temel hazırlama profilini içe aktarmak üzere MatterAddDeviceExtension hedefi için bu adımları tekrarlayın.
  16. Kodda kayıtlı uygulama grubu tanımlayıcısını güncelleyin.

    1. Uygulamanın, SDK örneğini cihaz devreye alma gibi özellikler için uygulama grubu tanımlayıcısını kullanacak şekilde yapılandırması gerekir. HOME_API_TODO_ADD_APP_GROUP dizesini arayarak ve her örneğini bu diziyle değiştirerek uygulamayı Apple Developer Portal'a kayıtlı uygulama grubu kimliğini kullanacak şekilde güncelleyin.

    Bu yapılandırmalar aşağıdaki dosyalarda yapılır:

    • GoogleHomeAPISampleIOS.swift SDK ilk kullanıma hazırlandığında.
    • RequestHandler.swift
    • CommissioningManager.swift