שילוב מכשירי Google Home באפליקציות IoT למובייל

שילוב בית חכם באפליקציה ניידת מסתכם פעמים רבות בבחירה בין Google Home SDK לבין Device Access API—טעות כאן מובילה לעיבוד מחדש של הארכיטקטורה ולעלויות נוספות. אנחנו עוזרים לכם לקבוע את המסלול האופטימלי בהתאם לפלטפורמה ולמכשירים שלכם, ומספקים פרויקט סוהר. הצוות שלנו מטפל בכל המחזור, מהבדיקה ועד היישום והתמיכה השוטפת, ומבטיח פתרון אמין שגדל עם העסק שלכם.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
שילוב מכשירי Google Home באפליקציות IoT למובייל
מורכב
~5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

בעת שילוב בית חכם באפליקציית IoT ניידת, מפתחים נתקלים לא פעם בדילמה: להשתמש ב-SDK המקורי של אנדרואיד (Google Home SDK) או בממשק REST (Device Access API). בחירה שגויה מובילה לעיבוד מחדש של הארכיטקטורה, לבזבוז זמן וכסף. תרחיש טיפוסי: ללקוח כבר יש תרמוסטטים של Nest והוא רוצה לשלוט בהם מאפליקציית iOS ואנדרואיד. הטעות היא להתחיל עם Google Home SDK מבלי לבדוק תאימות ל-iOS, מה שגורם לשכתוב backend ועיכוב של שבועיים. אנו מציעים בחירה מבוססת פלטפורמה: Device Access API מתאים ל-iOS ולפתרונות חוצי-פלטפורמות אך דורש OAuth וסבבי שאילתות; Google Home SDK מיועד לאנדרואיד עם מודל ריאקטיבי והרשאה אוטומטית. עם זאת, אם יש לכם מצלמות Nest, הזרמת WebRTC היא חובה ללא קשר לבחירה. לצוות שלנו ניסיון של למעלה מ-6 שנים בפיתוח מובייל והוא השלים למעלה מ-30 פרויקטי IoT, כולל אינטגרציות עם Google Home, Apple HomeKit ו-Samsung SmartThings. בחירה נכונה ובזמן של ה-API יכולה לחסוך עד 30% מתקציב האינטגרציה — כלומר חיסכון של עד 5,000 דולר. כדי לבחור את הפתרון האופטימלי, בקשו ייעוץ.

השוואת גישות

פרמטר Device Access API (REST) Google Home SDK (אנדרואיד)
פלטפורמות iOS, אנדרואיד, חוצי-פלטפורמות אנדרואיד בלבד
מכשירים Nest (תרמוסטטים, מצלמות, פעמוני דלת) כל מכשירי Matter + Nest דרך Home
הרשאה OAuth 2.0 (כניסה עם Google) אוטומטית דרך Google Play
ריאקטיביות שליפה (בקשות) דחיפה (Kotlin Flow)
זמן אינטגרציה 2-3 שבועות 3-4 שבועות

Device Access API: אינטגרציית REST ל-iOS ו-Flutter

Device Access עובד עם מכשירי Nest (תרמוסטטים, מצלמות, פעמוני דלת). הרשאה דרך OAuth 2.0, ולאחריה האפליקציה מקבלת גישה ל-Structures, Rooms ו-Devices:

GET https://smartdevicemanagement.googleapis.com/v1/enterprises/{projectId}/devices
Authorization: Bearer {access_token}

התשובה מכילה רשימת מכשירים עם מאפיינים (traits). ה-Nest Learning Thermostat מהדור השלישי מחזיר:

{ "name": "enterprises/project-id/devices/device-id",
  "type": "sdm.devices.types.THERMOSTAT",
  "traits": {
    "sdm.devices.traits.ThermostatMode": {
      "mode": "HEAT",
      "availableModes": ["HEAT", "COOL", "HEATCOOL", "OFF"]
    },
    "sdm.devices.traits.ThermostatTemperatureSetpoint": {
      "heatCelsius": 21.5
    },
    "sdm.devices.traits.Temperature": {
      "ambientTemperatureCelsius": 19.8
    }
  }
}

שליטה דרך ExecuteCommand. דוגמה ב-iOS עם Alamofire:

func setThermostatMode(_ mode: String, deviceName: String) async throws {
    let url = "https://smartdevicemanagement.googleapis.com/v1/\(deviceName):executeCommand"
    let body: [String: Any] = [
        "command": "sdm.devices.commands.ThermostatMode.SetMode",
        "params": ["mode": mode]
    ]
    _ = try await AF.request(url, method: .post, parameters: body, encoding: JSONEncoding.default, headers: authHeaders)
        .serializingDecodable(CommandResponse.self)
        .value
}

הרשאה דרך Google Sign-In SDK עם scope GET https://smartdevicemanagement.googleapis.com/v1/enterprises/{projectId}/devices Authorization: Bearer {access_token} . אחסנו את ה-refresh token ב-Keychain — טוקנים של Device Access תקפים לשעה, refresh tokens תקפים ל-3 חודשים. טיפול נכון בטוקנים מפחית שגיאות התחברות ב-90% בהשוואה לאחסון לא מאובטח, וחוסך עד 5,000 דולר בעלויות תמיכה. Device Access API תומך בעד 100 בקשות בשנייה לפרויקט.

כיצד ליישם נכון אינטגרציית Google Home SDK באנדרואיד?

באנדרואיד, Google Home SDK מספק גישה מקורית למערכת האקולוגית, כולל מכשירי Matter. הוספה דרך Gradle: { "name": "enterprises/project-id/devices/device-id", "type": "sdm.devices.types.THERMOSTAT", "traits": { "sdm.devices.traits.ThermostatMode": { "mode": "HEAT", "availableModes": ["HEAT", "COOL", "HEATCOOL", "OFF"] }, "sdm.devices.traits.ThermostatTemperatureSetpoint": { "heatCelsius": 21.5 }, "sdm.devices.traits.Temperature": { "ambientTemperatureCelsius": 19.8 } } } . אתחול ואינטראקציה עם מכשירים דרך Flow:

val homeClient = HomeManager.getHomeClient(context)
homeClient.getHomes()
    .flowOn(Dispatchers.IO)
    .collect { homes ->
        homes.forEach { home ->
            home.devices().collect { devices ->
                devices.forEach { device ->
                    processDevice(device)
                }
            }
        }
    }
// Наблюдение за изменениями
suspend fun observeThermostat(device: HomeDevice) {
    device.trait(ThermostatMode)?.changes()?.collect { mode ->
        updateUI(mode.mode)
    }
}
// Команда через трейты
val thermostatTrait = device.trait(ThermostatMode) ?: return
thermostatTrait.setMode(ThermostatMode.Mode.COOL)

מצלמות Nest: הזרמת WebRTC

מאפיין ה-Camera Access מחזיר rtspUrl או הצעת WebRTC. דגמי Nest Cam חדשים יותר עובדים רק דרך WebRTC:

val cameraLiveStream = device.trait(CameraLiveStream)
val streamResponse = cameraLiveStream?.generateWebRtcStream(
    offerSdp = localPeerConnection.localDescription?.description ?: ""
)
peerConnection.setRemoteDescription(
    RTCSessionDescription(RTCSessionDescription.Type.ANSWER, streamResponse.answerSdp)
)

טעות נפוצה היא לא לחדש את טוקן ההזרמה בזמן. סשן WebRTC נמשך 5 דקות, ולאחר מכן Nest סוגר את החיבור. יש צורך בטיימר רקע שקורא ל-func setThermostatMode(_ mode: String, deviceName: String) async throws { let url = "https://smartdevicemanagement.googleapis.com/v1/\(deviceName):executeCommand" let body: [String: Any] = [ "command": "sdm.devices.commands.ThermostatMode.SetMode", "params": ["mode": mode] ] _ = try await AF.request(url, method: .post, parameters: body, encoding: JSONEncoding.default, headers: authHeaders) .serializingDecodable(CommandResponse.self) .value } 30 שניות לפני פקיעת התוקף.

טעות נפוצה: אי חידוש טוקן ההזרמה מפתחים רבים שוכחים להאריך את סשן ה-WebRTC, מה שגורם לניתוקי הזרמה. הטמיעו טיימר שבודק את משך חיי הסשן וקורא אוטומטית ל-extendWebRtcStream.

מגבלות המערכת האקולוגית

Device Access API דורש אישור מ-Google לכל פרויקט — הגשה דרך הקונסולה, זמן תגובה של 1 עד 5 ימי עסקים. חלה עמלת רישום פרויקט. מצלמות דורשות מנוי Nest Aware של המשתמש — חשוב לציין זאת ב-UX. לפי התיעוד הרשמי של Google, דרישות אלה הן חובה.

Google Home SDK באנדרואיד עדיין ב-Developer Preview; ה-API עשוי להשתנות. לפתרונות מצלמות בייצור, Device Access API אמין יותר. בהתבסס על הפרויקטים שהשלמנו, גישה היברידית (SDK לשליטה במכשירים, Device Access למצלמות) מניבה את התוצאות הטובות ביותר.

שלבי אינטגרציה מרכזיים

  1. ניתוח דרישות ובחירת גישה (SDK, REST או היברידי)
  2. הגדרת OAuth 2.0 ותצורת Google Cloud Project
  3. יישום Device Access API או Google Home SDK (או שניהם)
  4. אינטגרציית הזרמת WebRTC למצלמות Nest (כולל הגדרת WebRTC Nest)
  5. בדיקות על מכשירים אמיתיים וניפוי באגים
  6. תיעוד והדרכת צוות הלקוח
  7. תמיכה במהלך פרסום בחנות האפליקציות

בחירת ה-API הנכון לפרויקט שלכם

אם האפליקציה שלכם היא אנדרואיד בלבד, בחרו ב-Google Home SDK — הוא מספק מודל ריאקטיבי והרשאה אוטומטית, ומהיר פי 3 לפיתוח אנדרואיד. ל-iOS ולפלטפורמות חוצות, Device Access API מגוון יותר אך דורש OAuth ידני וסבבי שאילתות. פתרון היברידי הוא הטוב ביותר אם אתם צריכים גם שליטה במכשירים וגם הזרמת מצלמות. לשליטה קולית דרך Google Assistant, ודאו הגדרת OAuth תקינה.

החשיבות של טיפול נכון ב-Refresh Token

אם refresh token פג או מאוחסן בצורה לא מאובטחת, המשתמש מאבד גישה למכשירים. בפרויקט אחד, לקוח איבד שליטה על תרמוסטטים עקב אחסון טוקנים ב-UserDefaults. שכתבנו את ההרשאה עם Keychain/EncryptedSharedPreferences, והפחתנו שגיאות התחברות ב-90% בהשוואה ליישום הקודם. טיפול נכון בטוקנים חוסך עד 30% מזמן התמיכה.

שלב Device Access API Google Home SDK
הגדרת OAuth 1-2 ימים 0 (אוטומטי)
יישום פקודות 3-5 ימים 2-3 ימים
הזרמת WebRTC 5-7 ימים 3-5 ימים (אנדרואיד)
בדיקות 3-5 ימים 3-5 ימים

מה כולל שירות האינטגרציה שלנו

  • ניתוח דרישות ובחירת גישה אופטימלית
  • הגדרת הרשאת OAuth ותצורת Google Cloud Project
  • יישום Device Access API או Google Home SDK (או שניהם)
  • אינטגרציית הזרמת WebRTC למצלמות Nest
  • בדיקות וניפוי באגים על מכשירים אמיתיים
  • תיעוד עם מדריכים מפורטים
  • ניהול אישורי גישה (אחסון טוקנים נכון)
  • הדרכת צוות הלקוח לתחזוקה
  • תמיכה במהלך פרסום בחנות האפליקציות

לוח זמנים: 2 עד 6 שבועות בהתאם למורכבות. העלות מחושבת בנפרד לאחר הערכת הפרויקט. צרו קשר לקבלת הערכה מדויקת לפרויקט שילוב הבית החכם שלכם — אנו מבטיחים תאימות לדרישות העדכניות של Google. בקשו ייעוץ לבחירת ה-API הנכון עוד היום.