0
votes

I am new to Deep linking I have successfully implemented deep linking using branch.io SDK. but my question is when an app is already installed in the device the parameter from the deep link can be passed using:`

 Branch.getInstance().initSession(new Branch.BranchReferralInitListener() {
            @Override
            public void onInitFinished(JSONObject referringParams, BranchError error) {
                if (error == null) {
                    Log.i("BRANCH SDK", referringParams.toString());
                } else {
                    Log.i("BRANCH SDK", error.getMessage());
                }
            }
        }, this.getIntent().getData(), this);
    }`  

but if the app is not present and it is downloaded from server or playstore and the user launches an app without link how can I pass data from that link to the app. Please do not downvote I have searched this but did not find anything.

I read something Branch install referrer. but do not understand how to process this

1

1 Answers

1
votes

initSession() is a listener that obtains Branch link data from any source: URI schemes, App/Universal Links and Branch servers.

It also functions with deferred deep linking, where the link is clicked when the application is not yet installed on the device. Once the application is installed and opened - initSession() listener will send a request for data to Branch's servers. If Branch is able to match your link click to your app opening - link data will be sent to the app and returned through the initSession(). Branch uses fingerprinting and persona information to match these two events, and even match users using multiple devices.

Deferred deep linking works after the basic SDK integration has been completed. On Android you may also enable 100% matching to make sure the data is always passed into the app.