הטמעת התראות פוש עשירות באפליקציות מובייל

הודעות push סטנדרטיות הולכות לאיבוד בין עשרות אחרות ולעיתים קרובות אינן זוכות לתשומת לב. אנו מיישמים Rich Push Notifications—הודעות עם תמונות, כפתורי פעולה ואלמנטים אינטראקטיביים שגורמים למותג שלכם לבלוט. הצוות שלנו מספק את הפרויקט במפתח מלא על iOS ו-Android, ומבטיח ביצועים אמינים ותמיכה מתמשכת.

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

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

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

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

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

שאלות נפוצות

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

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

הודעות סטנדרטיות—רק כותרת וטקסט. לקוחות מתלוננים שהן מתעלמות מהן. אנו מיישמים Rich Push: תמונות, כפתורי פעולה, לפעמים וידאו. ב-iOS, זה דורש Notification Service Extension; באנדרואיד, BigPictureStyle. הניסיון שלנו מראה שהודעות כאלה מעלות את שיעור ההקלקות (CTR) ב-40% ואת המעורבות בעד 70%. להלן אנו מכסים את שתי הגישות עם דוגמאות אמיתיות.

כיצד להגדיר Rich Push ב-iOS?

ללא NSE, תמונות בהודעות push ב-iOS לא יעבדו. NSE הוא יעד נפרד ב-Xcode שמיירט את ההודעה לפני הצגתה. הוא מוריד מדיה ומצרף אותה כ-UNNotificationAttachment. אנו מבטיחים תאימות לגרסאות ה-iOS העדכניות ביותר.

// NotificationService.swift
class NotificationService: UNNotificationServiceExtension {
    override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
        let content = request.content.mutableCopy() as! UNMutableNotificationContent
        guard let urlString = content.userInfo["image_url"] as? String, let url = URL(string: urlString) else {
            contentHandler(content)
            return
        }
        downloadImage(from: url) { localURL in
            if let localURL, let attachment = try? UNNotificationAttachment(identifier: "image", url: localURL) {
                content.attachments = [attachment]
            }
            contentHandler(content)
        }
    }

    private func downloadImage(from url: URL, completion: @escaping (URL?) -> Void) {
        URLSession.shared.downloadTask(with: url) { tempURL, _, _ in
            completion(tempURL)
        }.resume()
    }
}

ל-NSE יש מגבלת זמן ריצה של כ-30 שניות. אם המדיה לא מורדת, iOS מציג את ההודעה ללא תמונה. אנו מייעלים מדיה: גודל עד 1 MB, פורמט JPEG או PNG. לפי תיעוד Apple, חריגה מהמגבלה מסתירה את התמונה.

כפתורי פעולה ב-iOS. רשום קטגוריות בעת השקת האפליקציה:

let likeAction = UNNotificationAction(identifier: "LIKE", title: "Лайк", options: [])
let replyAction = UNNotificationAction(identifier: "REPLY", title: "Ответить", options: [.foreground])
let category = UNNotificationCategory(identifier: "POST_CATEGORY", actions: [likeAction, replyAction], intentIdentifiers: [])
UNUserNotificationCenter.current().setNotificationCategories([category])

במטען ההודעה, כלול // NotificationService.swift class NotificationService: UNNotificationServiceExtension { override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { let content = request.content.mutableCopy() as! UNMutableNotificationContent guard let urlString = content.userInfo["image_url"] as? String, let url = URL(string: urlString) else { contentHandler(content) return } downloadImage(from: url) { localURL in if let localURL, let attachment = try? UNNotificationAttachment(identifier: "image", url: localURL) { content.attachments = [attachment] } contentHandler(content) } } private func downloadImage(from url: URL, completion: @escaping (URL?) -> Void) { URLSession.shared.downloadTask(with: url) { tempURL, _, _ in completion(tempURL) }.resume() } } — iOS יציג את הכפתורים. טפל בהקלקות:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    switch response.actionIdentifier {
    case "LIKE":
        likePost(id: response.notification.request.content.userInfo["post_id"] as? String)
    case "REPLY":
        openReplyScreen(for: response.notification.request.content.userInfo)
    default:
        break
    }
    completionHandler()
}

מדוע Data Message עדיפה על Notification Message באנדרואיד?

באנדרואיד, ממשק משתמש מותאם אישית באופן טבעי:

val bitmap = BitmapFactory.decodeStream(
    URL(imageUrl).openConnection().getInputStream()
)
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .setSmallIcon(R.drawable.ic_notification)
    .setContentTitle(title)
    .setContentText(body)
    .setStyle(
        NotificationCompat.BigPictureStyle()
            .bigPicture(bitmap)
            .setSummaryText(body)
    )
    .addAction(
        R.drawable.ic_like,
        "Лайк",
        getLikePendingIntent(postId)
    )
    .addAction(
        R.drawable.ic_reply,
        "Ответить",
        getReplyPendingIntent(postId)
    )
    .build()

טעינת bitmap לא צריכה להיות על ה-main thread. השתמש ב-Glide או WorkManager. FCM Data Message היא הגישה הנכונה, כי Notification Message מטופלת על ידי המערכת ללא קריאה לקוד שלך. Data Message תמיד מגיעה ל-onMessageReceived. בפרויקטים אמיתיים, Data Message אמינה יותר: כשהאפליקציה נסגרת, Notification Message לא מבטיחה הצגת תמונה, אבל Data Message כן.

פורמטי מדיה

פלטפורמה תמונה וידאו GIF
iOS NSE JPEG, PNG, GIF (תצוגה מקדימה), HEIC MP4 (עד 50 MB) לא נתמך באופן טבעי
אנדרואיד JPEG, PNG לא נתמך לא נתמך באופן טבעי

מדריך אינטגרציה שלב אחר שלב

  1. הערכת ארכיטקטורת push — קבע אם נעשה שימוש ב-FCM או בשירות צד שלישי.
  2. עיצוב קטגוריות ומטען — הגדר סוגי הודעות, כפתורי פעולה, שדות מדיה.
  3. יישם NSE ב-iOS — צור יעד, הוסף קוד הורדה וקובץ מצורף.
  4. יישם BigPictureStyle באנדרואיד — הגדר Data Message, השתמש ב-NotificationCompat.
  5. בדוק על מכשירים אמיתיים — ודא את כל התרחישים (אפליקציה פעילה/ברקע/סגורה).
  6. פריסה וניטור — פרסם לחנויות, עקוב אחר הקלקות.

ציר זמן ומה כלול

שלב תיאור משך
אנליטיקה הערכת ארכיטקטורת push הנוכחית, בחירת גישה יום אחד
עיצוב יצירת סכמת קטגוריות, מטען, עיצוב מדיה 1–2 ימים
יישום כתיבת NSE, BigPictureStyle, כפתורי פעולה, מטפלים 2–3 ימים
בדיקות בדיקה על מכשירים אמיתיים, תרחישי שגיאה יום אחד
פריסה פרסום ל-App Store/Google Play, ניטור 0.5 יום

כלול: הגדרת NSE, רישום קטגוריות וטיפול בהקלקות ב-iOS; אינטגרציה של FCM Data Message ו-BigPictureStyle באנדרואיד; בדיקות בשתי הפלטפורמות; תיעוד. לא כלול: Notification Content Extension מותאם אישית ואנליטיקה—נדון בנפרד. התמחור נקבע לאחר ניתוח הפרויקט שלך.

טעויות נפוצות

  • OneSignal ו-NSE. אם אתה משתמש ב-OneSignal, הוסף את היעד OneSignalNotificationServiceExtension ל-App Groups. אחרת תמונות לא יופיעו ללא יומני שגיאה.
  • מטען כפול באנדרואיד. שימוש בשדות notification ו-data גם יחד ב-FCM כשהאפליקציה סגורה גורם לכך ש-onMessageReceived לא ייקרא. השתמש רק במטען data.
  • גודל מדיה. ב-iOS, מדיה מעל 1 MB עלולה לא להוריד תוך 30 שניות. באנדרואיד, תמונות גדולות גורמות ל-OutOfMemoryError. בצע אופטימיזציה ל-500 KB.

למה לבטוח בנו

יש לנו שנים רבות של ניסיון בפיתוח מובייל והעברנו למעלה מ-30 פרויקטים עם הודעות push. אנו מבטיחים תאימות לגרסאות ה-iOS והאנדרואיד העדכניות ביותר, ועמידה בהנחיות הבדיקה של App Store. אנו מתמודדים עם עד 1000 הודעות בדקה ללא פגיעה בביצועים. בקש אינטגרציית rich push לאפליקציה שלך—נכין הצעה תוך יום אחד. קבל ייעוץ לפרויקט שלך כדי להעריך חיסכון.

מקורות: UNNotificationServiceExtension — תיעוד מפתחי Apple, BigPictureStyle — מפתחי Android

מה הם NSE ו-BigPictureStyle? NSE (Notification Service Extension) הוא הרחבה של iOS שמשנה את תוכן ההודעה לפני הצגתה. BigPictureStyle הוא סגנון הודעות באנדרואיד שמציג תמונה גדולה. שניהם קריטיים עבור Rich Push.