FOREGROUND_SERVICE_DATA_SYNC Permission
Learn how to declare and manage the FOREGROUND_SERVICE_DATA_SYNC
permission in the Google Play Console.
Overview
The Signed Call Android SDK requires theΒ FOREGROUND_SERVICE_DATA_SYNCΒ permission to handle incoming VoIP calls via the Firebase Cloud Messaging (FCM) channel in FOREGROUND mode. This permission is essential to move call processing to a foreground service, minimizing Application Not Responding (ANR) errors during background processes.
When the user receives an incoming call while the app is in the background or killed state, the SDK utilizes a foreground service to manage network operations (such as call preprocessing) before displaying the call screen.
This permission is included in the SDK's manifest because Foreground mode is highly recommended. However, suppose you opt to use the default BACKGROUND mode and want to avoid declaring this permission on the Google Play Console; in that case, you can include the following code in your app's manifest file to remove the permission declaration:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"
tools:node="remove" />
Google Play Console Declaration
When submitting an APK, the Google Play Console requires you to declare the usage of the FOREGROUND_SERVICE_DATA_SYNC
permission.
To declare the FOREGROUND_SERVICE_DATA_SYNC
permission:
- Go to Page Policy in Play Console, and select App Content.
- Find Foreground service permissions, and provide a video link demonstrating the usage along with a description.
You can refer to the suggestions listed in the sections below to declare the usage in the console.
Video Demonstration
To complete the declaration process, you must provide a video demonstration showcasing how your app uses the permission. The video must demonstrate the VoIP call functionality where the app is in the killed state, and an incoming call is received. This helps explain the usage of the FOREGROUND_SERVICE_DATA_SYNC
permission.
Permission Usage Declaration
The FOREGROUND_SERVICE_DATA_SYNC
permission is used to handle incoming VoIP calls and ensure that the call screen is displayed immediately, even when the app is in the background or has been killed. Initiating a foreground service upon receiving an incoming call ensures that necessary preprocessing of the call (that is, network operations) is completed promptly and reliably, avoiding delays in call processing. This functionality is essential for ensuring that users receive real-time notifications for incoming calls, which is critical for VoIP communication's overall experience. Without this, the user experience would be negatively impacted, potentially affecting business outcomes.
If you have any questions, contact CleverTap support for further assistance.
Updated 11 days ago