{"id":17679928,"url":"https://github.com/infobip/mobile-messaging-cordova-plugin","last_synced_at":"2026-02-24T16:07:51.053Z","repository":{"id":45693219,"uuid":"75081242","full_name":"infobip/mobile-messaging-cordova-plugin","owner":"infobip","description":"Mobile Messaging SDK plugin for Cordova projects","archived":false,"fork":false,"pushed_at":"2025-11-26T14:36:07.000Z","size":65789,"stargazers_count":21,"open_issues_count":0,"forks_count":11,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-12-07T12:52:32.056Z","etag":null,"topics":["android","cordova","huawei","ionic","ios","push-notifications","sdk"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/infobip.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-11-29T12:52:45.000Z","updated_at":"2025-11-26T14:36:12.000Z","dependencies_parsed_at":"2023-11-10T14:37:27.123Z","dependency_job_id":"47f79c07-f7c5-457c-b482-291820d5f9d4","html_url":"https://github.com/infobip/mobile-messaging-cordova-plugin","commit_stats":{"total_commits":515,"total_committers":22,"mean_commits":23.40909090909091,"dds":0.7029126213592233,"last_synced_commit":"15f1e0513990569f6101e0e58800c76bcf82740f"},"previous_names":[],"tags_count":230,"template":false,"template_full_name":null,"purl":"pkg:github/infobip/mobile-messaging-cordova-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip%2Fmobile-messaging-cordova-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip%2Fmobile-messaging-cordova-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip%2Fmobile-messaging-cordova-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip%2Fmobile-messaging-cordova-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infobip","download_url":"https://codeload.github.com/infobip/mobile-messaging-cordova-plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip%2Fmobile-messaging-cordova-plugin/sbom","scorecard":{"id":488206,"data":{"date":"2025-08-11","repo":{"name":"github.com/infobip/mobile-messaging-cordova-plugin","commit":"977ad93634d504fbbf43496c0f28ff6c8545e1a4"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":8,"reason":"10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'ios_cocoapods_rc'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-19T18:21:22.542Z","repository_id":45693219,"created_at":"2025-08-19T18:21:22.542Z","updated_at":"2025-08-19T18:21:22.542Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28845107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T10:53:21.605Z","status":"ssl_error","status_checked_at":"2026-01-28T10:53:20.789Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cordova","huawei","ionic","ios","push-notifications","sdk"],"created_at":"2024-10-24T09:04:44.669Z","updated_at":"2026-01-28T12:21:34.459Z","avatar_url":"https://github.com/infobip.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mobile Messaging SDK plugin for Cordova\n\n[![npm](https://img.shields.io/npm/v/com-infobip-plugins-mobilemessaging.svg)](https://www.npmjs.com/package/com-infobip-plugins-mobilemessaging)\n\nMobile Messaging SDK is designed and developed to easily enable push notification channel in your mobile application. In almost no time of implementation you get push notification in your application and access to the features of [Infobip IP Messaging Platform](https://www.infobip.com/en/products/mobile-app-messaging). \nThe document describes library integration steps for your Cordova project.\n\n  * [Requirements](#requirements)\n  * [Quick start guide](#quick-start-guide)\n  * [Initialization configuration](#initialization-configuration)\n\n## Requirements\n- cordova 12.0.0 (`sudo npm install -g cordova`)\n- npm (version 8.13.x or higher)\n- node (version 16.13.0 or higher)\n\nFor iOS project:\n- Xcode 16.x\n- Cocoapods 1.14.x\n- Minimum deployment target 15.0\n- [cordova-ios@7.x.x](https://cordova.apache.org/announcements/2023/07/10/cordova-ios-7.0.0.html)\n- Ruby (2.7.x - 3.1.x)\n\nFor Android project: \n- Android Studio\n- Supported API Levels: 22 ( Android 5.1 - [Lollipop](https://developer.android.com/about/versions/lollipop)) - 35 (Android 15)\n- [cordova-android@14.x.x](https://cordova.apache.org/announcements/2025/04/30/cordova-android-14.0.1.html)\n\nFor Huawei:\n- Android Studio\n- Installed \u003ca href=\"https://huaweimobileservices.com/appgallery/\" target=\"_blank\"\u003eAppGallery\u003c/a\u003e with HMS Core at device\n- Supported API Levels: 22 ( Android 5.1 - [Lollipop](https://developer.android.com/about/versions/lollipop)) - 31 (Android 12.0)\n\n## Quick start guide\nThis guide is designed to get you up and running with Mobile Messaging SDK plugin for Cordova:\n\n1. Make sure to [setup application at Infobip portal](https://www.infobip.com/docs/mobile-app-messaging/getting-started#create-and-enable-a-mobile-application-profile), if you haven't already.\n\n2. Add MobileMessaging plugin to your project, run in terminal:\n    ```bash\n    $ cordova plugin add com-infobip-plugins-mobilemessaging --save\n    ```\n    \n    You can add typings if you are using TypeScript in yours project\n    ```bash\n    npm install --save-dev @types/mobile-messaging-cordova\n    ```\n    \n    \u003cdetails\u003e\u003csummary\u003eexpand to see Ionic code\u003c/summary\u003e\n    \u003cp\u003e\n\n    ```bash\n    ionic cordova plugin add com-infobip-plugins-mobilemessaging --save\n    npm install @awesome-cordova-plugins/mobile-messaging --save\n    ```\n\n    \u003c/p\u003e\n    \u003c/details\u003e\n3. Configure platforms\n\n    1. **iOS**: [Integrate Notification Service Extension](https://github.com/infobip/mobile-messaging-cordova-plugin/wiki/Delivery-improvements-and-rich-content-notifications) into your app in order to obtain:\n        - more accurate processing of messages and delivery stats\n        - support of rich notifications on the lock screen\n    2. **Android**: \n       1. Get the Firebase configuration file (google-services.json) as described in \u003ca href=\"https://firebase.google.com/docs/android/setup#add-config-file\" target=\"_blank\"\u003e`Firebase documentation`\u003c/a\u003e and put it to the root application folder.\n       2. Add following to your config.xml\n           ```xml\n              \u003cplatform name=\"android\"\u003e\n                 \u003cresource-file src=\"google-services.json\" target=\"app/google-services.json\" /\u003e\n                 \u003cpreference name=\"GradlePluginGoogleServicesEnabled\" value=\"true\"/\u003e\n                 ...\n              \u003c/platform\u003e\n           ```\n   \u003e ### Notice (when targeting Android 13):\n   \u003e Starting from Android 13, Google requires to ask user for notification permission. Follow \u003ca href=\"https://github.com/infobip/mobile-messaging-cordova-plugin/wiki/Android-13-Notification-Permission-Handling\" target=\"_blank\"\u003ethis guide\u003c/a\u003e to make a permission request.\n\n4. Configure Huawei build\n\n    1. Configure \u003ca href=\"https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/android-config-agc-0000001050170137\" target=\"_blank\"\u003eHuawei application\u003c/a\u003e\n    2. Change `plaform/android/build.gradle`\n        ```gradle\n            \n            buildscript {\n                repositories {\n                    mavenCentral()\n                    google()\n                    maven { url 'https://developer.huawei.com/repo/' } // Added for Huawei support\n                }\n            \n                dependencies {\n                    ...\n                    classpath 'com.huawei.agconnect:agcp:1.6.0.300' // Added for Huawei support\n                }\n            }\n       \n            allprojects {\n                repositories {\n                    mavenCentral()\n                    google()\n                    maven {url 'https://developer.huawei.com/repo/'} // Added for Huawei support\n                }\n                ...\n            }\n       \n       ```    \n    3. Change `plaform/android/app/build.gradle`\n        ```gradle\n       \n            apply plugin: 'com.android.application'\n            apply plugin: 'com.huawei.agconnect' // Added for Huawei support\n            \n            dependencies {\n                   implementation 'com.huawei.hms:push:6.3.0.302' // Added for Huawei support\n            }\n       \n       ```\n    4. Sign your app to provide config for \u003ca href=\"https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/android-config-agc-0000001050170137#EN-US_TOPIC_0000001050170137__section193351110105114\"  target=\"_blank\"\u003eGenerated Signing Certificate Fingerprint\u003c/a\u003e at previous step.\nYou can change `plaform/android/app/build.gradle` or write sign config to `build.json`\n        ```gradle\n       \n           android {\n\n               signingConfigs {\n                   release {\n                       storeFile file(\u003cpath to *.jks file\u003e)\n                       storePassword \"\u003cpassword\u003e\"\n                       keyAlias \"\u003calias\u003e\"\n                       keyPassword \"\u003cpassword\u003e\"\n                   }\n               }\n               buildTypes {\n                   release {\n                       signingConfig signingConfigs.release\n                   }\n                   debug {\n                       signingConfig signingConfigs.release\n                   }\n               }\n       \n               ...\n       \n        ```\n    5. Download `agconnect-services.json` from \u003ca href=\"https://developer.huawei.com/consumer/ru/service/josp/agc/index.html\"  target=\"_blank\"\u003eAppGallery Connect \u003c/a\u003e and copy it to `platforms/android/app`.\n        \n        a. Find your App from the list and click the link under Android App in the Mobile phone column.\n        \n        b. Go to Develop \u003e Overview.\n        \n        c. In the App information area, Click `agconnect-services.json` to download the configuration file.\n    6. Add [`Huawei App ID`](https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/android-config-agc-0000001050170137) via plugin variable in `config.xml` :   \n        ```xml\n           \u003cplugin name=\"com-infobip-plugins-mobilemessaging\" spec=\"...\"\u003e\n               \u003cvariable name=\"HUAWEI_SENDER_ID\" value=\"Huawei App ID\" /\u003e\n           \u003c/plugin\u003e\n        ```\n        You can take this value from `agconnect-services.json`.\n    7. Remove, if following was added to `config.xml`\n       ```xml\n          \u003cplatform name=\"android\"\u003e\n              \u003cresource-file src=\"google-services.json\" target=\"app/google-services.json\" /\u003e\n              \u003cpreference name=\"GradlePluginGoogleServicesEnabled\" value=\"true\"/\u003e\n              ...\n          \u003c/platform\u003e\n        ```\n        \n    8. Run `cordova build android --hms` to make build for HMS.\n        \n        **Note** that if you are developing / testing FCM and HMS at the same device then better to remove cache for installed app, remove app and after that install build with other push cloud. \n\n5. Add code to your project to initialize the library after `deviceready` event with configuration options and library event listener:\n\n    ```javascript\n    onDeviceReady: function () {\n        ...\n        MobileMessaging.init({\n                applicationCode: '\u003cyour_application_code\u003e',\n                geofencingEnabled: '\u003ctrue/false\u003e',\n                ios: {\n                    notificationTypes: ['alert', 'badge', 'sound']\n                },\n                android: {\n                    notificationIcon: \u003cString; a resource name for a status bar icon (without extension), located in '/platforms/android/app/src/main/res/mipmap'\u003e,\n                    multipleNotifications: \u003cBoolean; set to 'true' to enable multiple notifications\u003e,\n                    notificationAccentColor: \u003cString; set to hex color value in format '#RRGGBB' or '#AARRGGBB'\u003e\n                }\n            },\n            function() {\n                console.log(`Mobile Messaging SDK has started initialization process. Register for registrationUpdated event to know when it's ready to be used.`);\n            },\n            function(error) {\n                console.log('Init error: ' + error.description);\n            }\n        );\n\n        MobileMessaging.register('messageReceived', \n            function(message) {\n                console.log('Message Received: ' + message.body);\n            }\n        );\n\n        ...\n    }\n    ```\n    \u003cdetails\u003e\u003csummary\u003eexpand to see Ionic code\u003c/summary\u003e\n    \u003cp\u003e\n\n    #### Add this code to app.module.ts::\n    ```typescript\n    import { MobileMessaging } from '@ionic-native/mobile-messaging/ngx';\n\n    ...\n\n    @NgModule({\n     ...\n\n      providers: [\n        ...\n        MobileMessaging\n        ...\n      ]\n      ...\n    })\n    export class AppModule { }\n    ```\n \n    #### Usage sample:\n    ```typescript\n    import {Message, MobileMessaging, UserData} from '@ionic-native/mobile-messaging/ngx';\n\n    ...\n \n    @Component({\n      selector: 'app-root',\n      templateUrl: 'app.component.html',\n      styleUrls: ['app.component.scss']\n    })\n    export class AppComponent {\n      constructor(\n        private platform: Platform,\n        private splashScreen: SplashScreen,\n        private statusBar: StatusBar,\n        private mobileMessaging: MobileMessaging\n      ) {\n        this.initializeApp();\n      }\n   \n    ...\n    \n      this.mobileMessaging.init({\n        applicationCode: '\u003cyour_application_code\u003e',\n        ios: {\n          notificationTypes: ['alert', 'badge', 'sound']\n        },\n        android: {\n          notificationIcon: \u003cString; a resource name for a status bar icon (without extension), located in '/platforms/android/app/src/main/res/mipmap'\u003e,\n          multipleNotifications: \u003cBoolean; set to 'true' to enable multiple notifications\u003e,\n          notificationAccentColor: \u003cString; set to hex color value in format '#RRGGBB' or '#AARRGGBB'\u003e\n       }}, \n        () =\u003e {},\n        (err) =\u003e {\n         ...\n       });\n     \n       this.mobileMessaging.register('messageReceived', function (message: any) {\n         ...\n       });\n    ```\n    \u003c/p\u003e\n    \u003c/details\u003e\n\n## Initialization configuration\n\u003e ### Notice:\n\u003e The callback function will be called after successful start of Mobile Messaging SDK initialization. When the callback is called,\n\u003e it does not mean that the Mobile Messaging SDK is fully initialized and no Mobile Messaging SDK methods should be called inside the callback.\n\u003e To know when the Mobile Messaging SDK is fully initialized, you should subscribe to the [registrationUpdated](https://github.com/infobip/mobile-messaging-cordova-plugin/wiki/Library-events) event.\n\n```javascript\nMobileMessaging.init({\n        applicationCode: \u003cString; Infobip Application Code from the Customer Portal obtained in step 2\u003e,\n\n        // General configuration\n        inAppChatEnabled: \u003cBoolean; set to true to enable in-app chat feature\u003e, // optional\n        fullFeaturedInAppsEnabled: \u003cBoolean; set to true to enable full featured in-app messages\u003e, // optional\n        loggingEnabled: \u003cBoolean; set to true to enable debug logging\u003e, // optional\n        userDataJwt: \u003cString; JWT token for authorization of user data related operations\u003e, // optional\n        trustedDomains: \u003cArray\u003cString\u003e; list of trusted domain strings for web views, e.g. ['example.com', 'trusted.org']\u003e, // optional\n        messageStorage: \u003cObject; message storage implementation\u003e, // optional\n        defaultMessageStorage: \u003cBoolean; set to 'true' to enable default message storage implementation\u003e, // optional\n\n        // iOS-specific configuration\n        ios: {\n            notificationTypes: \u003cArray; values: 'alert', 'badge', 'sound'; notification types to indicate how the app should alert user when push message arrives\u003e,\n            forceCleanup: \u003cBoolean; defines whether the SDK must be cleaned up on startup. Default: false\u003e, // optional\n            registeringForRemoteNotificationsDisabled: \u003cBoolean; set to true to disable automatic registration for remote notifications. Default: false\u003e, // optional\n            overridingNotificationCenterDelegateDisabled: \u003cBoolean; set to true to prevent SDK from overriding UNUserNotificationCenterDelegate. Default: false\u003e, // optional\n            unregisteringForRemoteNotificationsDisabled: \u003cBoolean; set to true to prevent SDK from unregistering for remote notifications when stopping SDK or after depersonalization, useful when using MobileMessaging SDK with another push provider. Default: false\u003e, // optional\n            webViewSettings: { // optional; settings for web view configuration in in-app messages\n                title: \u003cString; custom title for the web view toolbar\u003e,\n                barTintColor: \u003cString; hex color string for the toolbar background color\u003e,\n                titleColor: \u003cString; hex color string for the toolbar title text color\u003e,\n                tintColor: \u003cString; hex color string for the toolbar button color\u003e\n            }\n        },\n\n        // Android-specific configuration\n        android: { // optional\n            notificationIcon: \u003cString; a resource name for a status bar icon (without extension), located in '/platforms/android/app/src/main/res/mipmap'\u003e,\n            notificationChannelId: \u003cString; identifier for notification channel\u003e, // optional\n            notificationChannelName: \u003cString; user visible name for notification channel\u003e, // optional\n            notificationSound: \u003cString; a resource name for a notification sound (without extension), located in '/platforms/android/app/src/main/res/raw'\u003e, // optional\n            multipleNotifications: \u003cBoolean; set to 'true' to enable multiple notifications\u003e,\n            notificationAccentColor: \u003cString; set to hex color value in format '#RRGGBB' or '#AARRGGBB'\u003e,\n            withBannerForegroundNotificationsEnabled: \u003cBoolean; set to true to always display Push notifications as Banner\u003e // optional\n        },\n\n        // Interactive notifications\n        notificationCategories: [ // optional\n           {\n               identifier: \u003cString; a unique category string identifier\u003e,\n               actions: [\n                   {\n                       identifier: \u003cString; a unique action identifier\u003e,\n                       title: \u003cString; an action title, represents a notification action button label\u003e,\n                       foreground: \u003cBoolean; to bring the app to foreground or leave it in background state (or not)\u003e,\n                       textInputPlaceholder: \u003cString; custom input field placeholder\u003e,\n                       moRequired: \u003cBoolean; to trigger MO message sending (or not)\u003e,\n\n                       // iOS only\n                       authenticationRequired: \u003cBoolean; to require device to be unlocked before performing (or not)\u003e,\n                       destructive: \u003cBoolean; to be marked as destructive (or not)\u003e,\n                       textInputActionButtonTitle: \u003cString; custom label for a sending button\u003e,\n\n                       // Android only\n                       icon: \u003cString; a resource name for a special action icon\u003e\n                   }\n               ]\n           }\n        ],\n\n        // Privacy settings\n        privacySettings: { // optional\n            userDataPersistingDisabled: \u003cBoolean; set to true to disable persisting User Data locally. Default: false\u003e,\n            carrierInfoSendingDisabled: \u003cBoolean; set to true to disable sending carrier information to server. Default: false\u003e,\n            systemInfoSendingDisabled: \u003cBoolean; set to true to disable sending system information (OS version, device model, app version) to server. Default: false\u003e\n        }\n    },\n    function() {\n        console.log(`Mobile Messaging SDK has started initialization process. Register for registrationUpdated event to know when it's ready to be used.`);\n    },\n    function(error) {\n        console.log('Init error: ' + error.description);\n    }\n);\n```\n\n#### More details on SDK features and FAQ you can find on [Wiki](https://github.com/infobip/mobile-messaging-cordova-plugin/wiki)\n\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\u003cb\u003eNEXT STEPS: \u003ca href=\"https://github.com/infobip/mobile-messaging-cordova-plugin/wiki/Users-and-installations\"\u003eUsers and installations\u003c/a\u003e\u003c/b\u003e\u003c/p\u003e\n\u003cbr\u003e\n\n| If you have any questions or suggestions, feel free to send an email to support@infobip.com or create an \u003ca href=\"https://github.com/infobip/mobile-messaging-cordova-plugin/issues\" target=\"_blank\"\u003eissue\u003c/a\u003e. |\n|---|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfobip%2Fmobile-messaging-cordova-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfobip%2Fmobile-messaging-cordova-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfobip%2Fmobile-messaging-cordova-plugin/lists"}