ارسال الاشعارات لاجهزة متعددة GCM – Android – PHP – MySQL

بسم الله الرحمن الرحيم

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

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

# معاينة لدرس اليوم :

# كيف سوف تتم العملية :

– تطبيق اندرويد, يضع فيه المستخدم ايميله ليتم تسجيله بنجاح وتخزين ايميله في قاعدة البيانات.
– تطبيق ويب, يوضع فيه رسالة ويقوم بتحديد الايميل وارسالها له كإشعار إلى تطبيق الاندريد.

# متطلبات قبل البدأ :

بعد قرائتك للدرس الأول, يجب أن تخرج بنتيجة وهي :
Project Number + API Server Key
ولا تنسى من الدرس الثاني معرفة ما لدينا من اكتفتي ولياوت.

# الاكتفتي واللياوت التي سوف ننشأها هذا الدرس كما السابق :

=== Package ===
– com.andrody.testandrody
—— Home_Activity.java
—— Main_Activity.java
– com.andrody.testgcm
—— Gcm_Application_Constants.java
—— Gcm_Broadcast_Receiver.java
—— Gcm_Notification_Intent_Service.java
—— Utility.java
=== Layout ===
– home.xml
– main.xml

# ما يتطلب عمله لإكمال الدرس :

* تطبيق ويب / GCM – PHP – MySQL Db.
* تطبيق اندرويد / Android – java .

# تجهيز تطبيق الويب :

– تطبيق الويب, وهو إنشاء ملفات داخل السيرفر – الاستضافة – وإنشاء قاعدة بيانات وربطها بهذه الملفات, ولمن لا يملك استضافة يستطيع الاستعانة بالاستضافة المحلية, يمكنه البحث عنها في جوجل وتركيبها في جهازه للتجربة. والسيرفر الداخلي مهم ومعظم مبرمجي المواقع يستخدمونه لقراءة الملفات البرمجية.

عموماً كما في الدرس السابق:
|*| نقوم بإنشاء قاعدة بيانات, وقمت بتسميتها andrody , وننشأ داخلها جدول بإسم gcmusers وداخل هذا الجدول نقوم بإنشاء ثلاثة حقول, id – emailid – gcmregid . ولكي يسهل عليك الأمر فقط انشأ قاعدة البيانات واضغط على خيار SQL Query box وضع فيه الامر التالي للإنشاء التلقائي لما ذكرت سابقاً :

|*| نقوم بإنشاء مجلد داخل السيرفر بإسم gcm . ونقوم بوضع فيه الملفات التالية :

db_connect.php
لا تنسى بإن تقوم بتغيير معلومات الاتصال بالقاعدة كما لديك في السيرفر

db_functions.php

insertuser.php

processmessage.php
لا تنسى بتغيير API Server Key كما لديك في مشروعك في جوجل

send.php

ملاحظة : ملف send.php هو الرئيسية التي سوف تفتحها لارسال اشعارات الى المستخدمين + تستطيع تغير اسم الملف دون مشاكل.
** من لديه خبرة بـ php يستطيع دمج الملفات السابقة كلها في ملف واحد 🙂

# تجهيز تطبيق الاندرويد :

بالنسبة لـ اللياوت كما في الدرس السابق تماماً, ولا شك تستطيع تصميم التطبيق كما يحلو لك, فقط هذه عينة سريعة فالغرض برمجياً. ولا تنسى المعرفات المرتبطات بالاكتفتي إذا غيرت التصميم ~

Layout :

main.xml

home.xml

Activities :

Main_Activity.java
رسائل التوست هنا الكثيرة تستطيع الاستغناء عن معظمها كما إنك تستطيع اختصار الكود أكثر

Home_Activity.java

Gcm_Application_Constants.java
لا تنسى بتغيير رقم المشروع هنا والرابط كذلك حسب ما موجود لديك

Gcm_Broadcast_Receiver.java

Gcm_Notification_Intent_Service.java

Utility.java

AndroidManifest.xml
لمن يريد شرح الملف يراجع الدرس السابق

** بالنسبة لك كمبرمج مبتدئ أو متوسط الخبرة الاكتفتي المؤثرة لديك :
– Main_Activity / قليلاً فقط لتسجيل المستخدم.
– Gcm_Notification_Intent_Service معالجة الرسالة .
– Home_Activity / ظهور الرسالة للمستخدم.
جرب التعديل عليها حسب راحتك, للتدرب عليها أكثر فهي أكثر أهمية لك من غيرها.

# ملاحظة : لا تنسى تطبيق ما أخذنا في الدرس السابق من إضافة مكتبة وتفعيل خدمات جوجل بلاي في مشروعك. كما في قولي الدرس الأول أقصد فيه هذا (1) وأما الدرس الثاني أو السابق (2).

# تطوير للدرس :
من سوف يستفيد من هذا الدرس هم أصحاب الخبرة والتعامل مع قواعد البيانات, تطبيق الويب هذا جداً بسيط, يستطيع المبرمج الذي يتعامل مع لغة PHP إنشاء زر مثلاً حذف إيميل, تعديل, تحديد الكل, إضافة خاصية مع التسجيل هل أنت ذكر أو أنثى, لأرسال اخبار للذكر مختلفة عن الانثى, كم عمرك ؟!. . وجعل هذه المعلومات تظهر في تطبيق الويب بناءاً عليها يستطيع المبرمج أن يحدد الفئة المطلوبة لارسال له ما يناسبه.
كما إن تستطيع بعد وصول الرسالة الى المستخدم حفظها في التطبيق, واستخدامها إن كانت مثلاً تطبيق حكم يومية, أو مثلاً مقال يتم تخزينه في التطبيق للرجوع إليه.
** قلت هذه المعلومة فقط لأوضح إن الأمر ليس ببسيط كما تشاهده بالمعاينة, فحسب خبرة المبرمج يستطيع تطوير هذا الأمر للأستفادة منه في أقصى درجاته.

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

عن عبدالقادر عليوي

مواليد 1996 , سوري الجنسية, طالب علم, لدي شغوف كبير في تعلم كل ما يتعلق بالانترنت من تطوير وحماية, أحب القراءة كثيراً .. هدفي نشر العلم بشتى أنواعه ومجالاته, متابع من الدرجة الأولى لـ الدكتور ابراهيم الفقي و الشيخ أحمد ديدات - رحمهم الله -.

شاهد أيضاً

مشغل ملفات صوتية للاندرويد برمجياً اوف لاين RAW

بسم الله الرحمن الرحيم بالمشروع السابق, عرضنا لكم مشروع مشغل ملفات صوتية اون لاين بالكود …

5 تعليقات

  1. يعطيك العافيه انا قمت بعمل نفس الخطوات واشتغل الحمد لله بس عندما اقوم ب الضغط على ال notification المسج المعروض في Text view هو null
    ارجو الاجابه للضروره القصوى استخدمتها ب المشروع ومناقشتي اقتربت

  2. عبد الله

    هل يمكنك اضافة زر لتحديد جميع ايميلات المستخدمين بضغطة زر واحدة عوضا عن ضغط امام ايميل كل شخص وشكراً على الشرح.

  3. ممكن الsource code? لاني ماقادرة اعمل كوبي

  4. محمد عبدالرحمن

    السلام عليكم اخي عبدالقادر عليوي ..صراحة استمتعت كثيرا بدروسك وانت فعلا استاذ وربنا يعينك ويوفقك في حياتك

    بس بتمنى انك تعمل دروس عكس هذا الدرس (اي انك ترسل من تطبيق الاندرويد الى الويب سيرفر)
    وياريت كمان تجعلها سلسلة من البداية وحتى الاحتراف
    ومشكووووور كتير على الدروس وربنا يكتر من امثالك دايما في خدمة الوطن العربي

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

82 − = 73