Mobile App Messages is a cloud-based mobile campaign management system. You can deliver targeted information to your mobile customers. Messages can be based on the user's preferences, behaviors, and real-time physical locations.

Types of mobile app messages

  • Simple notifications are messages or alerts that are delivered by your app to a user's device. Your simple notification can include a URL, a phone dial, or a custom action. A simple notification can have an action that opens an associated inbox message.
  • Inbox notifications are messages that get pulled by the app when the app is opened. You can display a full-page message in the app or an inbox display. You can also customize the messages based on a template. An inbox message is like an email. Messages are stored in cloud storage and synced to local storage, similar to an email. Tapping an item in the inbox opens the corresponding full inbox message.
  • In-app messages are pushed to an app but are displayed only for specific events. In-app messages are similar to ads in mobile apps. You can use it to engage users and lead them to complete actions to keep them coming back to your app. You can customize the messages with various visual styles based on the template used.
  • Data-only notifications are messages that push data to the app. No visual message is created; however, the data might result in a visual change in the app. No SDK development is needed for data messages.

Send mobile app messages

To send Mobile app messages to your app users, you must implement the following:

  1. The organization administrator for your Campaign must set up access for your application.
  2. To get message pushes working, you must register your iOS App with Apple. To register your app, complete the following steps in the Developer Provisioning Portal:
  • Create a provisioning profile for your Apple Application ID.
  • Create a push certificate.
    The profile must match the push certificate that you upload to Mobile app messaging.
  1. Configure mobile app messages alongside FCM (Firebase Cloud Messaging) in iOS apps. For more information, see Integrate iOS SDK with Firebase using Swift.
  2. Request the push feature to be provisioned for your organization.

A mobile app developer configures an app to Acoustic Campaign. The app developer can configure the app in Campaign from the Development tab. The tab is visible only if the org admin sets the mobile push notification permissions. A new app can be designated as one for production or development (i.e., testing). The push service type can also be designated as either Android or iOS. For more information, see Add an App in Acoustic Campaign.

🚧

WARNING:

When Acoustic Mobile Push stores data that you send, the data is not encrypted. Sending sensitive information as inbox, in-app, and mobile app messages are not recommended. We do not encrypt the data in our databases or log files, or when stored on the send. If you must send sensitive information, encrypt the data before sending it. You can then decrypt the data in memory on the device.

Workflow diagram

The following diagram shows the workflow for sending a mobile app message.

📘

Note:

You to get started, you must enable Mobile App Messages for your organization. This is done as part of the Campaign onboarding process. For questions, reach out to your customer success focal.

SDK and API References

Mobile application developers can leverage the Mobile app messaging SDKs provided by acoustic. The SDKs support mobile app messages from their mobile apps. The following SDKs are available:

iOS

The Mobile app messaging SDK for Apple iOS provides support for the following:

  • Registration for Apple Push Notification Service APNS.
  • Mobile app message handling and display.
  • Support for inbox and in-app message.
  • You can also use the Apple Watch Plugin for wearable support to use with your iOS mobile app messages.
    To get started, download the iOS SDK and iOS Native APIs references and plug-ins.

Android

The mobile app messaging SDK for Android provides support for the following:

  • Firebase Cloud Messaging (FCM) registration.
  • Integrate (FCM) mobile app messages into your Android Jelly Bean and above applications.
  • Mobile app message handling and display, and inbox and in-app message support.

📘

Note:

If using Google Cloud Messaging (GCM), it is recommended that you migrate to Firebase.

To get started, download the Android SDK and Android Native APIs references and plug-ins.

Cordova

You can use Apache Cordova with your mobile app and have the same capabilities as a native app.
To get started, download the Cordova SDK and Cordova APIs references and plug-ins.

Xamarin

You can develop your mobile app on the Xamarin Forms platform and have the same capabilities as a native app.
To get started, download the Xamarin SDK and Xamarin Forms APIs references and plug-ins.

📘

Note:

Only Xamarin.Forms is supported.

React Native

Configure basic mobile app messaging in React Native projects for iOS and Android apps:

  1. Create an example app in React Native.
  2. Then configure and build your Android and iOS apps.
  3. You can also configure advanced mobile app messaging features.
    To get started, download the React Native SDK and React Native APIs references and plug-ins.

You can use the APIs for integration in the Mobile App Messaging Solution for Acoustic Campaign for integrations.

Flutter

Develop your mobile app on the Flutter platform and have the same capabilities as a native app. Our Flutter SDK provides mobile app message handling and display, inbox, and in-app message support.
To get started, download the Flutter SDK and plug-ins.

Supported platforms

Acoustic currently provides mobile push SDKs for the following development environments/platforms:

SDK/Plug-inSupported platform versions
iOS - iOS 12.x to 17.x,
- Xcode 15.x
Android- Simple push notifications are supported for Android 4.1 / API level 16
- All features are supported for Android 4.4 / API level 19 (and higher)
- gms version in build.gradle (Module: app) should be 10.x or above
- support/testing on FCM only
- Firebase libraries version
- firebase-core version 19.0.2
- firebase-messaging version 22.0.0
React Native- React Native 0.64, 0.65, 0.66, 0.66.5 react-native-cli 2.0.1
- iOS 13.x, iOS 14.x, iOS 15.x and Xcode 14.1
- All features are supported for API level 21 to 31
- 'com.google.android.gms:play-services-location:16.0.0'
Cordova- 10.x (using Cordova iOS plug-in 6.2.1 and Cordova Android plug-in 10.1.1 )
- iOS 12.x, iOS 13.x, iOS 14.x, iOS 15 and Xcode 13.1
- All features are supported for Android 4.4 / API level 22 -31. For more information, see Notes.
Xamarin- The latest stable version of Xamarin.Forms (Xamarin Native is not supported)
- iOS 12.x, iOS 13.x, iOS 14.x, and Xcode 12.4
- All features are supported for Android 4.4 / API level 19 (and higher). For more information, see Notes.
Apple Watch- watchOS 4.x, watchOS 5.x, watchOS 6.x, watchOS 7.x, Xcode 15.x
Flutter- Android: minSdkVersion: 23, targetSdkVersion: 30, compileSdkVersion: 31
- iOS: iphoneos_deployment_target: 9.0

Notes:
Google Play Services required. We support released SDK versions only (not beta). Attributes are deleted on the server by using a DELETE command. Unfortunately, on Android 4.4.2 / API level 19 (and earlier), DELETEs are not allowed to include a body. If you call deleteUserAttribute, you get the following error:

AttributesIntentService: Error while updating attributes with MCE 
java.net.ProtocolException: DELETE does not support writing

To delete attributes on platforms before Android 4.4.4 / API 20, use the updateUserAttributes function with an empty string:

List attributes = new LinkedList();
attributes.add(new StringAttribute("age", ""));
MceSdk.getAttributesClient(false).updateUserAttributes(getApplicationContext(), attributes, null);

This function works for non-string attributes as well as strings.