Coder Social home page Coder Social logo

wonderpush / wonderpush-cordova-sdk Goto Github PK

View Code? Open in Web Editor NEW
7.0 5.0 6.0 3.71 MB

Cordova SDK for WonderPush − Advanced push notification service for mobile applications and Websites. High volume, fast delivery and full-featured starting €1/month.

Home Page: https://www.wonderpush.com

Java 24.84% JavaScript 51.18% Objective-C 23.97%
wonderpush push-notifications notifications cordova cordova-plugin cordova-android-plugin cordova-ios-plugin

wonderpush-cordova-sdk's Introduction

WonderPush Cordova SDK

Mobile push notification delivery with the WonderPush service. The WonderPush Cordova SDK is compatible with iOS and Android.

WonderPush is the most effective way to retain your users and grow your audience while remaining fully GDPR compliant.

With this plugin, integrate push notification in minutes in your hybrid iOS and Android app.

You can automate notifications based on user behavior, create user segments, and customize the subscription process for visitors.

WonderPush offers a 14-day free trial. After the trial period, you can benefit from unlimited push notifications and all the features from 1 euro per month. There are no limits on the number of push notifications you can send.

Our features include rich formats, automation, realtime analytics, powerful segmentation... All our features are included and you benefit from evolutions without ever having to pay more.

Company

WonderPush is trusted by over 5,000 developers in Europe and Worldwide.

WonderPush never shares your data with third parties. Your data is safe with us and we protect the privacy of your users as if they were ours. Data collected by our SDKs is fully documented and hosted in Europe.

We provide ready-made tools to collect and manage user consent, and let users download or delete all their data.

Features

  • Automatic notifications - Automatically send personalized notifications to users that match certain criteria

  • Segmentation - Send notifications to specific subscribers based on language, tags, events or properties.

  • Real-time Analytics - See delivery metrics in real time, and watch them as they convert into visits.

  • Advanced dashboard - Discover the power of push notification automation. Manage segments and campaigns. Invite staff to join your project.

Installation

See our Cordova Quickstart Guide.

Reference

Check out the API reference for a list of available methods.

Migrate from OneSignal plugin and others

If you need to be GDPR compliant and you already use a push notification plugin, migrating to WonderPush is easy: all you have to do is add the WonderPush plugin to your app and disable the other plugin.

Once you have the WonderPush plugin on your app, users who install the latest version of your app and have already granted push notification permission will automatically appear among your subscribers without having to subscribe again.

Change log and releases

See the releases page on GitHub.

Follow our announcements on our community forum.

Support

Contact support using the live chat on your dashboard.

Use the #wonderpush tag on StackOverflow.

Report a bug, file a feature request or send a pull request in the issue tracker.

wonderpush-cordova-sdk's People

Contributors

dependabot[bot] avatar lastid avatar micbis avatar ofavre avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wonderpush-cordova-sdk's Issues

Failing to upload to App store connect when using cordova-ios < 6

Hi there,

I've recently had success using your plugin (at 3.0.3) with the latest version of cordova-ios (6.1.1). However this setup appears to only support iOS 11+, and we need to support iOS 9+. Since cordova-ios is the limiting factor for this, we dropped it to 5.1.1 and used the cordova-plugin-wkwebview-engine plugin for UIWebView -> WKWebView compliance.

From what I gather, your plugin (at version 3.0.3) should support iOS 9+, but when using it with [email protected] I get the following error when trying to upload to App store connect (via xcrun altool --upload-app):

 ITMS-90715: "Minimum OS too low. The Payload/{app name here}.app/PlugIns/WonderPushNotificationServiceExtension.appex extension requires a version of iOS higher than the value specified for the MinimumOSVersion key in Info.plist."

I've checked the Info.plist inside the IPA we're trying to upload, and the Info.plist inside WonderPushNotificationServiceExtension.appex, and both give a MinimumOSVersion of iOS 9.0, so I'm not sure why this error is happening.

Any help would be greatly appreciated.

Error if we called the subscribeToNotifications method without an argument [Android]

Problem appears only in Android.
For wonderpush/wonderpush-cordova-sdk versions higher than 3.2.4

If we called the subscribeToNotifications method without an argument, in Android Studio we can see:

To native (Cordova plugin): callbackId: WonderPushPlugin1671177871, service: WonderPushPlugin, action: subscribeToNotifications, actionArgs: [null]

File: http://localhost/5587.bbfd13ac199b513b.js - Line 1 - Msg: [WonderPush] error calling native method: [object Arguments]

Calling the method subscribeToNotifications with the true or false parameter works fine.

The parameter is not required, so it should work by default without it.

LocalBroadcastManager not found on android.support.v4

When I open the project on Android Studio it cannot find the module on the WonderPushPlugin.java file like:

import android.support.v4.content.LocalBroadcastManager

I have to use this other path:

import androidx.localbroadcastmanager.content.LocalBroadcastManager;

I don't know if this is a general problem or a specific one. Or even if it's a solution.

Failed to install 'wonderpush-cordova-sdk': Error: pod: Command failed with exit code 31

I am having difficulties getting wonderpush cordova sdk to work. The strangest thing is that this was working for me a month ago.

$ cordova plugin add wonderpush-cordova-sdk --variable CLIENT_ID=xxxx --variable CLIENT_SECRET=xxxx

Installing "wonderpush-cordova-sdk" for ios
Running command: pod install --verbose
Failed to install 'wonderpush-cordova-sdk': Error: pod: Command failed with exit code 31
    at ChildProcess.whenDone (/Users/m/demo/node_modules/cordova-common/src/superspawn.js:136:25)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1047:16)
    at Socket.<anonymous> (internal/child_process.js:438:11)
    at Socket.emit (events.js:314:20)
    at Pipe.<anonymous> (net.js:672:12)
pod: Command failed with exit code 31

I am running this on Catalina with xcode and cocopods etc installed and working.

Screenshot 2020-12-19 at 20 17 22

Cordova iOS 7.0.0 installation problems

When I install woderpush-cordova-sdk and running cordova-ios with latest version 7.0.0 I gettings this error:

  stderr: '/Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface/error_report.rb:34:in `force_encoding\': can\'t modify frozen String: "[!] Dictionary missing \';\' after key-value pair for \\\\"PRODUCT_BUNDLE_IDENTIFIER\\\\", found \\\\".\\\\"\\\\n   #  -------------------------------------------\\\\n   #  \\\\t\\\\t\\\\t\\\\tGCC_DYNAMIC_NO_PIC = NO;\\\\n   #  \\\\t\\\\t\\\\t\\\\tGCC_OPTIMIZATION_LEVEL = 0;\\\\n900>  \\\\t\\\\t\\\\t\\\\tPRODUCT_BUNDLE_IDENTIFIER = \\\\"com.app.demo\\\\".WonderPushNotificationServiceExtension;\\\\n      \\\\t\\\\t\\\\t\\\\t                                              ^\\\\n   #  \\\\t\\\\t\\\\t};\\\\n   #  \\\\t\\\\t\\\\tbaseConfigurationReference = D15E5139FD424B778B214DF9 /* \\\\"wonderpushnotificationserviceextension-debug.xcconfig\\\\" */;\\\\n   #  -------------------------------------------\\\\n" (FrozenError)\n' +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface/error_report.rb:34:in `report'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/command.rb:66:in `report_error'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/claide-1.1.0/lib/claide/command.rb:396:in `handle_exception'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/claide-1.1.0/lib/claide/command.rb:337:in `rescue in run'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/claide-1.1.0/lib/claide/command.rb:324:in `run'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/command.rb:52:in `run'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/bin/pod:55:in `<top (required)>'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/bin/pod:25:in `load'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/bin/pod:25:in `<main>'\n" +
    '/Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:284:in `raise_parser_error\': [!] Dictionary missing \';\' after key-value pair for "PRODUCT_BUNDLE_IDENTIFIER", found "." (Nanaimo::Reader::ParseError)\n' +
    '   #  -------------------------------------------\n' +
    '   #  \t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n' +
    '   #  \t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n' +
    '900>  \t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = "com.app.demo".WonderPushNotificationServiceExtension;\n' +
    '      \t\t\t\t                                              ^\n' +
    '   #  \t\t\t};\n' +
    '   #  \t\t\tbaseConfigurationReference = D15E5139FD424B778B214DF9 /* "wonderpushnotificationserviceextension-debug.xcconfig" */;\n' +
    '   #  -------------------------------------------\n' +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:199:in `parse_dictionary'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:132:in `parse_object'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:193:in `parse_dictionary'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:132:in `parse_object'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:193:in `parse_dictionary'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:132:in `parse_object'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:193:in `parse_dictionary'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:132:in `parse_object'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/nanaimo-0.3.0/lib/nanaimo/reader.rb:107:in `parse!'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/xcodeproj-1.22.0/lib/xcodeproj/plist.rb:27:in `read_from_path'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/xcodeproj-1.22.0/lib/xcodeproj/project.rb:211:in `initialize_from_file'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/xcodeproj-1.22.0/lib/xcodeproj/project.rb:113:in `open'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/analyzer.rb:1194:in `block (2 levels) in inspect_targets_to_integrate'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/analyzer.rb:1193:in `each'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/analyzer.rb:1193:in `block in inspect_targets_to_integrate'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface.rb:64:in `section'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/analyzer.rb:1188:in `inspect_targets_to_integrate'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer/analyzer.rb:107:in `analyze'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer.rb:422:in `analyze'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer.rb:244:in `block in resolve_dependencies'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface.rb:64:in `section'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer.rb:243:in `resolve_dependencies'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/installer.rb:162:in `install!'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/command/install.rb:52:in `run'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/lib/cocoapods/command.rb:52:in `run'\n" +
    "\tfrom /Users/username/.rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/cocoapods-1.12.1/bin/pod:55:in `<top (required)>'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/bin/pod:25:in `load'\n" +
    "\tfrom /Users/username/.gem/ruby/2.7.4/bin/pod:25:in `<main>'\n",
  stdout: '  Preparing\n' +
    '\n' +
    'Analyzing dependencies\n' +
    '\n' +
    'Inspecting targets to integrate\n' +
    '  CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update\n',
  code: 1
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.