Browsed by
תגית: Cordova

Push Notifications for Cordova using Firebase

Push Notifications for Cordova using Firebase

אני מניח שלא צריך להציג את Cordova (לשעבר PhoneGap. פלטפורמה ליצירת אפליקציות היברידיות – תוכן web-י מותאם למערכות הפעלה שונות, כמו אנדרואיד ו- iOS. זהו). וגם לא את Firebase (שירות של גוגל ליצירת backend עבור אפליקציות. זהו).

אבל איך משלבים ביניהם?

יצירת והגדרת פרוייקט

(אם עדיין לא מותקן אצלכם cordova – אז npm install -g cordova יעשה את העבודה).

ניצור פרוייקט-

cordova create fireBaseApp com.firebase.app FireBaseApp

נעבור לתיקייה של הפרוייקט (cd fireBaseApp) ונוסיף את אנדרואיד-

cordova platform add android

כדי להשתמש ב- Firebase נתקין את cordova-plugin-firebase

cordova plugin add cordova-plugin-firebase@0.1.21 --save

יצירת פרוייקט Firebase

נכנס לקונסולת הניהול, ונבחר Add Project. נכניס את פרטי הפרוייקט:

נלחץ על "Add Firebase to your Android app". נמלא את פרטי האפליקציה:

בשלב הבא נוריד את הקובץ שנוצר, google-service.json ונצרף אותו לתיקיה הראשית של הפרוייקט שלנו.

שליחת הודעה

אפשר עכשיו להריץ את האפליקציה:

cordova run android

ננסה לשלוח הודעה. בקונסולה נלחץ על "Notifications" ואז "Send your first message".

נמלא את פרטי ההודעה ונשלח:

בשלב זה, ההודעה אמורה להופיע.

אם אתם משתמשים באנדרואיד 6 ומעלה, כנראה תקבלו הודעת שגיאה. הסיבה לכך, שהתוסף (בגירסתו הנוכחית, לפחות) מצפה שניצור קובץ xml עם הצבעים בהם תופיע ההודעה. מכיוון שלצורך הפרוייקט הזה לא מעניינים אותנו צבעים, פשוט נעביר להערה את הקוד המדובר.

בתיקיית הפרוייקט, בתוך platforms/android/src/org/apache/corodva/firebase, ישנו קובץ FirebasePluginMessagingService.java. נבצע בו את השינוי הבא:

if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M)
            {
		//		int accentID = getResources().getIdentifier("accent", "color", getPackageName());
                // notificationBuilder.setColor(getResources().getColor(accentID, null));
            }

זהו, עכשיו זה יעבוד.