Cordova-plugin-firebase: Android Status Bar Icon - All White

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рд╕рд┐рддре░ 2016  ┬╖  25рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: arnesson/cordova-plugin-firebase

рдирдорд╕реНрддреЗ,
рдореИрдВ рдПрдХ рдкреБрд╢ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╡рд┐рддрд░рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЖрдЗрдХрди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд░ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

screenshot_2016-09-13-08-53-22

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореЗрд░реЗ рдРрдк рдХрд╛ рдЖрдЗрдХрди рдкрд╛рд░рджрд░реНрд╢реА рдЫрд╡рд┐ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдЫрд╡рд┐ рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ рддреЛ рдкреБрд╢ рдЖрдЗрдХрди рдареАрдХ рджрд┐рдЦрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрдк рдЖрдЗрдХрди рдЕрдм рдкрд╛рд░рджрд░реНрд╢реА рдЫрд╡рд┐ рд╣реИ рдФрд░ рдпрд╣реА рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдкреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреЛрдб рдореЗрдВ рджреЗрдЦрддреЗ рд╕рдордп, src/android/FirebasePluginMessagingService.java рд▓рд╛рдЗрди 73 рдкрд░ рдпрд╣ рд╣реИ:
.setSmallIcon(getApplicationInfo().icon)

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рд╕рд╣реА рд╣реВрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдРрдк рдЖрдЗрдХрди рд╕реЗ рдЕрд▓рдЧ рдЖрдЗрдХрди рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдХреНрдпрд╛ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?
рдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдзрдиреНрдпрд╡рд╛рдж @blckshrk !! рдореБрдЭреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛!

рдореИрдВ рдЖрдпреЛрдирд┐рдХ v2 рдФрд░ рдХреЙрд░реНрдбреЛрд╡рд╛-рдкреНрд▓рдЧрдЗрди-рдлрд╛рдпрд░рдмреЗрд╕@0.1.21 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
рдЖрдпрдирд┐рдХ: 2.2.2
рдХреЙрд░реНрдбреЛрд╡рд╛: 6.5.0
рдПрдирдкреАрдПрдо: 4.6.1

  1. рдХрд╕реНрдЯрдо-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
    $ ionic plugin add cordova-custom-config --fetch --save

  2. https://github.com/driftyco/ionic-package-hooks/blob/master/android_custom_resources.js рдФрд░ https://github.com/driftyco/ionic-package-hooks/blob/master/android_custom_values.js рдХреЛ рдПрдХ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ "рдкреИрдХреЗрдЬ-рд╣реБрдХ" (рдпрд╛ рдЬреЛ рднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдирд╛рдордХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред
    package-hooks/android_custom_resources.js
    package-hooks/android_custom_values.js

  3. рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ (рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ) рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдБ:
    resources/android/custom/notification_icon.png
    resources/android/values/styles.xml

notification_icon.png рдЖрдкрдХрд╛ Android>= API 21 рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЖрдЗрдХрди рд╣реИред рдореЗрд░рд╛ 144x144px рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред

styles.xml рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#FF8614</color>
</resources>
  1. config.xml рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдорд╣рддреНрд╡рдкреВрд░реНрдг : рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЙрд╕ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рд╡рд┐рдЬреЗрдЯ рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
    <widget ... xmlns:android="http://schemas.android.com/apk/res/android">
        <platform name="android">
            <hook src="package-hooks/android_custom_resources.js" type="after_prepare"/>
            <hook src="package-hooks/android_custom_values.js" type="after_prepare"/>
            <config-file parent="./application" target="AndroidManifest.xml">
                <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon"/>
                <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/red"/>
            </config-file>
        </platform>
    <widget>

рдФрд░ рдмрд╕ рдпрд╣реА!

рд╕рднреА 25 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЖрдХрд╛рд░реЛрдВ рдореЗрдВ fcm_push_icon.png рдмрдирд╛рдХрд░ рдПрдХ рдХрд╕реНрдЯрдо рдЖрдЗрдХрди рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ fcm_push_icon.png рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдРрдк рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдЗрдХрди android/res рдлреЛрд▓реНрдбрд░ рдЯреНрд░реА рдореЗрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: http://romannurik.github.io/AndroidAssetStudio/icons-notification.html

рдирдорд╕реНрддреЗ, рд╣рдо рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдордиреЗ android/res рдлрд╝реЛрд▓реНрдбрд░ рдЯреНрд░реА рдореЗрдВ fcm_push_icon.png рдЖрдЗрдХрди рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╕реВрдЪрдирд╛ рдЖрдЗрдХрди рдЕрднреА рднреА рд╕рдлреЗрдж рд╣реИред

@ рдорд╛рдЗрдХрдмреЗрдЯрдореИрди рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИ?

рд╣реИрд▓реЛ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЖрдк рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд▓рдХреНрд╖реНрдп рдПрд╕рдбреАрдХреЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЪрд╛рд░реЛрдВ рдУрд░ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдпрд╣ , рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

рдореИрдВ рд╢реЛрдз рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ:

рдЗрд╕ рдорд╛рд░реНрдЧ рдкрд░ рдЬрд╛рдПрдВ src/android/FirebasePluginMessagingService.java рдФрд░ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ .setSmallIcon(getApplicationInfo().icon) (рдЬреИрд╕реЗ @MikeBateman рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдРрдк рдХреЗ рдЖрдЗрдХрди, рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛:

...

  .setSmallIcon(getNotificationIcon())
...

//At the end of FirebasePluginMessagingService.java 
    private int getNotificationIcon() {
        boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
        System.out.println("SCLMTEST >lollipop?:"+useWhiteIcon);
        return useWhiteIcon ? R.drawable.myMaterialIcon: getApplicationInfo().icon;
    }

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдордЯреЗрд░рд┐рдпрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рдЖрдЗрдХрди рдХреЛ myappresources рдореЗрдВ рдбрд╛рд▓реЗрдВ рдФрд░ рдкреНрд▓рдЧрдЗрди рдпрд╣ рдХрд╛рдо рдЦреБрдж рд╣реА рдХрд░реЗ, рдЕрдм рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ! @delphaber

33c52c7e8a1835d5f595e58eaef43e4f49b4b23a рдореЗрдВ рддрдп

рдкреНрд▓рдЧрдЗрди рдЕрдм рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рдбреНрд░рд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдореЗрдВ рдЕрдзрд┐рд╕реВрдЪрдирд╛_рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдЕрдиреНрдпрдерд╛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдРрдк рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛

рдЕрд░реЗ,

рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ред рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░реЙрдПрдмрд▓ рдлрд╝реЛрд▓реНрдбрд░ (рдкреНрд░рддреНрдпреЗрдХ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП) рдореЗрдВ notification_icon.png рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдкреНрд▓рдЧрдЗрди рдЕрднреА рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХ (рдРрдк рдЖрдЗрдХрди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛?

рдзрдиреНрдпрд╡рд╛рдж!

@blckshrk cc/ @robertarnesson

рдПрдВрдбреНрд░реЙрдЗрдб src рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░ рд╕рднреА notification_icon.png рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореИрдВ рдЙрд╕реА рдЪреАрдЬ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдореИрдВ рдЕрднреА рднреА рд╕рд┐рд░реНрдл рд╕рдлреЗрдж рд╡рд░реНрдЧ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рд╕реЗ рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛: http://stackoverflow.com/questions/37325051/notification-icon-with-the-new-firebase-cloud-messaging-system

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдирд╡реАрдирддрдо рдлрд╛рдпрд░рдмреЗрд╕ рдПрд╕рдбреАрдХреЗ рдХреЛ рд╕рдмрд╕реЗ рдЕрджреНрдпрддрд┐рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ Google рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп com.google.firebase:firebase-core рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 9.8.0 рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред (рдореИрдВ рдкрд╣рд▓реЗ 9.4.0 рдкрд░ рдерд╛)

рдлрд┐рд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ AndroidManifest.xml рдореЗрдВ рдЬреЛрдбрд╝рд╛:

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon" />

рдпрджрд┐ рдЖрдк default_notification_color рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдорд╛рд░рд╛ рдЖрдЗрдХрди рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдкреГрд╖реНрдарднреВрдорд┐ рд╡рд╛рд▓рд╛ рд╕рдлреЗрдж рдЖрдЗрдХрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд░рдВрдЧ рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкреАрдЫреЗ рд▓реЙрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрдЪреНрдЫрд╛ рд╣реИред

<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/orange" />

рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рдПрдХ res/values/colors.xml рдлрд╝рд╛рдЗрд▓ рднреА рдЬреЛрдбрд╝рдиреА рд╣реЛрдЧреА, рдпрджрд┐ рдЖрдк рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдЕрдкрдиреА рд░рдВрдЧ рдкрд╕рдВрдж рд╣реИ:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="orange">#FF8614</color>
</resources>

рдпрд╣ рд╕рдм рдлрд╛рдпрд░рдмреЗрд╕ 9.8.0 . рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

@blckshrk рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдЗрдХрди рдХреИрд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ? рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ config.xml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рд╡реЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрдорд╛рди рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореИрдВ рдЕрдкрдирд╛ рдРрдк рдмрдирд╛рдиреЗ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ionic 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
рдореИрдВрдиреЗ рдЖрдпрдирд┐рдХ рдХреЗ рд░реЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЖрдЗрдХрди рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝ рджреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдореИрдВ ionic resources рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣ config.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЫрд╡рд┐ рдкрде рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рд╡рд┐рд╕реНрддреГрдд рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ..

  • рдЬреИрд╕реЗ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
  • рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ config.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
  • рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рд╣реИ

рдореБрдЭреЗ рдореВрд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЛрдб рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдХреЛрдИ рдЬреНрдЮрд╛рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рддрджрдиреБрд╕рд╛рд░ рдЙрддреНрддрд░ рджреЗрдВред

-рдзрдиреНрдпрд╡рд╛рдж

рджрд░рдЕрд╕рд▓ @pratikv рдХреА рддрд░рд╣ рдореИрдВ рдереЛрдбрд╝рд╛ рдЦреЛрдпрд╛ рд╣реБрдЖ рд╣реВрдВред рдореИрдВ рдЖрдпреЛрдирд┐рдХ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ (рд▓реЗрдХрд┐рди рдЙрд╕реА рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рд╛рде)ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрдЗрдХрди рдХреЛ res/drawable/ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЕрдкрдиреЗ AndroidManifest.xml ( manifest рдиреЛрдб рдореЗрдВ рд╕реАрдзреЗ) рдореЗрдВ <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon" /> рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд░реНрдбреЛрд╡рд╛-рдХрд╕реНрдЯрдо-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@gylippus рдореБрдЭреЗ com.google.firebase:firebase-core рднрд╛рдЧ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?

рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ!

@robertarnesson @gylippus рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдЙрджрд╛рд╣рд░рдг рд╣реИ?

рдореИрдВ рдЗрд╕реЗ рдХреЙрд░реНрдбреЛрд╡рд╛-рдХрд╕реНрдЯрдо-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛

<config-file parent="./application" target="AndroidManifest.xml">
          <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon" />
</config-file>

рдФрд░ рдПрдХ platforms/android/res/drawable/notification_icon.png

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж !

рдпрджрд┐ рдХреЛрдИ notification_icon.png рд░реВрдЯ (рдпрд╛ resources ) рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ)ред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрд╛?

@blckshrk
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ:

<config-file parent="./application" target="AndroidManifest.xml">
          <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon" />
</config-file>

рд▓реЗрдХрд┐рди рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

:processDebugResources
E:\Development\IONIC 2\allcouriertracking\allcouriertracking5\platforms\android\res\xml\config.xml:57 : AAPT: Error parsing XML: unbound prefix


 FAILED

FAILURE: Build failed with an exception.


:processDebugResources
E:\Development\IONIC 2\allcouriertracking\allcouriertracking5\platforms\android\res\xml\config.xml:57 : AAPT: Error parsing XML: unbound prefix


 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'I:\DEVELOPMENT PROGRAMS\android-sdk-windows\build-tools\24.0.3\aapt.exe'' finished with non-zero exit value 1

рдлрд┐рд░ рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ AndroidManifest.xml рдореЗрдВ рдЬреЛрдбрд╝рд╛:
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon" />

рдФрд░ рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб 4.4 рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб 5.1 рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЖрдкрдиреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛?
рдХреНрдпрд╛ рдЖрдкрдиреЗ notification_icon.png рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рднреА drawable рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ?

@pratikv рдХреНрдпрд╛ рдЖрдкрдиреЗ https://github.com/dpa99c/cordova-custom-config рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ?

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЗрд╕ рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ https://github.com/driftyco/ionic-package-hooks/blob/master/android_custom_resources.js рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ notification_icon.png рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░реЙрдЗрдВрдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдореВрд▓ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ <platform name="android"> рдиреЛрдб рдХреЗ рдЕрдВрджрд░ рд╣реИ:

<hook src="hooks/after_prepare/android_custom_resources.js" type="after_prepare"/>
<config-file parent="./application" target="AndroidManifest.xml">
    <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon" />
</config-file>

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рдореИрдВ рдЗрд╕ рд╣реБрдХ https://github.com/driftyco/ionic-package-hooks/blob/master/android_custom_values.js рдФрд░ @gylippus рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рдВрдЧ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рднреА рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ (рдзрдиреНрдпрд╡рд╛рдж!)

@blckshrk рд╣рд╛рдБ рдореИрдВрдиреЗ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ..рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЙрд╕ рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ..рдЫрд╡рд┐ рдЖрдпрд╛рдо рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреЗрдмреА рдореЗрдВ рдЖрдХрд╛рд░ред
рдФрд░ рдЬрд┐рд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЖрдкрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ? 20 рджрд┐рди рд╣реЛ рдЧрдП рдФрд░ рдЕрднреА рднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ? рдЕрдЧрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ?!

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдореИрдВ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдХреА рддрд░рдл рд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЖрдЗрдХрди рдХреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рдПрдВрдбреНрд░реЙрдЗрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдбреНрд░рд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдирд╛рдо рджрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо Notification_icon.png рд╣реИред
рдлрд╛рдпрд░рдмреЗрд╕ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореИрдВ рдЧрд▓рдд рдЖрдЗрдХрди рджреЗрдЦрддрд╛ рд░рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рд░реНрд╡рд░ рдореИрдВ рдЕрдиреБрд░реЛрдз рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднреЗрдЬрддрд╛ рд╣реВрдВ:

$fields = array(
  "registration_ids" => "array of registration ids",
  "notification" => array(
    "body"=>"message to send as a body",
    "icon"=>"notification_icon",
    "color"=>"your color in hex"
  ),
  "priority"=>10
);

рдЙрдордореАрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА

рдЕрд╕рд▓ рдореЗрдВ, рдХреБрдЫ рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ FirebasePluginMessagingService.java/sendNotification рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдирдмрд┐рд▓реНрдбрд░ рдХреЛрдб рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреЗрд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдХрднреА рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдХрди рдХреЗ рдореБрджреНрджреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдЗрд╕ рдкрд░ рднреА рд╕рдВрджреЗрд╣ рд╣реЛрдиреЗ рд▓рдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдирдмрд┐рд▓реНрдбрд░ рдХреЛрдб рдПрдХ .setSound (defaultSoundUri) рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреНрд░реЗ рдореЗрдВ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдЖрдиреЗ рдкрд░ рдЗрд╕реЗ рдХрднреА рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╕рд░реНрдЬрд┐рдпреЛрдЬреБрдк рдХрд╛ рд╕рдорд╛рдзрд╛рди рдКрдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд▓рдЧрдЗрди рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдПрдлрд╕реАрдПрдо рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИ рдЬреЛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреЗрд▓реЛрдб рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рд▓реЗрддреА рд╣реИред

рдХреНрдпреЛрдВ .. Android рдкрд░, onMessageReceived рдХреЗрд╡рд▓ рддрднреА рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм:
*) рдХреЗрд╡рд▓ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреЗрд▓реЛрдб рд╣реИ рдФрд░ рдРрдк рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рд╣реИ
*) рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреЗрд▓реЛрдб рдФрд░ рдбреЗрдЯрд╛ рдкреЗрд▓реЛрдб рд╣реИ рдФрд░ рдРрдк рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рд╣реИ
*) рдХреЗрд╡рд▓ рдПрдХ рдбреЗрдЯрд╛ рдкреЗрд▓реЛрдб рд╣реИ рдФрд░ рдРрдк рдЕрдЧреНрд░рднреВрдорд┐ рдпрд╛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╣реИ

рддреЛ рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, onMessageReceived рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
*) рдХреЗрд╡рд▓ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреЗрд▓реЛрдб рд╣реИ рдФрд░ рдРрдк рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╣реИ
*) рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреЗрд▓реЛрдб рдФрд░ рдбреЗрдЯрд╛ рдкреЗрд▓реЛрдб рд╣реИ рдФрд░ рдРрдк рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╣реИ

рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдкреЗрд▓реЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢реАрд░реНрд╖рдХ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рджреЛрдиреЛрдВ рдЧреБрдг рд╣реИрдВ, рдЬрдмрдХрд┐ рдРрдк рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @blckshrk !! рдореБрдЭреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛!

рдореИрдВ рдЖрдпреЛрдирд┐рдХ v2 рдФрд░ рдХреЙрд░реНрдбреЛрд╡рд╛-рдкреНрд▓рдЧрдЗрди-рдлрд╛рдпрд░рдмреЗрд╕@0.1.21 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
рдЖрдпрдирд┐рдХ: 2.2.2
рдХреЙрд░реНрдбреЛрд╡рд╛: 6.5.0
рдПрдирдкреАрдПрдо: 4.6.1

  1. рдХрд╕реНрдЯрдо-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
    $ ionic plugin add cordova-custom-config --fetch --save

  2. https://github.com/driftyco/ionic-package-hooks/blob/master/android_custom_resources.js рдФрд░ https://github.com/driftyco/ionic-package-hooks/blob/master/android_custom_values.js рдХреЛ рдПрдХ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ "рдкреИрдХреЗрдЬ-рд╣реБрдХ" (рдпрд╛ рдЬреЛ рднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдирд╛рдордХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред
    package-hooks/android_custom_resources.js
    package-hooks/android_custom_values.js

  3. рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ (рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ) рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдБ:
    resources/android/custom/notification_icon.png
    resources/android/values/styles.xml

notification_icon.png рдЖрдкрдХрд╛ Android>= API 21 рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЖрдЗрдХрди рд╣реИред рдореЗрд░рд╛ 144x144px рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред

styles.xml рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#FF8614</color>
</resources>
  1. config.xml рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдорд╣рддреНрд╡рдкреВрд░реНрдг : рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЙрд╕ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рд╡рд┐рдЬреЗрдЯ рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
    <widget ... xmlns:android="http://schemas.android.com/apk/res/android">
        <platform name="android">
            <hook src="package-hooks/android_custom_resources.js" type="after_prepare"/>
            <hook src="package-hooks/android_custom_values.js" type="after_prepare"/>
            <config-file parent="./application" target="AndroidManifest.xml">
                <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon"/>
                <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/red"/>
            </config-file>
        </platform>
    <widget>

рдФрд░ рдмрд╕ рдпрд╣реА!

рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ config.xml рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдХрд╣рд╛рдБ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП? рдЙрд╕ рдкрд░ рд╕реБрдЭрд╛рд╡? рд╕рд╛рде рд╣реА, рдореИрдВ рдПрдХреНрд╕рдПрдордПрд▓ рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдореБрдЭреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП? @shamank

<widget ... xmlns:android="http://schemas.android.com/apk/res/android"> <platform name="android"> <hook src="package-hooks/android_custom_resources.js" type="after_prepare"/> <hook src="package-hooks/android_custom_values.js" type="after_prepare"/> <hook src="package-hooks/android_fixes.js" type="after_prepare"/> <config-file parent="./application" target="AndroidManifest.xml"> <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon"/> <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/red"/> </config-file> </platform> <widget>

@Rockforced рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЗрди рджрд┐рдиреЛрдВ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рд╣реВрдВред рдореВрд▓ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдмрджрд▓реА рд╣реБрдИ рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд╕рд╛рде)ред рдЖрд╢рд╛ рд╣реИ рдпреЗ рдорджрдж рдХрд░реЗрдЧрд╛ред

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.example" version="1.0.20" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
    <name>Test</name>
    <description>Blabla.</description>
    <author email="[email protected]" href="https://example.com/">Example</author>
    <content src="index.html"/>
    <access origin="*"/>
    <allow-navigation href="http://ionic.local/*"/>
    <allow-navigation href="http://192.168.0.1:8100"/>
    <allow-intent href="http://*/*"/>
    <allow-intent href="https://*/*"/>
    <allow-intent href="tel:*"/>
    <allow-intent href="sms:*"/>
    <allow-intent href="mailto:*"/>
    <allow-intent href="geo:*"/>
    <platform name="android">
        <allow-intent href="market:*"/>
        <hook src="package-hooks/android_custom_resources.js" type="after_prepare"/>
        <hook src="package-hooks/android_custom_values.js" type="after_prepare"/>
        <hook src="package-hooks/android_fixes.js" type="after_prepare"/>
        <config-file parent="./application" target="AndroidManifest.xml">
            <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon"/>
            <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/red"/>
        </config-file>
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png"/>
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png"/>
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png"/>
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png"/>
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png"/>
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png"/>
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png"/>
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png"/>
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png"/>
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png"/>
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png"/>
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png"/>
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*"/>
        <allow-intent href="itms-apps:*"/>
        <icon height="57" src="resources/ios/icon/icon.png" width="57"/>
        <icon height="114" src="resources/ios/icon/[email protected]" width="114"/>
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40"/>
        <icon height="80" src="resources/ios/icon/[email protected]" width="80"/>
        <icon height="120" src="resources/ios/icon/[email protected]" width="120"/>
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50"/>
        <icon height="100" src="resources/ios/icon/[email protected]" width="100"/>
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60"/>
        <icon height="120" src="resources/ios/icon/[email protected]" width="120"/>
        <icon height="180" src="resources/ios/icon/[email protected]" width="180"/>
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72"/>
        <icon height="144" src="resources/ios/icon/[email protected]" width="144"/>
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76"/>
        <icon height="152" src="resources/ios/icon/[email protected]" width="152"/>
        <icon height="167" src="resources/ios/icon/[email protected]" width="167"/>
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29"/>
        <icon height="58" src="resources/ios/icon/[email protected]" width="58"/>
        <icon height="87" src="resources/ios/icon/[email protected]" width="87"/>
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640"/>
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750"/>
        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242"/>
        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536"/>
        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768"/>
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640"/>
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320"/>
    </platform>
    <preference name="webviewbounce" value="false"/>
    <preference name="UIWebViewBounce" value="false"/>
    <preference name="DisallowOverscroll" value="true"/>
    <preference name="android-minSdkVersion" value="16"/>
    <preference name="android-targetSdkVersion" value="23"/>
    <preference name="BackupWebStorage" value="none"/>
    <preference name="SplashMaintainAspectRatio" value="true"/>
    <preference name="SplashReloadOnOrientationChange" value="true"/>
    <preference name="SplashScreenDelay" value="3000"/>
    <preference name="FadeSplashScreen" value="false"/>
    <preference name="FadeSplashScreenDuration" value="0"/>
    <preference name="orientation" value="portrait"/>
    <preference name="SplashScreenBackgroundColor" value="0xFFFFFFFF"/>
    <preference name="SplashScreen" value="screen"/>
    <preference name="AutoHideSplashScreen" value="false"/>
    <preference name="KeyboardDisplayRequiresUserAction" value="false"/>
    <preference name="loadUrlTimeoutValue" value="700000"/>
    <feature name="StatusBar">
        <param name="ios-package" onload="true" value="CDVStatusBar"/>
    </feature>
    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser"/>
        <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/>
    </feature>
    <plugin name="cordova-plugin-app-event" spec="~1.2.0"/>
    <plugin name="cordova-plugin-device" spec="~1.1.3"/>
    <plugin name="cordova-plugin-console" spec="~1.0.4"/>
    <plugin name="cordova-plugin-whitelist" spec="~1.3.2"/>
    <plugin name="cordova-plugin-splashscreen" spec="~4.0.2"/>
    <plugin name="cordova-plugin-statusbar" spec="~2.2.2"/>
    <plugin name="ionic-plugin-keyboard" spec="~2.2.1"/>
    <plugin name="cordova-plugin-geolocation" spec="~2.4.1"/>
    <plugin name="cordova-plugin-compat" spec="~1.1.0"/>
    <plugin name="cordova-plugin-inappbrowser" spec="~1.6.1"/>
    <plugin name="cordova-plugin-nativestorage" spec="~2.2.2"/>
    <plugin name="cordova-plugin-firebase" spec="~0.1.20"/>
    <plugin name="cordova.plugins.diagnostic" spec="~3.0.4"/>
    <plugin name="cordova-plugin-googlemaps" spec="~1.4.0">
        <variable name="API_KEY_FOR_ANDROID" value="blabla"/>
        <variable name="API_KEY_FOR_IOS" value="blabla"/>
    </plugin>
    <plugin name="ionic-plugin-deeplinks" spec="~1.0.14">
        <variable name="URL_SCHEME" value="blabla"/>
        <variable name="DEEPLINK_SCHEME" value="https"/>
        <variable name="DEEPLINK_HOST" value="www.blabla.com"/>
        <variable name="ANDROID_PATH_PREFIX" value="/"/>
    </plugin>
    <plugin name="cordova-custom-config" spec="~3.2.0"/>
    <icon src="resources/ios/icon/[email protected]"/>
    <engine name="android" spec="~6.2.2"/>
</widget>

@shaman рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдкреВрд░реЗ рджрд┐рди рд╕рдВрд╕реНрдХрд░рдг 0.1.24 рд╕реЗ рдЬреВрдЭ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд╕реНрдЯрдо рдЖрдЗрдХрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдореИрдВрдиреЗ рд░реАрдб рдореА рдореЗрдВ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдмрд╣реБрдд рдмрд╛рд░реАрдХреА рд╕реЗ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдЧреНрд░реЗ рдЖрдЙрдЯ рдЖрдЗрдХрди рджрд┐рдЦрд╛рдпрд╛ред рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рддреБрд░рдВрдд рдХрд╛рдо рдХрд░ рдЧрдпрд╛... рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпреЛрдВ!

@ jskidd3 рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реА! рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рд╣реИред рдХреЙрд░реНрдбреЛрд╡рд╛-рдХрд╕реНрдЯрдо-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд▓рдЧрдЗрди рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (Info.plist / AndroidManifest.xml) рдХреЗ рд▓рд┐рдП рдХреЙрд░реНрдбреЛрд╡рд╛ рдХреЗ рдЕрдВрддрд┐рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред рддреЛ, рдХреЙрдиреНрдлрд┐рдЧ-рдлрд╛рдЗрд▓ рдмреНрд▓реЙрдХ рдореЗрдВ, рдЖрдк рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдХреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ "notification_icon" рдХреЗ рдирдП рдирд╛рдо рдХреЗ рддрд╣рдд рдбреНрд░реЙрдПрдмрд▓реНрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ "рдбрд┐рдлреЙрд▓реНрдЯ_рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди_рдЖрдЗрдХрди" рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ (рдЕрдЧрд░ рдореБрдЭреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдпрд╛рдж рд╣реИ рддреЛ рдкреНрд▓рдЧрдЗрди рдлрд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИ)ред рдлрд┐рд░ рдЖрдк рдЕрдЧрд▓реЗ рдмреНрд▓реЙрдХ (рд▓рд╛рд▓) рдореЗрдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдЕрдм рдЖрдкрдХреЛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ (notification_icon.png) рдХреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд╣реБрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╣ рд╣реИ android_custom_resources.jsред рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ/рдПрдВрдбреНрд░реЙрдЗрдб/рдХрд╕реНрдЯрдо/* рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдмрд┐рд▓реНрдб рдХреА рдбреНрд░реЙрдПрдмрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ (рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИ)ред рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рдиред рдЖрдк рдпрд╣ Style.xml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ; рд░рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ (рдореИрдВрдиреЗ рдЗрд╕реЗ "рд▓рд╛рд▓" рдирд╛рдо рджрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдФрд░ рдлрд┐рд░ android_custom_values.js рдЗрд╕реЗ рдирд┐рд░реНрдорд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо/рдПрдВрдбреНрд░реЙрдЗрдб/рд░реЗрд╕/рд╡реИрд▓реНрдпреВ" рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, config.xml рдореЗрдВ рдЖрдк рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖рдг рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ "after_prepare" рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, рдХреЙрд░реНрдбреЛрд╡рд╛ рдиреЗ рдмрд┐рд▓реНрдб рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рдлрд┐рд░ рд╕реЗ, рдЕрдЧрд░ рдореБрдЭреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рдпрд╛рдж рд╣реИ ... рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг/рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдпрдирд┐рдХ рдХреЗ рдкреИрдХреЗрдЬ рд╣реБрдХ рдбреЙрдХреНрд╕ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ)ред

@alexbonhomme рдХреЗ рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ :) https://github.com/arnesson/cordova-plugin-firebase/issues/53#issuecomment -304573222

@shamank рдХрд╛ рдирд┐рд░реНрдгрдп рдореЗрд░реЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдХреЛрдгреАрдп + рдХреЙрд░реНрдбреЛрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдПрдХ рдЪреАрдЬ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: android_custom_resources.js рдлреЛрд▓реНрдбрд░ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛ (рдбреНрд░реЙрдПрдмрд▓-рдПрд▓рдбреАрдкреАрдЖрдИ, рдбреНрд░реЙрдПрдмрд▓-рдПрдордбреАрдкреАрдЖрдИ рдЖрджрд┐) рдФрд░ рдЕрдЧрд░ рдлреЛрд▓реНрдбрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ config.xml рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ:

рдиреЛрдЯ: рдХрд╕реНрдЯрдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг рдкрде рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЙрд░реНрдбреЛрд╡рд╛@7.0.0 рдФрд░ > рдореЗрдВ res/ рдлрд╝реЛрд▓реНрдбрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рд╣реИред

`

    <resource-file src="res/custom/android/notification.png" target="app/src/main/res/drawable-mdpi/notification.png" />

    <resource-file src="res/custom/android/notification.png" target="app/src/main/res/drawable-hdpi/notification.png" />

    <resource-file src="res/custom/android/notification.png" target="app/src/main/res/drawable-xhdpi/notification.png" />

    <resource-file src="res/custom/android/notification.png" target="app/src/main/res/drawable-xxhdpi/notification.png" />

    <resource-file src="res/custom/android/notification.png" target="app/src/main/res/drawable-xxxhdpi/notification.png" />`

рд╡реИрд╕реЗ рднреА, @alexbonhomme рдФрд░ @shamank рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рдЖрдпрдирд┐рдХ 3 рдХреЗ рд▓рд┐рдП (рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрд░реНрдбреЛрд╡рд╛-рдПрдВрдбреНрд░реЙрдЗрдб@7 рдХреЗ рд▓рд┐рдП) @shamank рдХреЗ рд╕рдорд╛рдзрд╛рди рдкрде рдореЗрдВ рдЕрдВрджрд░:
package-hooks/android_custom_resources.js package-hooks/android_custom_values.js
рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ res рдлрд╝реЛрд▓реНрдбрд░ рдЕрдм platforms/android/app/src/main/ рдХреЗ рдЕрдВрджрд░ рд╣реИред

  1. package-hooks/android_custom_resources.js рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
    var platformDir = 'platforms/android';
    рдкреНрд░рддрд┐
    var platformDir = 'platforms/android/app/src/main';

  2. package-hooks/android_custom_values.js рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
    var platformDir = platforms/android/res/values';
    рдкреНрд░рддрд┐
    var platformDir = 'platforms/android/app/src/main/res/values';

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕