Testing GetSocial Smart Links¶
Smart Links is a powerful tool for increasing organic growth and user engagement in your app.
To make sure that the Smart Links work as expected, you have to perform tests on Android, iOS and validate that:
- Deep linking is working: when the app is installed, clicking the Smart Link should open the app. Optionally, if implemented in your app, user should be taken to specific content.
- Deferred deep linking is working: when app is not installed, clicking the Smart Link should open AppStore/Google Play. Optionally, if implemented in your app, when the app will be opened for a first time user should be taken to specific content.
- Analytics is collected: when the app is installed or opened after clicking on the Smart Link, events are reported to the Webhooks and GetSocial Dashboard.
Prerequisites¶
Before testing Smart Links, please ensure that the following prerequisites are satisfied:
- Finished guide Getting Started with GetSocial SDK on Android, iOS or Unity.
- Finished guide Receiving Smart Links on Android, iOS or Unity.
- Optionally if you use Smart Invites, finished guide Send Your First Smart Invite for the SDK.
- Whitelist test devices on the GetSocial Dashboard to receive analytics events after each app installation. Otherwise, repeated installs are considered as fraud and ignored.
Check deep linking¶
If the receiver has the app installed clicking on the Smart Link should open the app and, if implemented, deep link to the specific content inside.
One device is enough for testing this scenario.
Testing scenario
- Make sure the receiver has your app installed.
- Send a Smart Invite or a Smart Link to the receiver.
- Click on the Smart Link on the receiver’s device.
Expected result
- The app should be opened. In cases described in this table you’ll see GetSocial Landing Page after clicking the link.
- Optionally, if implemented in your app, user should be taken to specific content.
referral_data_received
event should be posted to the Webhook. Learn more in the Check analytics section.
Check deferred deep linking¶
If receiver does not have the app installed, clicking on the Smart Link should open the app installation page on the Google Play or AppStore.
To test the following scenario you need two mobile devices.
The app is not published to Google Play/App Store yet
If your app is not published yet, just install your app manually (from IDE, iTunes or via adb) after opening the app store. All attribution aspects will work as expected.
Testing scenario
- Ensure that app is not installed on the receiver device.
- Send a Smart Invite or a Smart Link to the receiver.
- Click on the Smart Link on the receiver’s device.
Expected result
- Google Play or the AppStore will be opened on the app installation page. In cases described in this table you’ll see GetSocial Landing Page after clicking the link.
- Optionally, if implemented in your app, after the installation and opening app for a first time, user should be taken to specific content.
app_install
andreferral_data_received
events should be posted to the Webhook. Learn more in the Check analytics section.
Test deferred deep linking for Smart Invites using one device
To simplify QA we recommend using two devices for testing but you can do the same with one device plus extra steps to simulate different device. Here are the extra steps to take:
- After sending Smart Invite, clear the app data (on Android only) and delete the app.
- Reset the device IDFA (for iOS) or GAID (for Android). Check here how to find your device id.
Check analytics¶
Check realtime events via webhooks
GetSocial Webhooks allow you to receive realtime events when users install (app_install
) or open (referral_data_received
) the app after clicking on the Smart Link.
To see realtime event feed on the Dashboard you have to enable and configure webhook.
Testing scenario
- Click on the Smart Link on the receiver’s device.
- Check webhooks section on the Dashboard.
Expected result
app_install
and referral_data_received
events are received.
Testing tips
referral_data_received
andapp_install
events should be received on each app install.app_install
event will not be received in case we detect fraud (e.g., install from emulator) or when install happened on the same device it was sent.app_install
event hasreinstall
field for prevention of the duplicate rewardings. New install will displayreinstall: false
value, all the next installs will displayreinstall: true
. How to get the New install? Reset device id as mentioned above.
Invite sent | Invite received | app_install event |
---|---|---|
Device1 | Device2 (first install) | reinstall: false |
Device1 | Device2 (second install) | reinstall: true |
Device1 | Device1 (same cookie + device id) | event rejected |
Device1 | Device1 (cleared cookie + device id) | reinstall: false |
Check Dashboard analytics
GetSocial analytics dashboard provides insights into your app’s organic user acquisition, retention and engagement. You can check clicks, install and open rates of your app for Smart Invites and Smart Links separately.
Analytics data is updated once per hour.
Google Play Pre-launch reports¶
Google Play Console provides developers with a Pre-launch reports when the app is published to an alpha or beta test channel. After that, automatic crawlers will inspect the app and post the results into the reports page. Pre-launch reports allow you to predefine deep links, so crawler will test them for you upon each app update.
To add deep links:
-
Open Google Play Console Release Management > Pre-launch report >Settings
-
Add up to 3 deep links to the corresponding field.
-
Save the changes.
Each crawling session lasts ~ 5mins, after the main tests run last 30 sec are spent on the deep links testing. When the testing session is finished report will display the result for each test device that was used, including logs and video recording.
Deep links navigation logs will contain such part:
I/Robo(10469): Starting crawl for intent Action android.intent.action.VIEW with Uri <your deep link>.
The video will show crawling intent popup.
Troubleshooting¶
App is not opened after the link click¶
Possible reasons:
iOS:
-
Outdated provisioning profiles after enabling “Associated Domains” for your App ID. To solve it, just download the latest provisioning profiles from Xcode settings or developer.apple.com.
-
New
app.entitlements
are not included in the correct build target. To solve the problem, includeapp.entitlements
into the desired build target. -
Some apps are blocking iOS Universal Links, e.g., Smart Links will not work in Telegram.
-
Universal links do not work with wildcard app identifiers (e.g., im.getsocial.*). You have to create a new specific app identifier and new provisioning profile for your app.
-
The link was copy-pasted to the mobile browser. Invite link should always be clicked in any invite channel (e.g., Whatsapp).
-
The link is wrapped (e.g., http://bit.ly/2rniAa3). Wrapped links could work on Android, but not on iOS.
Android/iOS:
-
In some corner cases app install landing page is displayed after the link click. Check the table here for details.
-
The deep link domain configured in your app doesn’t match Smart Link domain. In case you want to customize your domain visit this page.
Referral data is not received¶
Possible reasons:
-
App is not configured properly. Make sure you have finished retrieving referral data guide for Android, iOS or Unity.
-
Install was made on the same device the install was sent. To solve the issue see the last tip in Check Deferred Deep Linking section.
Recommended tools¶
Generate link for webhooks tracking