Why PUSH notifications do not come in the 3CX VoIP client for Android

You may have already tried our new app 3CX for Android Beta. We are now actively working on a release that will include, among other things, support for video calling! If you haven't seen the new 3CX client yet, join group of beta testers!

However, we drew attention to a fairly common problem - the unstable operation of PUSH notifications about calls and messages. A typical negative review on Google Play: if the application is currently inactive, calls are not accepted.

Why PUSH notifications do not come in the 3CX VoIP client for Android

We take such feedback very seriously. All in all, the Google Firebase infrastructure that Google uses for notifications works very reliably. Therefore, it is worth dividing the problem with PUSH into several levels - the points at which it can occur:

  1. Rare Google Firebase service issues. You can check the service status here.
  2. Obvious errors in our application - leave feedback on Google Play.
  3. Problems setting up your phone - you may have certain settings made or apps installed - optimizers that interfere with PUSH.
  4. Features of this Android build on this phone model. Unlike Apple, Android device developers customize the system by adding various β€œimprovements” to it, which, by default or always, block PUSH from working.

In this article, we will give recommendations regarding improving the reliability of PUSH just in the last two paragraphs.

Problems Connecting to Firebase Servers

Often there is a situation in which the PBX is successfully connected to the Firebase infrastructure, but PUSH does not come to the device. In this case, check if the problem affects only the 3CX application or other applications too.

If PUSH is not coming to other apps as well, try toggling "airplane mode" on and off, restarting Wi-Fi and "mobile data" or even restarting your phone. This cleans up the Android network stack and the issue can be resolved. If only the 3CX application is affected, try uninstalling and reinstalling it.

Why PUSH notifications do not come in the 3CX VoIP client for Android

Phone Manufacturer Power Saving Utilities

Even though Android has built-in power savings, smartphone manufacturers add their own "improvements". Indeed, some of them extend the life of the device, but at the same time they can affect the operation of background applications. We recommend finding and disabling all third-party power savers.

However, you should be careful here. Often, vendors create their own power-saving tools in order to prevent the phone from heating up too much. Sometimes in this way they try to get around the imperfections of the hardware, but if the phone catches fire, it will no longer matter. Therefore, after disabling the "improved" power saving features, test the device under load. And, of course, use high-quality chargers and branded USB cables.

Background data limits

Background data transfer is used by many Android services and applications. A typical example is the automatic updating of installed applications. If the user has data limits set, the Android Background Data Restriction service simply blocks background app traffic, including push notifications.

Be sure to exclude the 3CX client from such restrictions. Go to Settings > Apps & Notifications > About App > 3CX > Data Transfer and enable Background Mode.

Why PUSH notifications do not come in the 3CX VoIP client for Android

Data saving function

The data saving function is not used when connected to Wi-Fi, but it β€œcuts” the transmission when working in 3G / 4G mobile networks. If you plan to use the 3CX client, saving should be disabled in Settings > Network and Internet > Mobile data > top right menu > Data saver.

Why PUSH notifications do not come in the 3CX VoIP client for Android

If you still need to save data, click Unlimited data access and enable it for 3CX (see previous screenshot) 

Intelligent Power Saving Android Doze Mode

Starting with Android 6.0 (API level 23) Marshmallow, Google implemented intelligent energy saving, which activates when the device has not been used for a while - remains stationary with the display off and no charger connected. At the same time, applications are suspended, data transfer is minimized, and the processor goes into power-saving mode. In Doze Mode, no network requests are made, except for high priority PUSH notifications. Doze Mode requirements are constantly tightened - in new versions of Android, synchronization operations, various notifications, scanning Wi-Fi networks, GPS operation can be blocked ...

Even though 3CX sends high priority push notifications, build-specific Androids may ignore them. It looks like this: you take the phone from the table, the screen turns on - and a notification of an incoming call comes (postponed by Doze Mode power saving). You answer - and there is silence, the call has long been missed. The problem is exacerbated by the fact that some devices do not have time to exit Doze Mode or work it out incorrectly.

To check if Doze Mode is causing the problem, plug your phone into a charger, put it on a table, and wait a few seconds for it to start charging. Call him - if PUSH and the call go through, then it's Doze Mode. As mentioned, when connected to charging, Doze Mode is not activated. At the same time, if you simply move the standalone phone or turn on its screen, a complete exit from Doze is not guaranteed.

So, if Doze is the problem, try removing the 3CX app from Battery Optimization Mode in Settings > Apps & Notifications > About App > 3CX > Battery > Power Saver Exceptions.

Why PUSH notifications do not come in the 3CX VoIP client for Android

Try our recommendations. If they did not help, install 3CX for Android on another phone and check the stability of the work. This will help you pinpoint if it's a specific device or the network where you're using it. We also recommend that you install all available Android updates.

If all else fails, describe the problem in detail, specifying the exact phone model and Android version on our specialized forum.

And the last recommendation, which may seem obvious. The higher the class of the phone, the more famous the manufacturer, the higher the chances of trouble-free operation right out of the box. Where possible, use Google, Samsung, LG, OnePlus, Huawei devices and all devices on Android One. This article uses screenshots from an LG V30+ with Android 8.0.

Source: habr.com

Add a comment