תארו לעצמכם חבר קהילה מבוגר שמנסה להאזין לדרשה באייפון 6s. השמע נפסק כשעוברים לאפליקציה אחרת, הגופן קטן מדי, וההודעה על התפילה הקרובה אף פעם לא מגיעה. תרחיש זה נובע מחוסר טיפול נכון בשמע ברקע, Dynamic Type והתראות push. צברנו פתרונות לאתגרים אלה עבור אפליקציות כנסייה הפועלות על מכשירים בני 5–7 שנים.
כיצד פועלים לוח הזמנים וההתראות
לוח הזמנים של התפילות הוא יומן עם אירועים חוזרים וחריגים. עותק מקומי ב-Core Data (iOS) או Room (Android) מסתנכרן בעת ההפעלה. אירועים חוזרים (סמנטיקת iCalendar RRULE) עדיף לאחסן ככלל בתוספת רשימת חריגים ולא כ-N רשומות נפרדות.
התראות push שעה לפני התפילה נשלחות דרך FCM או APNs. בצד הלקוח, התראות מקומיות דרך UNUserNotificationCenter (iOS) או AlarmManager + NotificationCompat (Android) משמשות כגיבוי למשתמשים ללא אינטרנט יציב.
התראות מקומיות: שלב אחר שלב
- בקשת הרשאה:
UNUserNotificationCenter.current().requestAuthorization(options:). - יצירת תוכן:
UNMutableNotificationContent()עם כותרת וגוף. - הגדרת טריגר:
UNCalendarNotificationTrigger(dateMatching:repeats:). - הוספת בקשה:
UNUserNotificationCenter.current().add(request).
באנדרואיד — NotificationCompat.Builder + AlarmManager.setExact().
כיצד פועלת ספריית המדיה של הדרשות
דרשות אודיו ווידאו הן התוכן העיקרי. וידאו דרך HLS מ-CDN (AVPlayer עם AVAsset(url: m3u8URL)), אודיו — AVAudioPlayer או AVPlayer בהתאם לפורמט. שמע ברקע הוא חובה: משתמשים מאזינים בזמן נסיעה.
שמע ברקע ב-iOS: AVAudioSession עם קטגוריית .playback, UIBackgroundModes: audio ב-Info.plist, MPRemoteCommandCenter לשליטה ממרכז הבקרה ו-AirPods (הפעלה/השהיה, רצועה הבאה, חיפוש). ללא MPRemoteCommandCenter, ההודעה לא מופיעה בנגן המערכת, ו-AirPods לא שולטים בהפעלה. לפעולה תקינה, יש להגדיר את MPRemoteCommandCenter — ראו תיעוד Apple לפרטים.
באנדרואיד — MediaSessionCompat + MediaBrowserServiceCompat + הודעה עם MediaStyle. ExoPlayer ב-ForegroundService להפעלה ברקע. PlayerNotificationManager מ-ExoPlayer יוצר אוטומטית הודעת מדיה עם פקדים.
חיפוש דרשות — חיפוש טקסט מלא דרך API. סינון לפי דובר, תאריך, סדרה. גישה לא מקוונת לחומרים שהורדו — מאוחסנים ב-FileManager (iOS) או getExternalFilesDir() (Android).
צ'אט קהילתי: SDK מוכן או פתרון מותאם?
צ'אט כללי יכול להיות מיושם דרך SDK של צד שלישי (Stream Chat, SendBird) או פתרון מותאם מבוסס WebSocket. עבור קהילות קטנות (עד 500 איש), SDK מוכנים עם מודלים של freemium הם חסכוניים יותר מבחינת זמן פיתוח ועלות. Stream Chat SDK ל-iOS ואנדרואיד מספק ממשק משתמש מוכן — ChatChannelVC / ChannelListFragment — עם אפשרויות התאמה אישית.
| קריטריון | Stream Chat | יישום מותאם |
|---|---|---|
| זמן אינטגרציה | 1–2 ימים | 2–4 שבועות |
| עלות | מסלול חינמי עד 10k MAU | עלויות שרת + פיתוח |
| תכונות | ניהול, תגובות, קבצים | שליטה מלאה, אך מורכב יותר |
ניהול תוכן — תפקידי מנהל ומנהל מערכת. מחיקת הודעות, חסימת משתמשים. זו תכונה חובה עבור קהילה דתית.
כיצד מטפלים בתרומות
תרומות בתוך האפליקציה הן החלק המוסדר ביותר. ב-iOS, אי אפשר להטמיע טופס תשלום משלך עבור מוצרים/שירותים דיגיטליים — Apple דורשת StoreKit. עם זאת, תרומות לארגוני צדקה/דת אינן רכישת תוכן דיגיטלי, ולכן WebView עם טופס תשלום חיצוני (Stripe, PayPal) מקובל. יש לציין זאת במפורש במטרת האפליקציה במהלך הבדיקה — אחרת קיים סיכון לדחייה לפי הנחיה 3.1.1.
באנדרואיד, ההגבלות פחותות — Stripe SDK מקורי (com.stripe:stripe-android) עם PaymentSheet מספק ממשק מוכן להזנת כרטיס.
תרומות חוזרות — מנויים דרך Stripe Billing. ניהול מהאפליקציה: ביטול, שינוי סכום. החיסכון בעמלת Stripe בהשוואה לשער תשלום מותאם יכול להיות משמעותי.
תמיכה במכשירים ישנים: למה לשים לב
מינימום iOS 14 (מכסה מעל 95% מהמכשירים הפעילים). אנדרואיד מינימום API 26 (אנדרואיד 8). ב-iOS 14 אין AsyncImage — השתמשו ב-Kingfisher. ללא @Observable (iOS 17) — השתמשו ב-ObservableObject + @Published.
גופן — Dynamic Type (UIFont.preferredFont(forTextStyle:), יחידות sp באנדרואיד). משתמשים מבוגרים מרבים להגדיל את גודל הגופן בהגדרות המערכת — האפליקציה חייבת להגיב כראוי ללא גלישת טקסט.
| באילו מכשירים אנו בודקים? |
|---|
| iPhone 6s (iOS 14), iPhone 8, iPhone X, iPod touch 7, Samsung Galaxy S8 (אנדרואיד 8), Galaxy J5, Xiaomi Redmi Note 5. בכל מכשיר אנו בודקים קנה מידה של גופן, הפעלה ברקע, התראות push. |
מה כלול בעבודה? (תוצרים)
| שלב | תוצאה |
|---|---|
| ניתוח | מפרט טכני, דיאגרמת ארכיטקטורה, אב טיפוס UX |
| עיצוב | מוקאפים Pixel Perfect ל-iOS ואנדרואיד, התאמת Dynamic Type |
| פיתוח | קוד מקורי ב-Swift/Kotlin, אינטגרציית API, אישורי push |
| בדיקות | QA על מכשירים אמיתיים, בדיקות UI, בדיקות עומס |
| פרסום | העלאה ל-App Store Connect ו-Google Play Console, ניווט בהנחיות |
| תמיכה | 3 חודשים של תיקוני באגים וייעוץ לאחר השחרור |
לוחות זמנים ועלות
לוח זמנים + ספריית מדיה עם שמע ברקע + התראות push — 4–6 שבועות. צ'אט + תרומות + מצב לא מקוון — 2–3 חודשים. העלות מחושבת לאחר ניתוח דרישות. צרו קשר להערכת פרויקט — נכין הצעה מסחרית תוך יומיים.
הבטחות וניסיון
אנו מבטיחים מעבר ב-App Store Review ו-Google Play Review, עמידה בהנחיות (סעיף 4.2, 5.1) והגנה על נתונים אישיים. 5+ שנים בפיתוח מובייל, 30+ שחרורים. קבלו ייעוץ על ארכיטקטורת האפליקציה שלכם עוד היום.







