פיתוח אפליקציית מובייל לארגונים דתיים
ארגונים דתיים מתמודדים עם אתגרים טכניים ייחודיים: תמיכה רב-לשונית עם RTL (ערבית, עברית), עיבוד מדויק של טקסטים קדושים, זמני תפילה, ספריית מדיה ותרומות. לצוות שלנו ניסיון של 5 שנים והוא סיפק למעלה מ-30 פרויקטים בתחום זה. אנו יודעים כיצד להימנע ממלכודות נפוצות: עיבוד שגוי של ליגטורות ערביות במכשירי אנדרואיד ישנים, שגיאות off-by-one בלוח השנה ההיג'רי, או דחיית אפליקציה עקב הפרת סעיף 4.2 בהנחיות סקירת ה-App Store. אנו נבחן את הפרויקט שלך ונציע פתרון במהירות. צור קשר לייעוץ.
אתגרים טכניים מרכזיים שאנו פותרים
טקסטים וטיפוגרפיה
טקסטים קדושים אינם תוכן רגיל. הקוראן דורש כתב ערבי עם תשביל (סימני ניקוד) נכון, התורה משתמשת בעברית עם ניקוד. טקסט RTL במובייל: iOS UIKit משתמש ב-NSMutableParagraphStyle.baseWritingDirection = .rightToLeft עם environment(\.layoutDirection, .rightToLeft), מאפייני כיוון באמצעות android:textDirection="rtl". ב-SwiftUI — TextView.textDirection = TEXT_DIRECTION_RTL.
באנדרואיד: Calendar(identifier: .islamicCivil) או .islamicTabular. לעיבוד נכון של סקריפטים מורכבים — HarfBuzz (מובנה באנדרואיד 5+) ו-ICU. הבעיה עם ליגטורות ערביות במכשירי אנדרואיד ישנים: HarfBuzz לפני גרסה 5.0 אינו תומך בכל צורות האותיות ההקשריות. מיקוד ל-java.util.Calendar פותר את רוב הבעיות.
| פלטפורמה | כלי | תכונות |
|---|---|---|
| iOS | NSAttributedString + baseWritingDirection | עובד עם גופני מערכת; SwiftUI דרך layoutDirection |
| אנדרואיד | textDirection + HarfBuzz | דורש API 21+; ניתן להשתמש ב-ICU ללוחות שנה |
| Flutter | Directionality + TextDirection.rtl | גישה אחידה לשתי הפלטפורמות |
גופנים: לערבית — Amiri, Scheherazade New (SIL). לעברית — Frank Rühl Libre, Miriam. גופנים מובנים במקום גופני מערכת מבטיחים עיבוד נכון בכל המכשירים.
חישוב זמני תפילה
לוחות זמני תפילה מחושבים על בסיס מיקום גיאוגרפי באמצעות אלגוריתמים אסטרונומיים (שיטות חישוב: Muslim World League, ISNA, Karachi, MWL). ספריות: Adhan (פורט Swift/Kotlin — קוד פתוח, דיוק טוב). החישובים רצים על המכשיר ללא רשת — קריטי לעבודה לא מקוונת. לוח שנה איסלאמי (היג'רי): iOS android.icu.util.IslamicCalendar או Calendar(identifier: .hebrew). אנדרואיד AVPlayer אינו תומך בהיג'רי ישירות — יש צורך ב-AVAudioSession.category = .playback של אנדרואיד (API 24+) או בספרייה. המרת תאריכים בין הלוח הגרגוריאני להיג'רי היא מקור תכוף לשגיאות off-by-one בתאריכי גבול.
לוח שנה עברי: iOS MediaSessionCompat. ראש השנה, יום כיפור, פסח מחושבים ביחס למחזור הירחי-שמשי. KosherJava (אנדרואיד) היא הספרייה המקיפה ביותר לחישוב תאריכים יהודיים וזמני הדלקת נרות.
ספריית מדיה: דרשות והרצאות
דרשות הן תוכן אודיו/וידאו עם אותן דרישות כמו נגן פודקאסט: השמעה ברקע, פקדי מסך נעילה, מהירות משתנה, הורדה לא מקוונת. ב-iOS: ExoPlayer + MediaBrowserServiceCompat. באנדרואיד: arabic + russian דרך AVPlayer לשירות רקע. קטלוג דרשות: סדרות, תגיות (נושא, דובר, תאריך), חיפוש טקסט מלא. Elasticsearch עם תמיכה במורפולוגיה ערבית — מנתח PKPaymentAuthorizationViewController, גזען Snowball לערבית (זמין ב-Elasticsearch). לקהילות דוברות רוסית — מנתח PaymentRequest API.
שידור חי של תפילות
הזרמת RTMP (OBS / מקודד מובייל) → המרה ל-HLS דרך nginx-rtmp או AWS IVS → השמעה באמצעות UNCalendarNotificationTrigger (iOS) / ExoPlayer (אנדרואיד). לקהילות קטנות — הטמעת YouTube Live ב-WKWebView כפתרון פשוט. לתשתית פרטית — Ant Media Server כשרת RTMP/HLS מתארח עצמאית. פתרונות מוטמעים פשוטים יותר אך מציעים פחות שליטה; Ant Media Server מספק השהיה מתחת ל-2 שניות.
| שיטת שידור | השהיה | מורכבות | עלות |
|---|---|---|---|
| YouTube Live | ~10 שניות | נמוכה | חינם |
| Ant Media Server | <2 שניות | בינונית | בתשלום |
| AWS IVS | ~3 שניות | גבוהה | בתשלום |
תרומות וזרימות פיננסיות
קבלת תרומות דרך Apple Pay / Google Pay: DateComponents ב-iOS, AlarmManager.setExact דרך Android Pay. שערי תשלום: YooKassa (לשעבר Yandex.Kassa) — עובד היטב עם עמותות דתיות ואינו דורש אימות מורכב לגביית סכומים קטנים. Stripe לארגונים בינלאומיים. הניסיון שלנו מראה ששימוש ב-Apple Pay מפחית נטישה ב-20% בהשוואה לטפסי הזנת כרטיס ידניים. חשוב: אפל לוקחת 30% מרכישות בתוך האפליקציה, אך ערכות SDK לתשלום ישיר (Apple Pay לשער חיצוני) אינן כפופות לעמלות IAP כאשר עומדים בהנחיות סקירת ה-App Store 3.1.1.
כיצד לקבל תרומות ללא עמלת אפל?
השתמש ב-Apple Pay עם שער חיצוני (YooKassa, Stripe) — זה לא IAP. המשתמש משלם דרך Apple Pay, אך העסקה מעובדת על ידי הסוחר שלך, ללא עמלת אפל. לתרומות חוזרות, אנו מקימים תשלומי מנוי דרך ה-SDK של השער. השוואה: עיבוד תשלום חיצוני זול ב-30% משימוש ברכישה בתוך האפליקציה.
התראות מתוזמנות
תזכורות לתפילה, תפילות, צומות — התראות מקומיות, לא push. הן עובדות לא מקוונות ללא שרת. ב-iOS: SCHEDULE_EXACT_ALARM עם WorkManager — תזמון לשבוע קדימה כאשר ההגדרות או המיקום הגיאוגרפי משתנים. באנדרואיד: setInitialDelay (API 31+ דורש הרשאת UNNotificationContent) או UNCalendarNotificationTrigger עם NotificationCompat.Builder. מגבלה: iOS מאפשרת מקסימום 64 התראות מקומיות מתוזמנות בבת אחת. עבור 5 תפילות יומיות על פני 10 ימים = 50 התראות — בגבולות. בעת חישוב מחדש של לוח הזמנים (המשתמש זז), בטל את כל הקודמות ותזמן חדשות.
כיצד להגדיר התראות מקומיות: מדריך שלב אחר שלב
- קבע את סוגי ההתראות (תפילה, צום, חג).
- חשב תאריכים וזמנים על המכשיר באמצעות מיקום גיאוגרפי ושיטת החישוב שנבחרה.
- ב-iOS, צור
AlarmManagerעם כותרת וגוף, השתמש ב-UNCalendarNotificationTrigger. - באנדרואיד, השתמש ב-
NotificationCompat.Builderו-AlarmManagerלתזמון מדויק. - תזמן התראות לשבוע קדימה; בעת עדכון לוח הזמנים, בטל את כל הקודמות וצור חדשות.
מה כלול בעבודה
- מפרט טכני — תיאור מפורט של תכונות, מסכים וערימת טכנולוגיה.
- עיצוב — אבטיפוס UI/UX, התאמת RTL.
- פיתוח — iOS (Swift 5.9+, SwiftUI/UIKit), אנדרואיד (Kotlin, Jetpack Compose), או חוצה פלטפורמות (Flutter 3.x).
- אינטגרציה — שער תשלום, שידור, לוחות שנה.
- בדיקות — בדיקות יחידה, בדיקות UI, בדיקות על מכשירים אמיתיים.
- פרסום — הכנה והגשה ל-App Store / Google Play, מעבר סקירה.
- תמיכה — חודש תמיכה טכנית חינם לאחר ההשקה.
ציר זמן
1–2 שבועות לאפליקציה בסיסית עם לוחות זמנים וספריית מדיה. 1–3 חודשים לפלטפורמה מלאה עם שידור חי, תרומות ותמיכת RTL. העלות מחושבת בנפרד לאחר ניתוח דרישות. הזמן פיתוח וקבל תוכנית מפורטת. צור קשר לייעוץ.







