ما هي الإشعارات الفورية؟

غطاء الإشعارات الفورية

الإشعارات الفورية هي قناة اتصال قوية طرحتها شركة Apple في عام 2009. ومنذ ذلك الحين ارتفعت شعبيتها بشكل كبير وأصبحت جزءًا أساسيًا من معظم الحملات التسويقية. يمكن استخدام الإشعارات لزيادة التفاعل وزيادة استخدام التطبيق والتأثير على التحويلات والمزيد!

سنتعرف في هذه المقالة على الإشعارات الفورية وفوائدها وحالات استخدامها وأنواع الإشعارات وما يجب فعله وما لا يجب فعله. علاوة على ذلك، سنلقي نظرة على كيفية إرسال إشعارات فورية إلى أجهزة Android باستخدام Back4app – أحد أفضل مزودي خدمة mBaaS.

Contents

ما هو الإشعار الفوري؟

الإشعارات الفورية هي رسالة قصيرة أو تنبيه يمكن إرسالها مباشرةً إلى جهاز العميل المحمول أو متصفح الويب أو الجهاز القابل للارتداء أو أي جهاز آخر يدعم الإشعارات. يتم استخدامها كقناة اتصال سريعة تسمح للشركات بإرسال تذكيرات وتحديثات ورسائل حساسة للوقت وعروض ترويجية وغيرها.

تُعد الإشعارات الفورية خدمة اشتراكية بمعنى أن العميل يحتاج إلى الموافقة على تلقي الإشعارات. وعادةً ما يتم الحصول على الموافقة في رسالة منبثقة بسيطة أو عن طريق تثبيت تطبيق الناشر على الهاتف المحمول.

تتكون الإشعارات الفورية من عناصر متعددة. يختلف هيكلها ومظهرها قليلاً حسب جهاز العميل ونظام تشغيله. يمكن أن تحتوي بشكل عام على نصوص ورموز تعبيرية وصور وأزرار أو ما يسمى بعناصر الحث على اتخاذ إجراء معين عند النقر عليها.

مثال على إشعار فوري على جهاز Android يبدو كالتالي:

تشريح الإشعارات الفورية للأندرويد

لماذا استخدام الإشعارات الفورية؟

الإشعارات الفورية هي أداة متعددة الأغراض. يمكن استخدامها للتسويق والرسائل الحساسة للوقت والتنبيهات الأمنية والتحديثات وغيرها. لنلقِ نظرة على بعض حالات الاستخدام الأكثر شيوعًا.

العروض الترويجية والعروض

يمكن للشركات الاستفادة من الإشعارات الفورية لإرسال عروض ترويجية وخصومات للمستخدمين، وتشجيعهم على الشراء. علاوة على ذلك، يمكنهم تخصيص الإشعارات الفورية لجعلها أكثر ملاءمة وفعالية.

الحد من العربات المتروكة

إذا كنت تمتلك متجراً إلكترونياً يمكن أن تساعدك الإشعارات الفورية في تقليل العربات المتروكة. بعد التخلي عن عربة التسوق لبضعة أيام، يمكنك تنبيه المستخدم بإشعار فوري يعرض عليه خصمًا إضافيًا.

التفاعلات الاجتماعية

الإشعارات الفورية رائعة للاحتفاظ بالمستخدمين. ترسل لك معظم التطبيقات الاجتماعية مثل Facebook وInstagram وTwitter إشعارًا في كل مرة يتفاعل فيها مستخدم آخر معك. على سبيل المثال: يعجب بمنشورك، أو يعلق على منشورك، أو يرسل لك رسالة، وهكذا.

التحديثات والتذكيرات

يمكن أن تكون الإشعارات الفورية أداة مفيدة لتلقي التحديثات والتذكيرات لأشياء مثل الأحداث والمواعيد والمواعيد النهائية.

الأمن

يمكن أيضاً استخدام الإشعارات الفورية لأغراض أمنية. ترسل بعض الشركات إشعارًا فوريًا للعملاء في كل مرة يقوم فيها شخص ما بتسجيل الدخول إلى حسابه. بالإضافة إلى ذلك، يمكنك استخدام الإشعارات الفورية لبدء تأكيد المصادقة الثنائية.

ما هي فوائد استخدام الإشعارات الفورية؟

لقد ذكرنا العديد من فوائد الإشعارات الفورية في القسم السابق. باختصار، تشمل الفوائد ما يلي:

  • زيادة مشاركة المستخدمين
  • ارتفاع معدل الاحتفاظ بالمستخدمين
  • معدلات تحويل أعلى
  • تعزيز خدمة العملاء المحسّنة
  • زيادة المبيعات والإيرادات
  • تجربة مستخدم محسّنة

ما هي أنواع الإشعارات الفورية؟

هناك ثلاثة أنواع من التنبيهات الفورية: تنبيهات الهاتف المحمول، وتنبيهات الويب، وتنبيهات سطح المكتب.

أجهزة الإشعارات

الإشعارات الفورية عبر الهاتف المحمول

الإشعارات الفورية للأجهزة المحمولة هي أكثر أنواع الإشعارات الفورية استخدامًا وشهرة. يمكن أن تظهر في مجموعة متنوعة من الأشكال بما في ذلك في شريط الحالة، ودرج الإشعارات، والإشعارات الرئيسية، وشاشة القفل.

يمكن أن تحتوي على أيقونة صغيرة واسم التطبيق والطابع الزمني وأيقونة كبيرة وعنوان ونص وأزرار. يمكن تنظيم إشعارات الهاتف المحمول في قنوات مختلفة بناءً على محتواها وأهميتها.

عادةً ما يتم إرسال إشعارات الجوال الفورية باستخدام خدمة الإشعارات الفورية، مثل خدمة الإشعارات الفورية من Apple Push Notification Service (APNS) لأجهزة iOS وخدمة Firebase Cloud Messaging (FCM) لأجهزة Android. المزيد حول خدمات الإشعارات الفورية لاحقًا في البرنامج التعليمي.

إشعار الدفع عبر الويب

الإشعارات الفورية المستندة إلى الويب هي إشعارات يمكن إرسالها من قبل مواقع الويب إلى متصفح المستخدم حتى عندما لا يكون المتصفح مفتوحًا. تظهر في درج إشعارات سطح المكتب وعلى الشاشة الرئيسية للمتصفح.

أصدرت Google الإصدار الأول من إشعارات الويب الفورية في عام 2014. وهي الآن مدعومة من قبل معظم متصفحات الويب الحديثة، بما في ذلك Google Chrome وMozilla Firefox وMicrosoft Edge.

على عكس إشعارات الهاتف المحمول، يتم تسليم هذه الإشعارات من خلال واجهة برمجة تطبيقات الدفع (Push API) الخاصة بالمتصفح.

إشعار الدفع لسطح المكتب

تشبه إشعارات سطح المكتب إشعارات الويب الفورية. والفرق الرئيسي بينهما هو كيفية إرسالها. فبينما يتم إرسال إشعارات الويب عن طريق موقع ويب أو تطبيق ويب، يتم إرسال إشعارات سطح المكتب عن طريق تطبيق مثبت على الكمبيوتر.

تظهر في درج الإشعارات وهي مدعومة في معظم أنظمة التشغيل الحديثة.

ما الذي يجعل الإشعار الفوري جيداً؟

في عام 2023 يتلقى مستخدم الهاتف الذكي النموذجي حوالي 50 إشعاراً يومياً. تُترك معظم الإشعارات غير مقروءة ويتم تمريرها بعيداً. إذا كنت ترغب في أن تكون حملة الإشعارات الفورية الخاصة بك أكثر نجاحًا، ففكر في النصائح التالية.

التخصيص

يمكن أن يؤدي تخصيص الإشعارات حسب اهتمامات المستخدمين وتفضيلاتهم إلى جعل الإشعارات أكثر ملاءمة وجذبًا للانتباه. يمكن أن يؤدي ذلك إلى تحسين الاحتفاظ بالمستخدمين ومشاركتهم وولائهم. وعلاوةً على ذلك، يمكن أن يزيد من إيرادات نشاطك التجاري، من خلال تشجيع المستخدمين على اتخاذ الإجراءات المطلوبة عبر عبارات الحث على اتخاذ إجراء.

استخدام الوسائط الغنية والرموز التعبيرية

لجعل إشعاراتك أكثر جاذبية وإثارة للاهتمام، تأكد من تضمين الصور والرموز التعبيرية ذات الصلة. وقد أظهرت الدراسات أن الصور والرموز التعبيرية يمكن أن تزيد بشكل كبير من معدلات النقر إلى الظهور.

إذا اخترت الرموز التعبيرية تأكد من عدم الإفراط في استخدامها. استخدم رمزًا تعبيريًا واحدًا أو اثنين كحد أقصى إما في بداية الإشعار أو نهايته.

الوقت المناسب لهم

من المهم بالنسبة لك أن تحدد الوقت المناسب لإشعاراتك الفورية. قبل إرسال الإشعارات تأكد من معرفة قاعدة عملائك. إذا كان عملاؤك يعيشون في مناطق زمنية مختلفة، يمكنك تقسيمهم إلى مجموعات متعددة بناءً على مناطقهم الزمنية ثم إرسال الإشعارات مجموعة تلو الأخرى.

وجد بحث نوتيكس أن الإشعارات المرسلة بين:

  1. 8:00 صباحًا و11:00 صباحًا بنسبة نقر إلى الظهور 5.55%
  2. الساعة 11:00 صباحًا و8:00 مساءً، تبلغ نسبة النقر إلى الظهور 7%
  3. بين الساعة 8:00 مساءً والساعة 11:00 مساءً بنسبة 10.4% من نسبة النقر إلى الظهور

تضمين CTAs

يجب أن توضح الإشعارات الفورية الهدف منها وما يجب أن يفعله المستخدم بعد ذلك. على سبيل المثال: إذا كنت قد نشرت للتو مقالًا جديدًا، تأكد من تضمين رابط المقال، وإذا كان هناك منتج جديد متاح في متجرك، أضف زر “اشترِ الآن”.

تذكّر: يكون الإشعار الفوري الجيد وثيق الصلة بالموضوع ويشرك المستخدم ويوفر قيمة له.

ما الذي يجب تجنبه عند إرسال إشعارات فورية؟

على الرغم من أن الإشعارات الفورية أداة قوية لإشراك المستخدمين وزيادة التحويلات، إلا أن هناك بعض المواقف التي يجب تجنبها فيها. تأكد من عدم القيام بـ

  1. الإعلان عن منتج آخر
  2. إرسال الكثير من الإشعارات
  3. إرسال إشعارات غير ذات صلة أو لا معنى لها
  4. محاولة اكتساب المستخدمين عبر الإشعارات
  5. ارهق المستخدمين

ما هي خدمة الإشعارات الفورية؟

خدمة الإشعارات الفورية هي خدمة تسمح لمطوري الطرف الثالث بإرسال إشعارات فورية إلى أجهزة عملائهم عبر واجهة برمجة التطبيقات أو لوحة تحكم. وهي تعمل من خلال إنشاء اتصال بين التطبيق أو الموقع الإلكتروني وجهاز العميل. تستخدم خدمة الإشعارات الفورية معرّفاً فريداً لكل جهاز لضمان تسليم الرسالة إلى المستلم المقصود فقط.

تشمل وظائف خدمة الإشعارات الفورية النموذجية إدارة العملاء والجماهير، وإدارة الإشعارات (بما في ذلك الإشعارات السابقة)، وجدولة الإشعارات، والتحليلات (نسبة النقر إلى الظهور، والتسليمات وغيرها).

فيما يلي بعض الأمثلة على خدمات الإشعارات الفورية:

  1. Firebase Cloud Messaging (FCM)
  2. Apple Push Notification Service (APNS)
  3. Amazon Simple Notification Service (SNS)
  4. Back4app (Parse) Push Notifications
  5. OneSignal

كيف ترسل إشعاراً فورياً؟

يتناول هذا القسم من المقالة كيفية إرسال إشعارات فورية إلى أجهزة Android باستخدام Back4app.

مثال على الإعلام الفوري

المتطلبات الأساسية

  • يجب أن يكون لديك Android Studio مثبتًا
  • الفهم الأساسي لتطوير تطبيقات أندرويد
  • مشروع Android Studio المستند إلى Gradle

الأهداف

  1. إنشاء تطبيق Back4app
    • تثبيت وتهيئة Parse SDK لنظام Android
    • تهيئة Parse باستخدام معرّف التطبيق ومفتاح العميل
  2. إنشاء مشروع وتطبيق Firebase
    • تثبيت Firebase SDK
  3. ربط Firebase و Back4app عبر معرف مرسل GCM ومفتاح خادم GCM
  4. تكوين أذونات Android، وتسجيل خدمة وجهاز استقبال للتنبيهات.
  5. إرسال إشعارات فورية عبر لوحة تحكم Back4app أو الرمز السحابي

ما هو تطبيق Back4app؟

Back4app هو مزود رائع للواجهة الخلفية كخدمة (BaaS) يسمح للمطورين بالتركيز على تطبيقاتهم دون القلق بشأن الواجهة الخلفية أو البنية التحتية الأساسية. وهو مبني على تقنية مفتوحة المصدر مثل Parse و GraphQL و Node.js وRedis.

تطبيق Back4app سهل الاستخدام، ويحتوي على لوحة تحكم أنيقة وواجهة سطر أوامر (CLI) للمستخدمين الأكثر تقدمًا وأتمتة المهام.

تحتوي المنصة على العديد من الميزات المدمجة بما في ذلك:

  • قاعدة بيانات تشبه جدول البيانات
  • التوثيق والمصادقة الاجتماعية
  • إشعارات الدفع والبريد الإلكتروني
  • الرمز السحابي والوظائف
  • إدارة المستخدم
  • ميزات الأمان

لدى Back4app نموذج تسعير مباشر. كما أنها تقدم فئة مجانية سخية يمكن استخدامها لتجربة منصتها أو حتى استضافة تطبيقات صغيرة.

لمعرفة المزيد عن Back4app، راجع لماذا تستخدم Back4app؟

إنشاء تطبيق Back4app

إذا كنت قد أنشأت تطبيق Back4app بالفعل، وقمت بتثبيت Parse SDK، وقمت بتهيئة مشروع Android الخاص بك، فلا تتردد في تخطي هذا القسم!

للعمل مع Back4app نحتاج أولاً إلى إنشاء تطبيق. عند تسجيل الدخول إلى لوحة التحكم الخاصة بك سترى قائمة تطبيقاتك. انقر على “إنشاء تطبيق جديد” لبدء عملية إنشاء التطبيق.

Back4app إنشاء تطبيق Back4app Create App

حدد “الواجهة الخلفية كخدمة”، وأدخل اسم تطبيقك، وحدد “قاعدة بيانات NoSQL” كقاعدة بياناتك، وأخيرًا انقر على “إنشاء”.

سيستغرق Back4app بضع لحظات لإعداد كل ما هو مطلوب لتطبيقك مثل قاعدة البيانات، وطبقة التطبيق، والتوسع، والنسخ الاحتياطية والأمان.

بمجرد أن يصبح تطبيقك جاهزاً، ستتم إعادة توجيهك إلى لوحة تحكم تطبيقك.

لوحة تحكم تطبيق Back4app Back4app

بعد ذلك، اختر “إعدادات التطبيق > الأمان والمفاتيح” في الشريط الجانبي ودوّن “معرّف التطبيق” و “مفتاح العميل”. سنحتاج إليهما لتوصيل تطبيق Android الخاص بنا بخوادم Back4app.

مفاتيح تطبيق Back4app Back4app

تثبيت Parse SDK

لكي يتواصل تطبيقنا مع خوادم Back4app، علينا تثبيت Parse SDK.

العملية التي سنستخدمها تتطلب Android SDK 27 أو أعلى. قبل تثبيت Parse، انتقل إلى تطبيقك/build.gradle وتأكد من ضبط الإصدارين compileSdk و targetSdk على الإصدارات الصحيحة:

// app/build.gradle

android {
    namespace "com.back4app.push"
    compileSdk 33  // <-- check this line

    defaultConfig {
        applicationId "com.back4app.push"
        minSdk 27
        targetSdk 33   // <-- check this line
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    // ...
}

للوصول إلى أحدث حزم البرامج، لنقم بتثبيت مستودع حزم JitPack.

انتقل إلى settings.gradle الخاص بك وقم بإضافة JitPack repo إلى التبعيةResolutionManagement هكذا:

// settings.gradle

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }   // new
    }
}
rootProject.name = "back4app-push-notifications"
include ":app"

بعد ذلك، انتقل إلى app/build.gradle وأضف التبعيات التالية:

// app/build.gradle

dependencies {
    implementation "com.parse.bolts:bolts-android:1.4.0"
    implementation "com.github.parse-community.Parse-SDK-Android:parse:4.2.0"
    implementation "com.github.parse-community.Parse-SDK-Android:fcm:4.2.0"
    // ...
}

تحقق مما إذا كانت هناك نسخة أحدث متوفرة على JitPack وإذا كان الأمر كذلك فقم بضربها.

لكي يعمل Parse، نحتاج إلى تمكين الوصول إلى الإنترنت في تطبيقنا. علاوة على ذلك، علينا توفير “معرف التطبيق” و “مفتاح العميل” من القسم السابق. انتقل إلى AndroidManifest.xml وقم بتعديله هكذا:

<!-- app/src/main/AndroidManifest.xml -->

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- new -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- end of new -->

    <application>
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />

            <!-- new -->
            <meta-data
                android:name="com.parse.SERVER_URL"
                android:value="@string/back4app_server_url" />
            <meta-data
                android:name="com.parse.APPLICATION_ID"
                android:value="@string/back4app_app_id" />
            <meta-data
                android:name="com.parse.CLIENT_KEY"
                android:value="@string/back4app_client_key" />
            <!-- end of new -->

        </activity>
    </application>
</manifest>

أخيرًا، انتقل إلى strings.xml وأضف السلاسل التي استخدمناها للتو:

<!-- app/src/main/res/values/strings.xml -->

<resources>
    <string name="app_name">back4app-push-notifications</string>
    <string name="back4app_server_url">https://parseapi.back4app.com</string>
    <string name="back4app_app_id">YOUR_PARSE_APP_ID</string>
    <string name="back4app_client_key">YOUR_PARSE_CLIENT_KEY</string>
</resources>

تأكد من استبدال YOUR_PARSE_APP_ID و YOUR_PARSE_CLIENT_KEY بمعرفك الفعلي ومفتاحك.

تهيئة Parse

لتهيئة Parse سنستخدم فئة تطبيق Android.

توفر فئة التطبيق الوصول العام إلى الموارد والحالة على مستوى التطبيق. يتم إنشاؤه قبل أي فئة أخرى عند بدء عملية التطبيق، ويمكن استخدامه لإدارة أحداث دورة حياة التطبيق، وتهيئة المتغيرات العامة، وتنفيذ سلوك مخصص

لمعرفة المزيد عن فئة التطبيق ألق نظرة على المستندات الرسمية.

انتقل إلى المجلد حيث يوجد MainActivity.kt الخاص بك وأنشئ ملفًا جديدًا باسم App.kt بالمحتويات التالية:

// app/src/main/java/.../App.kt

package com.back4app.push

import android.app.Application
import com.parse.Parse

class App : Application() {
    override fun onCreate() {
        super.onCreate()

        Parse.initialize(
            Parse.Configuration.Builder(this)
                .applicationId(getString(R.string.back4app_app_id))
                .clientKey(getString(R.string.back4app_client_key))
                .server(getString(R.string.back4app_server_url))
                .build()
        )
    }
}

بعد ذلك، أخبر Android أن يستخدم فئة التطبيق التي تم إنشاؤها حديثًا عن طريق تعيين اسم android:اسم التطبيق في AndroidManifest.xml هكذا:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:name=".App"
    >
        <!-- ... -->
    </application>
</manifest>

يجب أن يكون تطبيقك الآن متصلاً بتطبيق Back4app. للتأكد من أن كل شيء يعمل حاول تشغيل التطبيق وتحقق من السجلات بحثاً عن أي أخطاء.

إنشاء مشروع وتطبيق Firebase

ستتطلب الخطوات التالية أن يكون لديك حساب Firebase. إذا لم يكن لديك حساب بعد، فقم بالتسجيل باستخدام حسابك على Google.

انتقل إلى وحدة تحكم Firebase Console وانقر على “إنشاء مشروع”.

مشروع إنشاء قاعدة البيانات النارية

أعطه اسمًا مخصصًا، سأسمي تطبيق Back4app-push-notifications.

اقبل الشروط والأحكام، وقم بتمكين Google Analytics، واضغط على “إنشاء مشروع”.

انتظر حتى تقوم Firebase بتزويد مشروعك وإعداد كل ما هو مطلوب. بمجرد الانتهاء من ذلك، ستتم إعادة توجيهك إلى لوحة تحكم مشروعك.

بعد ذلك، قم بإنشاء تطبيق جديد بالنقر على أيقونة Android.

لوحة تحكم Firebase Dashboard

أدخل التفاصيل التالية:

  1. اسم حزمة Android: استخدم اسم الحزمة الخاصة بك (على سبيل المثال com.back4app.push)
  2. لقب التطبيق (اختياري): أدخل اسماً مستعاراً مخصصاً
  3. مفتاح توقيع التصحيح: اتركه فارغًا (أو احصل على مفتاحك باتباع هذه المقالة)

أخيراً، قم بتنزيل ملف google-services.json وضعه في مجلد تطبيقك.

تخطى “إضافة Firebase SDK” و”الخطوات التالية” لأننا سنفعل ذلك في القسم التالي من المقالة.

تثبيت Firebase SDK

لتثبيت Firebase SDK، انتقل إلى build.gradle على مستوى المشروع وأضف خاصية buildscript هكذا:

// build.gradle

buildscript {
    dependencies {
        classpath "com.google.gms:google-services:4.3.15"
    }
}

بعد ذلك، أضف الإضافات والتبعيات التالية إلى تطبيقك/build.gradle:

// app/build.gradle

plugins {
    id "com.android.application"
    id "org.jetbrains.kotlin.android"
    id "com.google.gms.google-services"  // new
}

dependencies {
    implementation platform("com.google.firebase:firebase-bom:31.2.2")  // new
    implementation "com.google.firebase:firebase-analytics-ktx"  // new
    // ....
}

مزامنة إعدادات Gradle الخاصة بك.

ربط مشروع Firebase Project مع تطبيق Back4app

لربط مشروع Firebase مع تطبيق Back4app، نحتاج أولاً إلى الحصول على مُعرِّف مرسل GCM ومفتاح خادم GCM. للقيام بذلك، افتح وحدة تحكم Firebase، وانقر على أيقونة الترس ثم “إعدادات المشروع”.

إعدادات مشروع Firebase Firebase

اختر “المراسلة السحابية” في التنقل العلوي.

يتطلب Parse الإشعارات الفورية واجهة برمجة تطبيقات المراسلة السحابية التي يتم تعطيلها افتراضيًا. لتمكينه استخدم خيار “المزيد” ثم انقر على “إدارة واجهة برمجة التطبيقات في Google Cloud Console”. انقر على “تمكين واجهة برمجة التطبيقات” وانتظر بضع ثوانٍ حتى تقوم Google بتمكينها.

المراسلة السحابية القديمة لقاعدة فايربيس السحابية

بمجرد تمكين واجهة برمجة التطبيقات بنجاح، أغلق علامة التبويب الحالية وانتقل مرة أخرى إلى إعدادات المراسلة السحابية. دوّن “معرّف المرسل” و”مفتاح الخادم”.

قاعدة فايربيس السحابية للرسائل السحابية

بعد ذلك، انتقل إلى لوحة تحكم تطبيق Back4app وحدد “إعدادات التطبيق > إعدادات الخادم” في الشريط الجانبي. قم بالتمرير لأسفل حتى ترى “إشعارات Android Push Notification” وانقر على “الإعدادات”.

إعدادات خادم Back4app Back4app

انقر على “تعديل”، وأدخل “معرّف المرسل” و”مفتاح الخادم” واحفظ.

تكوين الإشعارات الفورية لـ Back4app Push Notifications

مشروعك Firebase وتطبيق Back4app متصلان الآن.

تكوين التطبيق للإشعارات الفورية

آخر شيء علينا القيام به قبل أن نتمكن من إرسال الإشعارات هو تهيئة تطبيق Android الخاص بنا. سيتعين علينا

  1. تعيين معرف مرسل GCM وإضافة أذونات في AndroidManifest.xml
  2. إضافة خدمة وجهاز استقبال إلى AndroidManifest.xml
  3. إنشاء تثبيت ParseInstallation في App.kt

انتقل إلى AndroidManifest.xml الخاص بك وقم بتعديله هكذا:

<!-- app/src/main/AndroidManifest.xml -->

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- new -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <!-- end of new -->

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application>
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
            <meta-data
                android:name="com.parse.SERVER_URL"
                android:value="@string/back4app_server_url" />
            <meta-data
                android:name="com.parse.APPLICATION_ID"
                android:value="@string/back4app_app_id" />
            <meta-data
                android:name="com.parse.CLIENT_KEY"
                android:value="@string/back4app_client_key" />

            <!-- new -->
            <meta-data
                android:name="com.parse.push.gcm_sender_id"
                android:value="YOUR_GCM_SENDER_ID" />
            <!-- end of new -->

        </activity>

        <!-- new -->
        <service
            android:name="com.parse.fcm.ParseFirebaseMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

        <receiver
            android:name="com.parse.ParsePushBroadcastReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.OPEN" />
                <action android:name="com.parse.push.intent.DELETE" />
            </intent-filter>
        </receiver>
        <!-- end of new -->
    </application>
</manifest>

تأكد من استبدال معرف مرسل GCM_GCM_SENDER_ID الخاص بك بمعرف مرسل GCM الفعلي الخاص بك.

يجب أن يبدو ملف AndroidManifest.xml النهائي الخاص بك بهذا الشكل.

بعد ذلك، انتقل إلى App.kt الخاص بك وأضف الشيفرة التالية في أسفل onCreate():

// app/src/main/java/.../App.kt

import com.parse.ParseInstallation

class App : Application() {
    override fun onCreate() {
        // ...

        val installation = ParseInstallation.getCurrentInstallation()
        installation.put("GCMSenderId", "YOUR_GCM_SENDER_ID")
        installation.put("channels", listOf("news", "updates"))
        installation.saveInBackground()
    }
}

تأكد من إدخال معرف مرسل GCM الفعلي الخاص بك. يمكنك أيضاً تعديل أسماء القنوات.

ينشئ هذا الرمز ParseInstallation ويحفظه في قاعدة البيانات. بالإضافة إلى ذلك، يقوم بتهيئة قنوات الإشعارات في حالتنا هذه الأخبار والتحديثات. يمكن استخدام هذه القنوات لإرسال أنواع مختلفة من الإشعارات عبر الشيفرة السحابية.

رائع، لقد نجحنا في تهيئة تطبيق Android الخاص بنا للإشعارات الفورية.

إرسال الإشعارات الفورية

لوحة معلومات Back4app

من السهل إرسال إشعار فوري عبر لوحة تحكم Back4app. هذا الأسلوب مناسب لإرسال الإشعارات الفورية يدوياً لمرة واحدة.

أولاً، حدد “المزيد > الدفع > إرسال دفعة جديدة” في الشريط الجانبي ثم املأ النموذج.

لوحة التحكم في الإشعارات الفورية لتطبيق Back4app Back4App

وأخيراً، انقر على زر “إرسال دفعة”.

إشعار لوحة تحكم Back4app Back4app Dashboard

أقترح عليك استخدام تنسيق JSON لأنه يسمح لك بتحديد عنوان الإشعار عبر العنوان والجسم عبر التنبيه.

رمز السحابة

يمكن استخدام Cloud Code لإرسال الإشعارات الفورية برمجيًا. وعلاوة على ذلك، يمكنك استخدامه لجدولة الإشعارات الفورية أو إرسال إشعارات فورية في أحداث محددة.

لإرسال إشعار فوري عبر الرمز السحابي اختر “الرمز السحابي > الوظائف واستضافة الويب” في الشريط الجانبي ثم أضف الرمز التالي إلى main.js:

// cloud/main.js

Parse.Cloud.define("pushTest", (request) => {
    return Parse.Push.send({
        channels: ["news"],
        data: {
            title: "Cloud Code",
            alert: "This push notification was sent via Cloud Code.",
        }
    }, { useMasterKey: true });
});

انشر الرمز بالنقر على زر “نشر”.

وأخيراً، قم بتشغيل الدالة السحابية عبر استدعاء REST:

curl --location --request POST 'https://parseapi.back4app.com/functions/pushTest' \
--header 'X-Parse-Application-Id: YOUR_APPLICATION_ID' \
--header 'X-Parse-REST-API-Key: YOUR_REST_KEY' \
--header 'Content-Type: application/json'
إشعار الرمز السحابي Back4app Cloud Code Notification

يمكن الحصول على معرّف التطبيق ومفتاح REST من “إعدادات التطبيق > الأمان والمفاتيح”.

لجدولة الإشعارات الفورية ألق نظرة على الوظائف السحابية.

الخاتمة

تحدثنا في هذه المقالة عن الإشعارات الفورية وفوائدها وأنواع الإشعارات وما يجب فعله وما لا يجب فعله. بالإضافة إلى ذلك، تعلمت كيفية تهيئة تطبيق Android لإرسال الإشعارات الفورية عبر Back4app.

الكود المصدري النهائي متاح على ريبو GitHub.

الخطوات المستقبلية

  1. إذا كنت ترغب في جدولة إشعاراتك أو استهداف مستخدمين محددين، ألقِ نظرة على مستندات Parse.
  2. لمعرفة كيفية إرسال تنبيهات فورية إلى أجهزة iOS، راجع المستندات الرسمية.
  3. لمعرفة المزيد عن الرمز السحابي ألق نظرة على ما هو FaaS في الحوسبة السحابية؟

الأسئلة الشائعة

ما هي إشعارات الدفع؟

إشعار الدفع هو رسالة قصيرة أو تنبيه يمكن إرساله مباشرةً إلى جهاز الهاتف المحمول أو متصفح الويب أو الجهاز القابل للارتداء الخاص بالعميل أو أي جهاز آخر يدعم الإشعارات.

ما هي فوائد إشعارات الدفع؟

– زيادة الاحتفاظ بالمستخدمين
– معدلات تحويل أعلى
– تحسين خدمة العملاء
– زيادة في المبيعات والإيرادات

ما هي أنواع إشعارات الدفع؟

– إشعارات الدفع للهاتف المحمول
– إشعارات الدفع للويب
– إشعارات الدفع لسطح المكتب

ما هي خدمة إشعارات الدفع؟

خدمة إشعارات الدفع هي خدمة تتيح للمطورين من الأطراف الثالثة إرسال إشعارات دفع إلى أجهزة عملائهم عبر واجهة برمجة التطبيقات (API) أو لوحة التحكم.

كيف ترسل إشعار دفع؟

1. أنشئ تطبيقًا على Back4app
2. أنشئ مشروعًا وتطبيقًا على Firebase
3. اربط مشروع Firebase بتطبيق Back4app
4. قم بإعداد تطبيق Android الخاص بك
5. أرسل إشعارات الدفع عبر لوحة تحكم Back4app أو Cloud Code


Leave a reply

Your email address will not be published.