Tạo ứng dụng mẫu iOS

Ứng dụng iOS mẫu này sử dụng các API Google Home. Hãy sử dụng hướng dẫn này để tạo và chạy ứng dụng lần đầu tiên.

Điều kiện tiên quyết

Đảm bảo bạn đáp ứng các yêu cầu tối thiểu để sử dụng API Home cho iOS.

Để tạo và cài đặt ứng dụng mẫu, bạn cần có máy tính đã cài đặt Xcode phiên bản 15.3 trở lên.

Tải Xcode xuống

Để kiểm thử ứng dụng, bạn cần:

  1. Một Tài khoản Google được đăng ký trong EAP của API Home đóng vai trò là tài khoản thử nghiệm.
  2. Một Apple ID đã đăng ký tham gia Chương trình dành cho nhà phát triển của Apple để tạo tệp cấu hình thiết bị thực. Nếu bạn chưa tạo, việc đăng ký sẽ tính thêm phí và có thể mất đến 48 giờ để hoàn tất.
  3. Thiết bị iOS (không phải trình mô phỏng) chạy iOS 16.4 trở lên được thiết lập bằng tài khoản thử nghiệm.
  4. Mạng Wi-Fi.
  5. Trung tâm Google hỗ trợ API Nhà.
  6. Bộ định tuyến biên Thread nếu thiết bị của bạn yêu cầu Thread và trung tâm của bạn không có chức năng đó.
  7. Ít nhất một loại thiết bị được hỗ trợ.

Để phát triển, bạn cần có máy Mac đáp ứng các yêu cầu sau:

  • macOS Sonoma trở lên
  • Xcode 15.3 trở lên

Tạo tệp cấu hình triển khai của Apple

Trước tiên, ứng dụng phải bật tính năng Chứng thực ứng dụng. Do đó, bạn không thể triển khai ứng dụng này cho các thiết bị trình mô phỏng. Để làm việc này, bạn cần tạo một hồ sơ cấp phép có quyền Chứng thực ứng dụng.

Thứ hai, bạn phải bật Nhóm ứng dụng để giao tiếp giữa ứng dụng và MatterExtension. Để làm được điều này, bạn cần đăng ký giá trị nhận dạng nhóm ứng dụng.

Để biết thêm thông tin, hãy xem phần Tạo hồ sơ cấp phép phát triển của Apple về hồ sơ cấp phép.

Sau đây là các bước tối thiểu cần thiết để triển khai ứng dụng:

  1. Tạo giá trị nhận dạng nhóm ứng dụng để ứng dụng của bạn giao tiếp với MatterExtension.
    1. Đăng nhập vào Cổng thông tin dành cho nhà phát triển của Apple.
    2. Thêm mã nhận dạng nhóm ứng dụng. Ví dụ: bạn có thể định dạng thuộc tính này là group.com.company.commissioning.
  2. Đăng ký thiết bị thử nghiệm vào tài khoản nhà phát triển.
  3. Tạo hồ sơ cho mục tiêu ứng dụng.

    1. Quyết định giá trị nhận dạng gói ứng dụng cho ứng dụng của bạn. Giá trị nhận dạng phải là duy nhất và mang tính mô tả. Ví dụ: bạn có thể định dạng thuộc tính này là com.company.HomeApiSample. Giá trị nhận dạng này sẽ được sử dụng trong phần còn lại của phần này.
    2. Đăng ký Mã ứng dụng. Khi được nhắc, hãy thêm chức năng Chứng thực ứng dụngNhóm ứng dụng.
    3. Chỉnh sửa Mã ứng dụng mới tạo và định cấu hình chức năng Nhóm ứng dụng để thêm giá trị nhận dạng nhóm ứng dụng đã đăng ký.

    4. Tạo hồ sơ cấp phép phát triển cho quá trình phát triển ứng dụng. Liên kết mã này với mã ứng dụng mới tạo và các thiết bị thử nghiệm đã chọn. Đảm bảo bạn có chứng chỉ nhà phát triển để ký ứng dụng.

  4. Tạo hồ sơ cho mục tiêu MatterExtension.

    1. Quyết định giá trị nhận dạng gói ứng dụng cho MatterExtension. Giá trị nhận dạng phải được kế thừa từ giá trị nhận dạng ứng dụng. Ví dụ: tệp này có thể được định dạng là com.company.HomeApiSample.MatterExtension.
    2. Đăng ký Mã ứng dụng. Khi được nhắc, hãy thêm chức năng Nhóm ứng dụng.
    3. Chỉnh sửa mã ứng dụng mới tạo và định cấu hình chức năng Nhóm ứng dụng để thêm giá trị nhận dạng nhóm ứng dụng đã đăng ký được tạo ở các bước trước.
    4. Tạo hồ sơ cấp phép phát triển cho MatterExtension.

Tạo mã ứng dụng khách OAuth và bật API Home

Ứng dụng của bạn cần có mã ứng dụng khách OAuth để tự xác định với phần phụ trợ xác thực của Google. Đối với iOS và ứng dụng, bạn phải định cấu hình loại ứng dụng mã ứng dụng khách OAuth là iOS. Ứng dụng cũng sẽ thực hiện các lệnh gọi đến API Home. Để bật chức năng này, bạn phải bật API trong dự án Google Cloud.

Tạo mã ứng dụng khách OAuth

  1. Trong Google Cloud Console, hãy chuyển đến trang tổng quan về bộ chọn dự án rồi chọn dự án mà bạn muốn sử dụng để tạo thông tin xác thực OAuth.
  2. Chuyển đến trang API và Dịch vụ bằng cách nhấp vào nút trình đơn ở góc trên cùng bên trái > Xem tất cả sản phẩm > API và Dịch vụ.
  3. Trong trình đơn điều hướng, hãy nhấp vào Thông tin xác thực.
  4. Nếu bạn chưa định cấu hình màn hình xin phép cho dự án Google Cloud này, thì nút Định cấu hình màn hình xin phép sẽ xuất hiện. Trong trường hợp đó, hãy định cấu hình màn hình yêu cầu đồng ý bằng quy trình sau. Nếu màn hình đồng ý OAuth đã được định cấu hình và trạng thái phát hành là Thử nghiệm, hãy đảm bảo rằng các tài khoản thử nghiệm mà bạn sẽ sử dụng được thêm vào nhóm Người dùng thử nghiệm. Nếu không, hãy chuyển sang bước tiếp theo.

    1. Tuỳ thuộc vào trường hợp sử dụng, hãy chọn Nội bộ hoặc Ngoại bộ, sau đó nhấp vào Tạo. Ngăn Màn hình xin phép bằng OAuth sẽ xuất hiện.
    2. Nhập thông tin trên Trang thông tin ứng dụng theo hướng dẫn trên màn hình, sau đó nhấp vào Lưu và tiếp tục. Ngăn Scopes (Phạm vi) sẽ hiển thị.
    3. Bạn không cần thêm phạm vi nào, vì vậy, hãy nhấp vào Lưu và tiếp tục. Ngăn Người dùng thử nghiệm sẽ hiển thị.
    4. Nếu đã chọn tạo màn hình đồng ý nội bộ, bạn phải thêm người dùng để kiểm thử quyền truy cập vào ứng dụng. Nhấp vào Thêm người dùng. Ngăn Thêm người dùng sẽ xuất hiện. Người dùng thử nghiệm có đặc quyền cấp quyền trong ứng dụng của bạn. Trong trường trống, hãy thêm một hoặc nhiều địa chỉ email Tài khoản Google, sau đó nhấp vào Thêm.
    5. Nhấp vào Lưu và tiếp tục. Ngăn Summary (Tóm tắt) sẽ hiển thị.
    6. Xem lại thông tin trên màn hình xin phép bằng OAuth, sau đó nhấp vào Quay lại trang tổng quan.
  5. Trên bảng trình đơn bên trái, hãy nhấp vào Thông tin xác thực để tạo mã ứng dụng khách OAuth.

    Màn hình thiết lập OAuth

    1. Nhấp vào nút CREATE CREDENTIALS (TẠO THÔNG TIN XÁC THỰC) rồi chọn OAuth client ID (Mã ứng dụng khách OAuth).
      1. Trong phần loại ứng dụng, hãy chọn iOS.
    2. Nhập Mã gói bằng giá trị nhận dạng ứng dụng và Mã nhóm của nhà phát triển Apple. Các trường khác là không bắt buộc và có thể để trống.
    3. Nhấp vào CREATE (TẠO) rồi ghi lại Client ID (Mã ứng dụng) hoặc DOWNLOAD PLIST (TẢI Tệp PLIST XUỐNG). Mã này sẽ được dùng sau để bật chức năng luồng quyền. Để biết thêm thông tin, hãy xem phần Tạo thông tin xác thực uỷ quyền.

Bật API Home

Cho phép truy cập vào API Trang chủ.

  1. Trong thẻ API và dịch vụ, hãy nhấp vào API và dịch vụ đã bật.
  2. Nhấp vào BẬT API VÀ DỊCH VỤ ở đầu trang.
  3. Tìm và chọn biểu tượng HOME API.
  4. Trên trang chi tiết về Home API, hãy nhấp vào BẬT.

Tải mã nguồn xuống

Bạn có thể xem mã nguồn cho ứng dụng mẫu trên GitHub.

Chuyển đến vị trí bạn muốn lưu dự án, sau đó nhân bản dự án:

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

Để tải dự án trên Xcode, hãy nhấp vào File (Tệp) > Open (Mở) rồi chọn GoogleHomeAPISampleIOS.xcodeproj ở thư mục gốc của kho lưu trữ được nhân bản.

Thiết lập SDK

Dự án ứng dụng mẫu cần thêm một số thông tin để tạo. Việc này bao gồm việc thêm các tệp Khung SDK trên máy, điền thông tin mã nhận dạng tài khoản nhà phát triển và điền mã ứng dụng OAuth.

Tạo ứng dụng

Để tải SDK iOS Home API xuống, trước tiên, bạn phải đăng nhập vào Nhà phát triển Google Home.

Đăng nhập ngay!

Định cấu hình dự án Xcode cho ứng dụng mẫu:

  1. Trong ngăn điều hướng Xcode, hãy chọn tệp GoogleHomeAPISampleIOS để chỉnh sửa cấu hình dự án.

    Thiết lập ứng dụng mẫu SDK

  2. Nhấp vào thẻ General (Chung) ở trên cùng rồi chọn mục tiêu GoogleHomeAPISampleIOS ở bên trái.

  3. Di chuyển xuống cho đến khi bạn thấy phần Khung, Thư viện và Nội dung nhúng. Bạn sẽ thấy hai Khung API Home được liệt kê.

  4. Trong cột Nhúng, hãy chọn Nhúng và ký cho GoogleHomeSDK.xcframework. Bạn nên để khung khác, GoogleHomeTypes.xcframework ở chế độ Do Not Embed (Không nhúng).

  5. Ở cuối danh sách, hãy nhấp vào biểu tượng +.

  6. Khi được nhắc, hãy tìm SafariServices.framework rồi nhấp vào thêm. Đảm bảo bạn đặt cột Nhúng thành Không nhúng cho mục nhập này.

    Nhúng và ký

  7. Nhấp vào biểu tượng MatterAddDeviceExtension trong mục Mục tiêu để chỉnh sửa mục tiêu của chiến dịch.

  8. Di chuyển xuống cho đến khi bạn thấy phần Khung và thư viện. Bạn sẽ thấy GoogleHomeSDK.xcframework được liệt kê.

  9. Trong cột Nhúng, hãy chọn Không nhúng.

  10. Định cấu hình mã ứng dụng khách OAuth và nhà phát triển:

    1. Trong ngăn điều hướng, hãy tìm thư mục GoogleHomeAPISampleIOS rồi mở tệp Info.plist để chỉnh sửa.
  11. Trong tệp Info.plist, hãy điền mã nhận dạng ứng dụng OAuth vào GIDClientID (xem phần Thiết lập sự đồng ý OAuth) và điền Mã nhận dạng nhóm nhà phát triển của Apple vào GIDTeamID của tài khoản nhà phát triển được dùng trong quá trình đăng ký OAuth.

  12. Định cấu hình hệ thống xây dựng:

    Thêm cờ trình liên kết

    1. Trong ngăn điều hướng Xcode, hãy chọn tệp dự án GoogleHomeAPISampleIOS để chỉnh sửa cấu hình dự án.
    2. Nhấp vào thẻ Build Settings (Cài đặt bản dựng) ở trên cùng rồi chọn mục tiêu GoogleHomeAPISampleIOS ở bên trái trong mục TARGETS (MỤC TIÊU).
    3. Tìm Other Linker Flags (Cờ trình liên kết khác) rồi thêm hai mục:
      • -lc++
      • -ObjC
  13. Thêm Khả năng chứng thực ứng dụng:

    1. Trong ngăn điều hướng Xcode, hãy chọn tệp dự án GoogleHomeAPISampleIOS để chỉnh sửa cấu hình dự án.
    2. Nhấp vào thẻ Signing and Capabilities (Ký và chức năng) ở trên cùng rồi chọn mục tiêu GoogleHomeAPISampleIOS ở bên trái trong mục TARGETS (MỤC TIÊU).
    3. Ngay bên dưới thẻ Ký và chức năng, hãy nhấp vào + Chức năng rồi tìm Chứng thực ứng dụng.
    4. Nhấp vào App Attest (Chứng thực ứng dụng) để thêm. Nếu tính năng này bị thiếu trong kết quả tìm kiếm, thì có thể dự án đã thêm tính năng đó.
  14. Thêm chức năng Nhóm ứng dụng.

    Thêm nhóm ứng dụng

    1. Chuyển đến dự án GoogleHomeAPISampleIOS > mục tiêu GoogleHomeAPISampleIOS.
    2. Nhấp vào Ký và chức năng > + Chức năng.
    3. Chọn chức năng Nhóm ứng dụng.
    4. Nhấp vào biểu tượng + trong phần Nhóm ứng dụng rồi thêm giá trị nhận dạng Nhóm ứng dụng cho ứng dụng mà bạn đã thêm trong Cổng thông tin dành cho nhà phát triển của Apple.
    5. Lặp lại các bước này cho mục tiêu MatterAddDeviceExtension để thêm mục tiêu đó vào Nhóm ứng dụng.
  15. Cập nhật Giá trị nhận dạng gói

    1. Để chạy và triển khai thành công ứng dụng mẫu trên phần cứng bằng cách sử dụng các chứng chỉ nhà phát triển và hồ sơ cấp phép, bạn cần cung cấp một giá trị nhận dạng gói duy nhất. Đây phải là giá trị nhận dạng giống với giá trị nhận dạng được liên kết với thông tin xác thực ứng dụng OAuth của bạn (xem ở trên).
    2. Trong ngăn điều hướng Xcode, hãy chọn tệp dự án GoogleHomeAPISampleIOS để chỉnh sửa cấu hình dự án.
    3. Nhấp vào thẻ Signing and Capabilities (Ký và chức năng) ở trên cùng rồi chọn mục tiêu GoogleHomeAPISampleIOS ở bên trái trong mục TARGETS (MỤC TIÊU).
    4. Chọn trường Giá trị nhận dạng gói trong phần rồi nhập giá trị nhận dạng duy nhất cho Ứng dụng.
    5. Chọn hoặc cài đặt hồ sơ cấp phép liên quan đến gói đó bằng các quyền cần thiết.
    6. Lặp lại các bước này cho mục tiêu MatterAddDeviceExtension để nhập mã nhận dạng Gói cho tiện ích và nhập hồ sơ cấp phép đã đăng ký.
  16. Cập nhật giá trị nhận dạng nhóm ứng dụng đã đăng ký trong mã.

    1. Ứng dụng phải định cấu hình thực thể SDK để sử dụng mã nhận dạng Nhóm ứng dụng cho các tính năng như uỷ quyền thiết bị. Cập nhật ứng dụng để sử dụng Mã nhóm ứng dụng đã đăng ký trong Cổng thông tin dành cho nhà phát triển của Apple bằng cách tìm chuỗi HOME_API_TODO_ADD_APP_GROUP và thay thế từng thực thể bằng chuỗi đó.

    Các cấu hình này được tạo trong các tệp sau:

    • GoogleHomeAPISampleIOS.swift khi SDK được khởi chạy.
    • RequestHandler.swift
    • CommissioningManager.swift