Deep links are used to send users directly to specific in-app locations, producing a seamless user journey and improving conversion rates. If a user already has your app installed and clicks on your deep link, SolarEngine SDK will open your app, parse the deep link information, and direct users to the page where you wanted them to land. This chapter will introduce necessary steps to generate deep links in SolarEngine.
Universal Link Example: test1.link.solar-engine.com
URL Scheme Example: test1://
To enable deep linking, please complete URL settings in Unity Editor Inspector window:
1. Click SolarEngine SDK --> SDK Edit Settings
2. Set DeepLink as True
DEEP LINKING introduction: iOS: iOS URL Identifier: The unique identifier of URL Scheme, e.g. solarengine iOS URL Schemes: Custom scheme name without [://], e.g. test1 iOS Universal Links Domains: Universal Links, please make sure to remove the protocol from the beginning of the link (such as https:// or applinks:), e.g. test1.link.solar-engine.com Android: Android URL Schemes: Custom scheme name without [://], e.g. test1 |
1. Input your Identifier, URL Schemes and Universal Links Domains
2. Export the Xcode project, to check if URL Schemes and Universal Links Domains have been added successfully.
e.g.
Please add the scheme in the Android URI Schemes interface. The SDK will automatically add the necessary XML tags to your AndroidManifest.xml.
The Android SDK relies on you to pass the configured Deeplink URL to report user re-engagement events and provide a deeplink callback. Please call SolarEngine.Analytics.handleDeepLinkUrl(url); method to pass it to the SDK.
//For Unity Editor 2020.1、2020.2、2019.4 versions
Application.deepLinkActivated += handleSchemeUrl;
//For other Unity versions
handSchemeUrl(Application.absoluteURL);
private void handleSchemeUrl(string url)
{
//Pass the URL to SDK. Please note that this step has to be done before SDK initialization
SolarEngine.Analytics.handleDeepLinkUrl(url);
}
After SDK parses the Deep Linking URL, some parameters will be sent back, which you can utilize to process some business logic.
Note:
The callback function should be used before SDK initialization, otherwise the callback would fail.
Function
public static void deeplinkCompletionHandler(SESDKDeeplinkCallback callback);
Parameter | Description | Type | Required |
---|---|---|---|
callback | deep linking callback | SESDKDeeplinkCallback | YES |
Sample Code
private void Start()
{
Analytics.deeplinkCompletionHandler(deeplinkCallback);
//For Unity Editor 2020.1、2020.2、2019.4 versions
Application.deepLinkActivated += handleSchemeUrl1;
//For other Unity versions
handleSchemeUrl(Application.absoluteURL);
SolarEngine.Analytics.initSeSdk(AppKey, seConfig);
}
private void deeplinkCallback(int code, Dictionary<string, object> data)
{
if (code == 0)
{
Debug.Log("SEUnity: deeplink callback success");
string from = (string)data["from"];
string sedpLink = (string)data["sedpLink"];
string turlId = (string)data["turlId"];
Dictionary<string, object> customParams = (Dictionary<string, object>)data["customParams"];
} else {
Debug.Log("SEUnity: deeplink callback fail");
}
}
private void handleSchemeUrl(string url)
{
//Pass the URL to SDK. Please note that this step has to be done before SDK initialization
SolarEngine.Analytics.handleDeepLinkUrl(url);
}
Developers can conduct re-engagement attribution and business analysis by reporting successful deeplink wake-up events.
Note: If the deeplink function of the SDK is used, there is no need to call the trackAppReEngagement method.
Method:
public static void trackAppReEngagement(Dictionary<string, object> customAttributes)
Sample Code
Dictionary<string,object> attributes = getCustomProperties();
SolarEngine.Analytics.trackAppReEngagement(attributes);