שילוב Workspace ONE SDK לאפליקציות מובייל
יש לך אלף מכשירי Zebra Android על רצפת המחסן ומאה מכשירי iPad עם צוות הניהול שלך. כל אפליקציה דורשת הגדרות אישיות, יש לאכוף מדיניות אבטחה באופן מרכזי, וכל מכשיר צריך לעמוד בתקנים הארגוניים. VMware Workspace ONE (לשעבר AirWatch) היא פלטפורמת ניהול ניידות ארגונית (EMM) המשלבת MDM, MAM, זהות וגישת zero-trust. בניגוד ל-Intune, Workspace ONE מספקת יכולות MDM עמוקות יותר למכשירי Android ותמיכה מקורית בחומרה קשיחה. הצוות שלנו מביא עמו ניסיון של 10+ שנים בפיתוח מובייל ושילב פתרונות EMM עבור למעלה מ-50 לקוחות ארגוניים. אנו מבטיחים שהאפליקציה שלך תפעל בצורה חלקה ומאובטחת תחת פלטפורמה זו.
בעיות שאנו פותרים
שילוב MDM באפליקציה שלך הוא rarely plug‑and‑play. בעיות אופייניות כוללות:
- ההרשמה נכשלת בגלל פרופילי provisioning שגויים.
- מדיניות לא חלה ללא APNs (iOS) או FCM (Android) מוגדרים כראוי.
- כללי DLP חוסמים זרימות עבודה לגיטימיות—העתקה‑הדבקה בין אפליקציות מאושרות, שיתוף קישורים או צילומי מסך.
אנו מטפלים בבעיות אלה ברמת ה-SDK, ומבטלים התכתבויות ארוכות עם מנהלי WS1.
איך Workspace ONE SDK עובד
ה-Workspace ONE SDK דומה ל-Intune MAM SDK אך יש לו API ומחזור חיים משלו. רכיבים מרכזיים:
- AWSDKCore – מטפל בעיבוד מדיניות ובאימות דרך Workspace ONE Intelligent Hub.
- AWContentLocker – אחסון קבצים מאובטח.
- AWNetworkKit – ניהול רשת דרך Workspace ONE Tunnel (VPN לכל אפליקציה).
- AWDataLoss – מיירט לוח גזירה, שיתוף קבצים וצילומי מסך.
ב-iOS, ה-SDK מותקן דרך CocoaPods או SPM:
pod 'AWSDK', '~> 25.0' ב-Android, דרך Maven:
implementation 'com.vmware.ws1.android:airwatchsdk:25.0.0' לפי תיעוד VMware Workspace ONE SDK, יש לקרוא לאתחול AWController ב-pod 'AWSDK', '~> 25.0' .
אתחול והרשמה ב-iOS: שלב אחר שלב
ה-Workspace ONE SDK דורש את אפליקציית Workspace ONE Intelligent Hub על המכשיר. Hub פועל כמתווך בין ה-SDK של האפליקציה שלך לבין שרת WS1. ללא Hub, ה-SDK לא יכול לקבל מדיניות.
- הוסף AWSDK דרך CocoaPods או SPM.
- ייבא את מודול AWSDK ב-AppDelegate.
- קרא ל-
implementation 'com.vmware.ws1.android:airwatchsdk:25.0.0'ב-AWController.clientInstance().start. - טפל בשגיאות ב-closure של השלמה.
- לאחר התחלה מוצלחת, החל את התצורה המנוהלת מ-SDK Profile.
דוגמת קוד:
import AWSDK
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
AWController.clientInstance().start { error in
if let error = error {
// enrollment failed
print("WS1 SDK error: \(error.localizedDescription)")
} else {
// Политики применены, приложение работает в managed-режиме
self.applyManagedConfiguration()
}
}
return true
}
private func applyManagedConfiguration() {
let profile = AWController.clientInstance().sdkProfile()
let serverURL = profile?.customPayloadProfile?.payload?["BackendURL"] as? String
AppConfig.shared.backendURL = serverURL ?? AppConfig.defaultBackendURL
}
}application(_:didFinishLaunchingWithOptions:) הוא אסינכרוני. האפליקציה צריכה להציג מסך פתיחה בזמן שה-SDK מאתחל ומביא מדיניות. אם המכשיר לא רשום ב-WS1, Hub מפעיל את תהליך ההרשמה.
Custom Payload: דחיפת תצורה לאפליקציה שלך
Custom Payload מזריק תצורה לאפליקציה שלך דרך SDK Profile. זה מקביל ל-Managed App Configuration ב-Apple MDM, אך מנוהל דרך קונסולת WS1. דוגמת קריאה ב-Swift:
let sdkProfile = AWController.clientInstance().sdkProfile()
guard let customPayload = sdkProfile?.customPayloadProfile?.payload else { return }
let backendURL = customPayload["BackendURL"] as? String
let featureFlags = customPayload["FeatureFlags"] as? [String: Bool]
let sessionTimeout = customPayload["SessionTimeoutMinutes"] as? Int ?? 30בקונסולת WS1, Custom Payload מוגדר כ-XML או JSON תחת Apps → SDK Profiles → Custom Settings. שינויים חלים בבדיקה הבאה (בדרך כלל כל ארבע שעות).
ניתן לתאר פרמטרים של Custom Payload בטבלה:
| מפתח | סוג | תיאור |
|---|---|---|
| BackendURL | String | כתובת ה-URL של השרת הארגוני |
| FeatureFlags | Dict | הפעלה/כיבוי של תכונות אפליקציה |
| SessionTimeoutMinutes | Integer | זמן קצוב לפגישת עבודה בדקות |
Tunnel לכל אפליקציה: ניהול תעבורת רשת
VPN לכל אפליקציה דרך Workspace ONE Tunnel מספק ערוץ מאובטח נוסף. תעבורה מאפליקציה ספציפית מנותבת דרך שער ארגוני ללא צורך בפרופיל VPN גלובלי. כדי להפעיל Tunnel באפליקציה שלך, הוסף AWNetworkKit והגדר את ה-URL session:
import AWNetwork // Заменяем стандартный URLSession на Tunnel-aware
let tunnelConfig = URLSessionConfiguration.default
AWNetworkKit.shared.configureTunnel(for: tunnelConfig)
let session = URLSession(configuration: tunnelConfig)ה-Tunnel פועל בשקיפות—האפליקציה שלך מבצעת בקשות URLSession רגילות, וה-SDK מנתב אותן דרך ה-VPN. אין צורך בשינויים ב-URLRequest או בכותרות.
למה Custom Payload חשוב לתצורה
ללא Custom Payload, כל אפליקציה הייתה צריכה להיות מהודרת מחדש בכל פעם שכתובת השרת או דגלי התכונות משתנים. Custom Payload מאפשר למנהלים לעדכן הגדרות תוך כדי תנועה דרך קונסולת WS1; האפליקציה קולטת אותן לאחר הבדיקה הבאה. זה מקצר את זמן הפריסה מימים לשעות. בפרויקט אחרון עבור חברת לוגיסטיקה עם 2,000 מכשירי Zebra, השתמשנו ב-Custom Payload כדי לדחוף נקודות קצה חדשות ומתגי תכונות לכל הצי תוך פחות מ-24 שעות—ללא עדכוני אפליקציה כלל.
מדיניות DLP מובנית
ה-SDK מספק מניעת אובדן נתונים מוכנה לשימוש. לדוגמה, כאשר העתקה‑הדבקה לאפליקציות אחרות אסורה, אנו מנקים את לוח הגזירה בכל אירוע חזית; כאשר זיהוי צילומי מסך מופעל, אנו מציגים מסך ריק. המדיניות מוגדרת בקונסולה ומיושמת אוטומטית, מה שמפחית את העומס התפעולי.
תהליך הערכה ועבודה
אנחנו לא מציעים מחיר קבוע כי כל אינטגרציה שונה. כך אנחנו עובדים:
- גילוי — אנו בוחנים את ארכיטקטורת האפליקציה הנוכחית שלך, סביבת WS1 ודרישות האבטחה.
- ניתוח — זיהוי אילו רכיבי SDK (Core, Content Locker, Tunnel, DLP) נדרשים.
- עיצוב — הגדרת SDK Profile עם מיפוי Custom Payload ותהליך הרשמה.
- הערכה — לאחר הניתוח, אנו נותנים לך לוח זמנים ועלות ברורים.
- יישום — הוספת AWSDK, יישום מחזור חיים, מיפוי Custom Payload, הגדרת Tunnel ו-DLP.
- בדיקות — על מכשירים מנוהלים (גם Android וגם iOS), כולל מקרי קצה כמו אובדן קישוריות.
- פריסה — פריסה מדורגת עם ניטור ותיעוד.
לוחות זמנים
אינטגרציית SDK בסיסית עם Custom Payload — 3–4 שבועות. פרויקט מלא כולל Tunnel, DLP, מדיניות מרובה ובדיקות יסודיות — 6–10 שבועות. העלויות נקבעות לאחר שלב הגילוי.
טעויות אופייניות וכיצד להימנע מהן
- תלות חסרה ב-Hub — Hub חייב להיות מותקן על המכשיר; אחרת ההרשמה נכשלת בשקט.
- הגדרת APNs/FCM שגויה — הודעות push לעדכוני מדיניות לא יעבדו, מה שיגרום לתצורות מיושנות.
- התעלמות ממרווחי בדיקה — שינויי מדיניות דרך Custom Payload אינם מיידיים; תכנן לעיכובים של 4 שעות או הפעל בדיקה ידנית.
- התעלמות מהשפעת DLP — אם האפליקציה שלך משתפת נתונים עם אפליקציות אחרות דרך UIActivityViewController או דומה, זרימות אלה עלולות להישבר תחת DLP מחמיר. בדוק מוקדם.
קבל ייעוץ — צור קשר, אנו נעריך את הפרויקט שלך, נציע פתרון אופטימלי ונספק אינטגרציה חלקה עם אבטחת איכות.







