-
Notifications
You must be signed in to change notification settings - Fork 1
Android Manifest components
Jakub Dzubak edited this page May 2, 2024
·
4 revisions
All required components are included into library manifest and manifest merger shall put all the components to the hosting application automatically. Manifest merger is enabled by default for android projects, but it can be disabled manually. Below is the list of manifest components needed for Mobile Messaging library. These components shall be put into application manifest if manifest merger was disabled.
<manifest>
<!-- Existing manifest entries -->
<!-- Mobile Messaging permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<!-- Needed for push notifications that contain VIBRATE flag. Optional, but recommended. -->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- /Mobile Messaging permissions -->
<application>
<!-- Existing application entries -->
<!-- Mobile Messaging components -->
<service
android:name="org.infobip.mobile.messaging.cloud.hms.MobileMessagingHmsService"
android:exported="false" >
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name="org.infobip.mobile.messaging.cloud.MobileMessagingCloudService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="false" >
</service>
<service
android:name="org.infobip.mobile.messaging.platform.MobileMessagingJobService"
android:enabled="false"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE" />
<activity
android:name="org.infobip.mobile.messaging.NotificationTapReceiverActivity"
android:excludeFromRecents="true"
android:exported="true"
android:noHistory="true"
android:taskAffinity=""
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<receiver
android:name="org.infobip.mobile.messaging.MobileMessagingConnectivityReceiver"
android:enabled="false"
android:exported="false">
<intent-filter>
<!-- Intent filter is for pre-7.0 Nougat devices -->
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<receiver
android:name="org.infobip.mobile.messaging.interactive.notification.NotificationActionTapReceiver"
android:exported="false" />
<!-- /Mobile Messaging components -->
</application>
</manifest>
<manifest >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<application>
<!--Service that's triggered by GeofenceTransitionsReceiver when geofence area is entered-->
<service
android:name="org.infobip.mobile.messaging.geo.transition.GeofenceTransitionsIntentService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:enabled="false" />
<!--Receiver that triggers when geofence area is entered-->
<receiver
android:name="org.infobip.mobile.messaging.geo.transition.GeofenceTransitionsReceiver"
android:enabled="false">
</receiver>
<receiver
android:name="org.infobip.mobile.messaging.geo.BootReceiver"
android:enabled="false"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<!--Service that's triggered by GeofencingConsistencyReceiver when consistency of geo monitoring needs to be maintained-->
<service
android:name="org.infobip.mobile.messaging.geo.GeofencingConsistencyIntentService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:enabled="false" />
<receiver
android:name="org.infobip.mobile.messaging.geo.GeofencingConsistencyReceiver"
android:enabled="false"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.TIME_SET" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
<!--Receiver used for versions below Android O-->
<receiver
android:name="org.infobip.mobile.messaging.geo.GeoEnabledConsistencyReceiver"
android:enabled="false"
android:exported="false">
<intent-filter>
<action android:name="android.location.PROVIDERS_CHANGED" />
</intent-filter>
</receiver>
<meta-data
android:name="org.infobip.mobile.messaging.geo.MobileGeoImpl"
android:value="org.infobip.mobile.messaging.MessageHandlerModule" />
</application>
</manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.infobip.mobile.messaging.chat">
<queries>
<!-- Camera -->
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
</queries>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:allowBackup="false"
android:usesCleartextTraffic="false"
android:enableOnBackInvokedCallback="true">
<activity
android:name=".view.InAppChatAttachmentPreviewActivity"
android:screenOrientation="portrait"
android:theme="@style/IB_ChatDefaultTheme" />
<activity
android:name=".view.InAppChatActivity"
android:noHistory="false"
android:screenOrientation="portrait"
android:theme="@style/IB_ChatDefaultTheme" />
<meta-data
android:name="org.infobip.mobile.messaging.chat.InAppChatImpl"
android:value="org.infobip.mobile.messaging.MessageHandlerModule" />
</application>
</manifest>
- Library events
- Server errors
- Users and installations
- Messages and notifications management
- Inbox
Geofencing APIDEPRECATED- Android Manifest components
- Privacy settings
- In-app chat