Target outdated app versions to encourage app updates
Learn how to target outdated app versions with OneSignal In-App Messages using version-aware triggers to prompt users to update. Includes segmentation strategy and setup guidance.
In-app messages (IAMs) are a powerful tool to notify users on older versions of your app that a newer version is available and encourage them to update.
Requirements
- Your app must be using the latest v5 version of the OneSignal SDK
Setup
Example scenario: The latest version of our app is 1.0.1
. We want to target users on version 1.0.0
and older with an in-app message prompting them to update.
1. Get your latest app version
OneSignal detects App Version
based on the following:
iOS: The Version
found in Xcode your main app Target > General > Identity
iOS App Version found in Xcode
Android: The versionCode
found in your app build.gradle
file
Android App Version found in your app build.gradle
If you donβt have access to Xcode and/or Android Studio, ask your developer for these values.
Notice the App Versions for iOS and Android are different! This is one reason why we need to create two separate segments and in-app messages.
The 2nd reason we should use two separate segments is because the in-app message may contain links different for iOS and Android as we will see next.
2. Setup the segments
You will need to create two segments, one for iOS and one for Android.
iOS:
- Segment Name:
iOS App version less than 1.0.1
- Filters:
App Version
isless than
1.0.1
ANDDevice Type
isiOS
.
iOS Segment Filters
Android:
- Segment Name:
Android App version less than 10001
- Filters:
App Version
isless than
10001
ANDDevice Type
isAndroid
.
Android Segment Filters
3. Setup the in-app messages
Navigate to Messages > In-App > New Message > New In-App.
Start from the pre-built design New Feature Announcement or create your own from scratch.
New Feature Announcement
Name the message something to reflect this is for iOS users.
Add your audience
Select the particular segment iOS App version less than 1.0.1.
Update the message
Update the message as you see fit.
To navigate the user to your app store listing, add a URL click action to a Button or multiple elements
URL click action
You can enter the store link as the URL. Details on how to get the correct store link for your app can be found in the following links:
- iOS - https://developer.apple.com/library/archive/qa/qa1633/_index.html
- Android - https://developer.android.com/distribute/marketing-tools/linking-to-google-play.html
3. Triggers
We recommend using the On app open trigger to ensure the message is shown when the user opens the app.
4. Schedule and frequency
If you scheduled the app update to be some time in the future, you can schedule the message to start showing at that time.
Depending on how aggressive you want to be with your update prompts, you can set the βHow often do you want to show this message?β frequency to:
- Every time trigger conditions are satisfied - which means every time they open the app in this example.
- Multiple times - set the total number of times to show the message and what delay in between. For example, 100 times with a gap of 3 days in between. Will show the message every 3 days for up to 100 times.
5. Save as Draft and duplicate for Android
Click the Save as Draft button to save the message.
In the In-App Messages page, click Options > Duplicate next to the message you just saved.
Update the following for your Android users:
- The IAM name to reflect this is for Android users
- Set the Segment to Android App version less than 10001
- Update the URL to the Android store link
- Add any additional changes to the message to make it unique for Android users
Click Save as Draft to save the message.
Testing
Before publishing your messages, we suggest testing them with the following steps:
Find your test device and set as a Test Subscription
- Find your test device and set it as a Test Subscription.
- Make sure the test device is on the lower version of your app.
Update the Segment to include Test Users
- Open the in-app message you want to test.
- Click the Segment and add an And filter for Test Users.
- This will ensure the message only shows for your test devices
- For example, if your test device is on iOS, the segment will look like this:
iOS Segment Filters
- Click Update Segment to save the changes.
Publish the message
- Click Update Message to update the in-app message.
- Click Options > Resume next to the message to set it live.
Verify the message is shown
- Close the app on the test device.
- Wait 1 minute.
- Open the app on your test device.
- You should see the message if:
- The device is a Test Subscription
- The device is on the lower version of your app.
- The segment is set to Test Users.
Go live checklist
When you are ready to go live:
- Update the Segments to remove the
Test Users
filter. - Check the Schedule to make sure it is set to the correct date and time.
- Click Update Message to update the in-app message.
Youβre done! Any users that open your app on an older version will get notified of your App Update.
Return to the in-app message after some time to check progress. You can also get in-app message analytics with Event Streams or 3rd party Integrations.
Need help?
Chat with our Support team or email support@onesignal.com
Please include:
- Details of the issue youβre experiencing and steps to reproduce if available
- Your OneSignal App ID
- The External ID or Subscription ID if applicable
- The URL to the message you tested in the OneSignal Dashboard if applicable
- Any relevant logs or error messages
Weβre happy to help!