Arabic (العربية/عربي) translation by osamagaradh (you can also view the original English article)
في حين ان بناء التطبيق الخاص بك لتوفير تجربة رائعة مهم بشكل لا يصدق، التعامل مع المستخدمين الجدد والحاليين أكثر أهمية لنجاح التطبيق الخاص بك على المدى الطويل. في هذا البرنامج التعليمي سوف تتعلم كيفية استخدام قاعدة لتمكين "سحابة المراسلة لجوجل " وإرسال الإخطارات إلى التطبيق الخاص بك، فضلا عن كيفية السماح للمستخدمين بمشاركة التطبيق الخاص بك مع جهات الاتصال الخاصة بهم الذين يستخدمون أجهزة اندوريد او اي او اس.
هذا البرنامج التعليمي سيفترض أنك سبق واعددت مشروع ل Firebase وتستطيع الوصول إلى وحدة تحكم Firebase. لمعرفة كيفية الشروع في استخدام Firebase للاندرويد، وتحقق من واحد من الدروس الأخرى لدينا:
إعلامات firebase
الإخطارات واحدة من أسهل الطرق للسماح للمستخدمين معرفة الميزات الموجودة في التطبيق الخاص بك أو أحداث جديدة والحصول عليها لفتح التطبيق مرة أخرى. باستخدام Firebase، يمكنك إرسال إعلامات إلى كافة المستخدمين أولقطاعات من قاعدة المستخدم الخاصة بك، مما يسمح لك بتخصيص ما يتلقى المستخدمين الخاصين بك وتثير اهتمامهم.
الإعلامات بينما التطبيق الخاص بك في الخلفية
عرض إعلامات بينما التطبيق الخاص بك في الخلفية سهل بشكل لا يصدق، كما أنه تتم معالجته تلقائياً بمكتبة المراسلة لFirebase . في التطبيق الخاص بك، سوف تحتاج إلى تضمين المكتبة مع السطر التالي في عقده تبعيات
ملف build.gradle الخاص بك،ثم قم بتثبيت التطبيق على جهاز.
compile 'com.google.firebase:firebase-messaging:9.8.0'
وبعد ذلك، سوف تحتاج إلى الذهاب إلى وحدة التحكم الخاصة بك ل Firebase وتحدد مقطع الإعلامات في لوحة التنقل الأيسر.

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

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

عند إرسالك الرسالة، يجب أن يظهر إعلام على أجهزة المستخدم الخاص بك.
الإشعارات في المقدمة
ملاحظة شيء واحد وهو أن الإخطارات لن تظهر لمستخدم إذا كانت موجودة مسبقاً في التطبيق الخاص بك. من أجل تلقي الإخطارات في هذه الحالة، ستحتاج إلى تنفيذ خدمة
التي تمد FirebaseMessagingService
public class NotificationService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); } }
وسوف تحتاج أيضا إلى تضمين هذه الخدمة
في الملف AndroidManifest.xml.
<service android:name=".NotificationService"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service>
الآن بعد أن يكون لديك الإطار العام متجمع، حان الوقت لتجسيد onMessageReceived
في الفئة FirebaseMessagingService
الخاصة بك. الغرض الرئيسي من هذا الأسلوب هو ارسال الرسالة إلى أسفل مع هدف RemoteMessage
وإنشاء إعلام
استناداً إلى ما تتلقى.
وهناك كثير من المعلومات التي يمكن أن تنتقل إلى أسفل مع RemoteMessage
. ومع ذلك، معظم الخيارات تتوفر فقط إذا كنت تستخدم API لخلفية Firebase، بدلاً من وحدة التحكم. من وحدة التحكم لFirebase، انت قادرعلى تعيين عنوان ونص رسالة، وأزواج من مفتاح/قيمة مخصصين.
تسجيل جميع البيانات المتاحة من RemoteMessage
يمكن أن تفعل كالتالي:
for (Map.Entry<String, String> entry : remoteMessage.getData().entrySet()) { Log.e("Test", "Key = " + entry.getKey() + ", Value = " + entry.getValue() ); } Log.e("TutsPlus", "collapsekey: " + remoteMessage.getCollapseKey()); Log.e("TutsPlus", "from: " + remoteMessage.getFrom() ); Log.e("TutsPlus", "message id: " + remoteMessage.getMessageId() ); Log.e("TutsPlus", "message type:: " + remoteMessage.getMessageType() ); Log.e("TutsPlus", "to: " + remoteMessage.getTo() ); Log.e("TutsPlus", "send time: " + remoteMessage.getSentTime() ); Log.e("TutsPlus", "ttl: " + remoteMessage.getTtl() ); Log.e("TutsPlus", "title: " + remoteMessage.getNotification().getTitle() ); Log.e("TutsPlus", "body: " + remoteMessage.getNotification().getBody() ); Log.e("TutsPlus", "click action: " + remoteMessage.getNotification().getClickAction() ); Log.e("TutsPlus", "color: " + remoteMessage.getNotification().getColor() ); Log.e("TutsPlus", "icon: " + remoteMessage.getNotification().getIcon() );
التي بدورها، سوف تنتج رسائل السجل التالية.
E/TutsPlus: Key = custom_data_key, Value = some_value E/TutsPlus: collapsekey: com.tutsplus.tutsplusfirebasenotification E/TutsPlus: from: 1044252370931 E/TutsPlus: message id: 0:1478812920837872%ba5f8433ba5f8433 E/TutsPlus: message type:: null E/TutsPlus: to: null E/TutsPlus: send time: 1478812919847 E/TutsPlus: ttl: 0 E/TutsPlus: title: Custom title E/TutsPlus: body: Message Text E/TutsPlus: click action: null E/TutsPlus: color: null E/TutsPlus: icon: null
وبمجرد أن تعرف ما هي المعلومات المتوفرة، وكيفية التعامل معها، يمكنك إنشاء وعرض إعلام للمستخدمين خاصتك.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setContentTitle(remoteMessage.getNotification().getTitle()); builder.setSmallIcon(R.mipmap.ic_launcher); builder.setContentText(remoteMessage.getNotification().getBody()); NotificationManagerCompat.from(this).notify(0, builder.build());
وهذا كل شيء! الآن يجب أن تكون قادراً على إعداد تطبيق اندرويد لإرسال وتلقى الإخطارات من وحدة تحكم Firebase.

دعوات التطبيق
الحصول على مستخدمين جدد على التطبيق الخاص بك يمكن أن يكون تحدي كبير، ولكن كلمة من فم وسيلة رائعة لجعل الكرة تتدحرج. باستخدام Firebase ، يمكنك إضافة عنصر واجهة دعوات التطبيق إلى التطبيق الخاص بك، سيتم السماح للمستخدمين مشاركة التطبيق الخاص بك عن طريق البريد الإلكتروني أو الرسائل القصيرة لمستخدمي اندرويد او اي او اس اخرين
بدء الدعوة فورا
قبل أن يمكنك البدء باستخدام هذه الميزة، ستحتاج إلى استيراد الحزمة إلى المشروع الخاص بك عن طريق إضافة السطر التالي إلى عقده تبعيات
الملف الخاص بك build.gradle.
compile 'com.google.firebase:firebase-invites:9.8.0'
حالما تتمم مزامنتة المشروع الخاص بك، سوف تكون قادرعلى خلق بنية
جديدة باستخدام فئة AppInviteInvitation.IntentBuilder،
والتي ستطلق شاشة التي تسمح للمستخدمين بتحديد جهات اتصال تدعوها إلى التطبيق. ويوفرهذا المنشئ مختلف الخيارات لتخصيص شاشة دعوة التطبيق :
-
setMessage
: سيتم تعيين الرسالة التي المستخدمين ينظروها ويمكنهم إرسالها إلى جهات الاتصال عبر البريد الإلكتروني أو رسالة نصية. وهذه لا يمكن أن تكون أطول من 100 حرف. -
setCustomImage
:باستخدام هذا الأسلوب، يمكنك توفير URI لصورة مخصصة التي ستظهر في شاشة الدعوة ودعوة البريد الإلكتروني. -
setCallToActionText
: هذا الأسلوب يعين النص لزر التثبيت في رسائل البريد الإلكتروني. هذا له حد من 32 حرفاً. -
setDeepLink
: يسمح لك بتوفير بيانات التعريف للدعوة الخاصة بك، التي يمكن أن تستلم على التثبيت لاتخاذ إجراءات محددة للمستخدم المدعو حديثا الخاص بك. -
setEmailHtmlContent
: يسمح لك بتجاوزsetMessage
،setCustomImage
، وsetCallToActionText
لإنشاء HTML مخصص التنسيق لإرسال البريد الإلكتروني إلى المستخدمين الجدد المحتملين. -
setEmailSubject
: مطلوب إذا كان يتم استخدامsetEmailHtmlContent
. كما يوحي الاسم، هذا سيعين هذا الموضوع من أجل البريد الإلكتروني المخصص الخاص بك. -
setOtherPlatformsTargetApplication
: أحد الخيارات الأكثر إثارة للاهتمام، هذه الطريقة تسمح لك بربط معرف تطبيق عميل Firebase لاصدار اي او اس في التطبيق الخاص بك، يسمح لمستخدمي اي او اس بتثبيت الإصدار المناسب إذا تم مشاركته من قبل مستخدم اندرويد.
بمجرد إنشاء القصد الخاص
بك، يمكنك إطلاقه مع startActivityForResult
ليتم إعلامك عند عودة المستخدم من دعوة الآخرين.
Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title)) .setMessage(getString(R.string.invitation_message)) .setCustomImage(Uri.parse(getString(R.string.invitation_custom_image))) .setCallToActionText(getString(R.string.invitation_cta)) .setDeepLink(Uri.parse("/link")) .setOtherPlatformsTargetApplication( AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS, getString(R.string.ios_app_client_id)) .build();

تلقي دعوات
الآن انت قادرعلى دعوة مستخدمين آخرين للتطبيق الخاص بك، دعونا نأخذ لحظة للتركيز على خيارات الربط العميق. عندما تقوم بإنشاء القصد
الخاص بك، ستكون قادرعلى إضافة URI
كرابط عميق. عندما يتلقى مستخدم خاص بك دعوة على اندرويد، يمكنك استخدام خدمات بلي Google وال تطبيق دعوة التطبيق لاعتراض هذه URI
وتنفيذ إجراء مخصص، مثل عرض شاشة ترحيب، للمستخدم الجديد الخاص بك.
boolean autodeeplink = true; mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(AppInvite.API) .enableAutoManage(this, this) .build(); AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autodeeplink) .setResultCallback( new ResultCallback<AppInviteInvitationResult>() { @Override public void onResult(AppInviteInvitationResult result) { if (result.getStatus().isSuccess()) { //Get intent information Intent intent = result.getInvitationIntent(); String deepLink = AppInviteReferral.getDeepLink(intent); String invitationId = AppInviteReferral.getInvitationId(intent); } } } );
ستلاحظ أن أنشأنا منطق
مسمى autodeeplink
. عندما يتم تعيينها إلى true
، نظام اندرويد سوف تلقائياً يعالج ال URI
المتلقى من خلال عوامل التصفية الموجودة في ملف AndroidManifest.xml. إذا كان تم تعيينها إلى false
، يمكنك استخدام API دعوة تطبيق لاستخراج المعلومات من الدعوة وتنفيذ الإجراء المخصص الخاص بك.
الاستنتاج
لقد تعلمت في هذا البرنامج التعليمي كيفية تنفيذ إخطارات من Firebase في تطبيقات اندرويد الخاصة بك، وكيفية السماح للمستخدمين بمشاركة التطبيق الخاص بك بسهولة مع جهات الاتصال الخاصة بهم. فهم ما هو متاح في Firebase وكيفية تطبيق السمات العامة سوف يذهب شوطا طويلاً في مساعدتك بسرعة أن تبني التطبيقات التي يتمتع الناس باستخدامها.
لمعرفة المزيد حول تطويرFirebase و اندرويد بشكل عام، تحقق بعض الدورات والدروس الأخرى هنا في Envato Tuts + .
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post