Deep binding does not work in any other browser except Chrome for Android applications

I have a built-in branch.io SDK for deep binding.

The flow of my deep binding - when I click on the URL, it will open my application, if it is already installed in the user's phone, it will redirect to the play store from its user can install the application.

This stream works fine if I view the link using the Chrome browser, but if I use other browser-based applications to view, for example, UC , Opera or Samsung > browsers by default, this stream does not work, in any case, it is redirected to the playback store.

Does anyone have a solution for this, please let me know!

Thank you for your help!

+5
source share
2 answers

older Android devices have known problems opening applications using URI Schemes and App Links . These questions are not limited to Branch links.

0
source

Create Deep Links in app content:

 <activity android:name="com.example.android.GizmosActivity" android:label="@string/title_gizmos" > <intent-filter android:label="@string/filter_view_http_gizmos"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- Accepts URIs that begin with "http://www.example.com/gizmos" --> <data android:scheme="http" android:host="www.example.com" android:pathPrefix="/gizmos" /> <!-- note that the leading "/" is required for pathPrefix--> </intent-filter> <intent-filter android:label="@string/filter_view_example_gizmos"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- Accepts URIs that begin with "example://gizmos" --> <data android:scheme="example" android:host="gizmos" /> </intent-filter> </activity> 

Reading data from incoming objects:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent = getIntent(); String action = intent.getAction(); Uri data = intent.getData(); } 

Check your deep links:

The general syntax for testing an intent filter URI with adb is:

 $ adb shell am start -W -a android.intent.action.VIEW -d <URI> <PACKAGE> 

For example, the command below attempts to view the target application action associated with the specified URI.

 $ adb shell am start -W -a android.intent.action.VIEW -d "example://gizmos" com.example.android 

More details:

1) https://developer.android.com/training/app-links/verify-site-associations.html#the-difference
2) https://docs.branch.io/pages/links/integrate/

0
source

Source: https://habr.com/ru/post/1236693/


All Articles