Push Notification FCM on Meteor 2021

Did you activate debugging for activitree:push?

yes, in CordovaPush.Configure debug is set to true.
wait i think i found the problemā€¦
no, i found a problem but now I am back to things not working without error messages + mac os 11.3 killed my android emulator (ios development still fine, thank god)

Ah ok, I only thought I had debugging enabled on the server (I had added the debug: true in the Configure options just like you do on the client). So I got proper debug logs now and the problem seems to be an Auth error.

Hi @paulishca is there any installation guide for this package or the whole push notification implementation on meteor? I want to use this for a new project but couldnā€™t see an installation guide. So it would be really helpful if you provide that.

Hi, all documentation is within the github repo. Please note that the example contains not a Meteor project but a folder structure that suggests where various pieces go to into your own project.

Hi,

Is the plugin functional with 2.6.1 or later ?

While trying to build for Android, I looked at the Issues and I found this thread: Meteor 2.5.1 compatibility Ā· Issue #47 Ā· activitree/meteor-push Ā· GitHub named Meteor 2.5.1 compatibility.

We do get the same build errors as listed in the first post of the thread.

How can we help ? Push notifs are new to us

Are people using this plugin unable to upgrade to Meteor > 2.5.1 ??

Best regards,

Chandi

You can look here for a hack / Cordova plugin: Mobile App generation Cordova issues with 2.5.1 [Solved]
Thereā€™s some duplicate entries for google services in the gradle files; I wonder whether this should be addressed in meteors build processā€¦

Oh great! Thanks a lot!
That works perfectly!

Only one bug we face:

in the iOS console (Xcode), we see this:

Main Thread Checker: UI API called on a background thread: -[UIApplication setApplicationIconBadgeNumber:]
PID: 53071, TID: 4612793, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   hoptimize                           0x00000001041bea20 __19-[PushPlugin init:]_block_invoke.278 + 1016
5   libdispatch.dylib                   0x000000010489bce4 _dispatch_call_block_and_release + 24
6   libdispatch.dylib                   0x000000010489d528 _dispatch_client_callout + 16
7   libdispatch.dylib                   0x000000010489fcc4 _dispatch_queue_override_invoke + 888
8   libdispatch.dylib                   0x00000001048af048 _dispatch_root_queue_drain + 376
9   libdispatch.dylib                   0x00000001048af970 _dispatch_worker_thread2 + 152
10  libsystem_pthread.dylib             0x00000001dca46568 _pthread_wqthread + 212
11  libsystem_pthread.dylib             0x00000001dca49874 start_wqthread + 8
2022-04-14 16:41:34.713668-0400 hoptimize[53071:4612793] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication setApplicationIconBadgeNumber:]
PID: 53071, TID: 4612793, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   hoptimize                           0x00000001041bea20 __19-[PushPlugin init:]_block_invoke.278 + 1016
5   libdispatch.dylib                   0x000000010489bce4 _dispatch_call_block_and_release + 24
6   libdispatch.dylib                   0x000000010489d528 _dispatch_client_callout + 16
7   libdispatch.dylib                   0x000000010489fcc4 _dispatch_queue_override_invoke + 888
8   libdispatch.dylib                   0x00000001048af048 _dispatch_root_queue_drain + 376
9   libdispatch.dylib                   0x00000001048af970 _dispatch_worker_thread2 + 152
10  libsystem_pthread.dylib             0x00000001dca46568 _pthread_wqthread + 212
11  libsystem_pthread.dylib             0x00000001dca49874 start_wqthread + 8
2022-04-14 16:41:39.537794-0400 hoptimize[53071:4612793] PushPlugin.register: clear badge is set to 1
2022-04-14 16:41:39.537868-0400 hoptimize[53071:4612793] PushPlugin.register: better button setup
2022-04-14 16:41:39.540477-0400 hoptimize[53071:4612793] FCM Sender ID 1007248119911
2022-04-14 16:41:39.540689-0400 hoptimize[53071:4612585] Received memory pressure event 2 vm pressure 0

The problem is that it completely freezes the UI for 6 seconds. That happens when we do the Configure/Registration.

Has anybody seen that before ?

I see it herel, 15 months ago and paulishca closed the issue because of lack of interactions in the thread.

I guess itā€™s in the phonegap plugin as I see this other user face it too using Ionic : https://github.com/danielsogl/awesome-cordova-plugins/issues/3988

I can ask in the cordova-plugin-push repository but weā€™re using the deprecated phonegap-plugin-push and the ā€œforumā€ is now closed.

Have you guys tried to depend on cordova-plugin-push instead ? does it work out of the box when changing the dependency?

Regards,

As soon as we disable clearBadge: true, the problem goes away.

image

So we just need to find a way to clear badges in a different way.

The solution is to remove clearBadge:true from the Configure because the configure, in phonegap-plugin-push, is run in a background thread and newer iOS versions donā€™t seem to appreciate it very much.

We must then run it manually from our code:

CordovaPush.push.setApplicationIconBadgeNumber(
	function () {console.log('setApplicationIconBadgeNumber2(0) successcallback');},
	function () {console.log('setApplicationIconBadgeNumber2(0) errorcallback');}, 0);