Menu

Deep Linking

       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.

1. Login to SolarEngine

Universal Link Example:  test1.link.solar-engine.com

URL Scheme Example: test1://

2. Enable Deep Linking

       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

2.1. iOS Deep Linking

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.

2.2. Android Deep Linking

   Please add the scheme in the Android URI Schemes interface. The SDK will automatically add the necessary XML tags to your AndroidManifest.xml.

3. Pass the Deep Linking URL

    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);
    }

4. Set Deep Linking Callback

       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);
ParameterDescriptionTypeRequired
callbackdeep linking callbackSESDKDeeplinkCallbackYES

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);
    }

5.  Report deeplink wake-up events

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);


Previous
Set SKAdNetwork and Conversion Values
Next
Deferred Deep Linking
Last modified: 2025-07-14Powered by