שילוב AWS IoT Core באפליקציית המובייל שלך

חיבור אפליקציית מובייל ל-AWS IoT Core גורם לעיתים קרובות לבעיות אימות, במיוחד כאשר משתמשים בשיטות שגויות. אנו משלבים את AWS IoT Core באפליקציות על Flutter, React Native ופלטפורמות native, ומבטיחים קישוריות אמינה באמצעות Cognito Identity Pool ו-MQTT over WebSocket. הצוות שלנו מספק פרויקטים turnkey—מבדיקה ועד תמיכה—ועוזר לכם להימנע ממלכודות נפוצות ולבנות פתרון scalable.

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

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

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

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

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

שאלות נפוצות

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

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

בפרויקט אחד, לקוח לא הצליח לחבר את אפליקציית ה-IoT שלו ל-AWS IoT Core—שגיאות אימות צצו שוב ושוב. התברר שהם ניסו להשתמש בתעודות X.509 בטלפון, שזה הנתיב למכשירים, לא ללקוחות ניידים. עזרנו להם לעבור ל-Cognito Identity Pool, והכל עבד תוך כמה ימים.

אנו משלבים את AWS IoT Core בלקוחות ניידים שנבנו עם Flutter, React Native ופלטפורמות מקוריות. הפתרון המפתח-בידי שלנו מתחיל ב-$5,000 לאינטגרציה בסיסית. עם יותר מ-15 פריסות מוצלחות והסמכות AWS, אנו מבטיחים הגדרה יציבה. תנו לי לשתף כיצד להימנע מהמלכודות ש-80% מהצוותים נתקלים בהן. צרו קשר לייעוץ—נעריך את הפרויקט שלכם ונציע את הפתרון האופטימלי.

הגדרת אימות לאפליקציית IoT ניידת

AWS IoT Core תומך בשלוש שיטות אימות ללקוחות ניידים: תעודות X.509, AWS Cognito Identity Pools ו-SigV4. תעודות מיועדות למכשירים, לא לאפליקציות ניידות: אחסון מפתח פרטי באפליקציה אינו מאובטח, והרוטציה מורכבת. SigV4 דורש חתימה ידנית על כל בקשה—מסורבל.

הנתיב הנכון ללקוחות ניידים הוא Cognito Identity Pool + IoT Core. המשתמש מתחבר דרך Cognito User Pool (או זהות מאוחדת דרך Google/Apple), מקבל אישורי AWS זמניים דרך AssumeRoleWithWebIdentity, ואז מתחבר ל-IoT Core באמצעות aws-iot-device-sdk או MQTT מקורי דרך WebSocket. גישה זו מהירה פי 3 ליישום מאשר SigV4 מותאם אישית. על ידי שימוש ב-Cognito Identity Pool במקום SigV4 מותאם אישית, אתם חוסכים כ-$2,000 בעלויות פיתוח.

ב-Flutter, אנו משתמשים ב-amplify_auth_cognito לאישור וב-mqtt_client עם נקודת קצה WebSocket מותאמת אישית בפורמט:

wss://[endpoint].iot.[region].amazonaws.com/mqtt 

אנו חותמים על בקשת WebSocket Upgrade דרך SigV4—כותרות wss://[endpoint].iot.[region].amazonaws.com/mqtt , X-Amz-Security-Token, X-Amz-Date. ספריית Authorization מ-Amplify SDK מטפלת בזה.

ב-React Native, השתמשו ב-AWS Amplify עם aws_common, שמתחת למכסה המנוע משתמש ב-MQTT דרך WebSocket עם חתימת SigV4 אוטומטית.

שיטה אבטחה מורכבות המלצה
X.509 נמוכה (מפתח במכשיר) בינונית מכשירים בלבד
SigV4 גבוהה גבוהה תחבורה מותאמת אישית
Cognito Identity Pool גבוהה (מפתחות זמניים) נמוכה (דרך SDK) לאפליקציות ניידות

Cognito Identity Pool מאיץ את הפיתוח פי 3 בהשוואה ל-SigV4 (פי 1.7 טוב יותר מניהול מותאם אישית)—אין צורך ליישם חתימה ידנית. אנו משתמשים בגישה זו ב-90% מהפרויקטים.

הגדרת Cognito שלב אחר שלב ל-IoT 1. צרו Cognito User Pool ו-App Client. 2. צרו Identity Pool המאוחד עם ה-User Pool. 3. הגדירו תפקיד IAM למשתמשים מאומתים. 4. ב-IoT Core, הקצו IoT Policy עם המשתנה `${cognito-identity.amazonaws.com:sub}`. 5. באפליקציה הניידת, אתחלו את Amplify Auth ו-PubSub.

למה IoT Policy חשובה יותר מ-IAM

IoT Policy היא מנגנון נפרד מ-IAM. גם אם לתפקיד Cognito יש @aws-amplify/pubsub, ללא IoT Policy המאפשרת iotdata:Publish לנושאים ספציפיים, בקשות יחזירו iot:Publish. מדיניות טיפוסית ללקוח נייד:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["iot:Connect"],
      "Resource": "arn:aws:iot:region:account:client/${cognito-identity.amazonaws.com:sub}"
    },
    {
      "Effect": "Allow",
      "Action": ["iot:Subscribe", "iot:Receive"],
      "Resource": "arn:aws:iot:region:account:topicfilter/home/${cognito-identity.amazonaws.com:sub}/*"
    },
    {
      "Effect": "Allow",
      "Action": ["iot:Publish"],
      "Resource": "arn:aws:iot:region:account:topic/home/${cognito-identity.amazonaws.com:sub}/*"
    }
  ]
}

403 הוא משתנה מדיניות שמחליף את Cognito Identity ID. כל משתמש רואה רק את המכשירים שלו. זהו התבנית הסטנדרטית ל-IoT מרובה-דיירים.

הצוות שלנו יישם את AWS IoT Core ביותר מ-15 פרויקטים. בשלב מוקדם, גם אנחנו בלבלנו בין IoT Policies ל-IAM—הזמן הממוצע שנחסך בניפוי באגים לאחר אימוץ התבנית הזו הוא 3–4 ימים לפרויקט, שזה בערך 50% מעלות שלב האינטגרציה. הזמינו אינטגרציה מפתח-בידי של AWS IoT Core לאפליקציה הניידת שלכם והימנעו מהטעויות הללו.

Device Shadow וההכרחיות שלו

AWS IoT Device Shadow הוא תכונה מרכזית לאפליקציות ניידות. המכשיר יכול להיות לא מקוון, אבל ה-Shadow מאחסן את מצבו האחרון הידוע. הלקוח הנייד כותב ל-{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iot:Connect"], "Resource": "arn:aws:iot:region:account:client/${cognito-identity.amazonaws.com:sub}" }, { "Effect": "Allow", "Action": ["iot:Subscribe", "iot:Receive"], "Resource": "arn:aws:iot:region:account:topicfilter/home/${cognito-identity.amazonaws.com:sub}/*" }, { "Effect": "Allow", "Action": ["iot:Publish"], "Resource": "arn:aws:iot:region:account:topic/home/${cognito-identity.amazonaws.com:sub}/*" } ] } , המכשיר קורא אותו בעת החיבור ומעדכן את ${cognito-identity.amazonaws.com:sub}.

בפועל: משתמש מכבה אור דרך האפליקציה. הפקודה הולכת ל-desired של ה-Shadow. המכשיר היה לא מקוון במשך 10 דקות—בעת חיבור מחדש, הוא קורא את הדלתא ומבצע את הפקודה. ללא Shadow, תצטרכו לנהל תור פקודות בעצמכם. זה מפחית את מאמץ הפיתוח ב-40% בהשוואה לניהול מצב מותאם אישית (כלומר, Device Shadow מהיר פי 1.7 ליישום).

כדי לקרוא את ה-Shadow מהאפליקציה הניידת, השתמשו ב-REST API או בנושאי MQTT reported. כדי לעדכן אותו, פרסמו ל-desired עם $aws/things/{thingName}/shadow/get.

מקור: AWS IoT Core Developer Guide

שיפור התראות עם IoT Rules

AWS IoT Rules מאפשרים להפעיל Lambda, SNS, SQS על סמך תנאים בהודעות MQTT. להתראות push: IoT Rule → Lambda → SNS → Firebase Cloud Messaging / APNs. זה נקי יותר מאשר שמירה על חיבור MQTT קבוע רק להתראות. החיסכון בעלויות הוא עד 80% בהשוואה לחיבורים קבועים (כלומר, IoT Rules חסכוניים פי 5).

גישה עלות אמינות מורכבות
חיבור MQTT קבוע גבוהה (תעבורה+סוללה) בינונית (חיבורים מחדש) נמוכה
IoT Rules + Push נמוכה (מופעל על ידי אירוע) גבוהה (מנוהל על ידי AWS) בינונית

בעיות טיפוסיות

סערת חיבורים מחדש: 1000 מכשירים מתחברים מחדש בו-זמנית לאחר הפסקת רשת → הגבלת קצב ב-IoT Core → מפל שגיאות. פתרון: backoff אקספוננציאלי עם jitter בקוד הלקוח; $aws/things/{thingName}/shadow/update לא עושה זאת אוטומטית—תצטרכו ליישם זאת בעצמכם.

הגבלת קצב בנקודת קצה: נקודת הקצה {"state": {"desired": {"power": "OFF"}}} מגבילה ל-20 עסקאות בשנייה לחשבון כברירת מחדל. לעומסי ייצור, בקשו הגדלת מגבלות דרך AWS Support מראש.

מה כלול בעבודת האינטגרציה

כאשר אתם מזמינים אינטגרציה מפתח-בידי של AWS IoT Core לאפליקציה הניידת שלכם, אנו מספקים:

  • הגדרת Cognito Identity Pool ו-User Pool
  • IoT Policies לגישה מרובת-דיירים
  • אינטגרציה של Amplify SDK עם תמיכה ב-MQTT דרך WebSocket
  • יישום Device Shadow וסנכרון מצב
  • הגדרת IoT Rules להתראות push
  • תיעוד ארכיטקטורה ופריסה
  • הדרכת צוות (2–3 שעות)
  • תמיכה לאחר השחרור (חודש)
  • ביצועים מובטחים תחת בדיקות עומס

מהנדסי AWS IoT המוסמכים שלנו מבטיחים אינטגרציה חלקה של AWS IoT Core לאפליקציית האינטרנט של הדברים הניידת שלכם. צרו קשר כדי לדון בפרויקט שלכם ולקבל הערכה ראשונית תוך 24 שעות. נעזור לכם להימנע מטעויות נפוצות ולהאיץ את זמן היציאה לשוק של פתרון ה-IoT שלכם. קבלו ייעוץ עכשיו.