I've made a dynamic link for users to share some contents in my app.
The link is working when I click a link in an HTML page using href
tag on Android device.
It means, if the app is not installed, go to Play Store, else opening the app and I could receive deep link address.
But when the link is exactly same on other places like a facebook messenger or email etc. I click the link, then it's not working.
It's always redirected to Play Store even if my app is already installed.
What's the problem?
My code is here.
.java for receiving deep link
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, this) .addApi(AppInvite.API) .build(); boolean autoLaunchDeepLink = false; AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autoLaunchDeepLink) .setResultCallback( new ResultCallback<AppInviteInvitationResult>() { @Override public void onResult(@NonNull AppInviteInvitationResult result) { if (result.getStatus().isSuccess()) { // Extract deep link from Intent Intent intent = result.getInvitationIntent(); String deepLink = AppInviteReferral.getDeepLink(intent); Log.e("sf", "### deep link : " + deepLink ); } else { Log.d("asdf", "getInvitation: no deep link found."); } } });
intent part of activity in AndroidManifest.xml
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="mycode.app.goo.gl/" android:scheme="https" android:pathPattern=".*" /> </intent-filter>
dynamic link
https://mycode.app.goo.gl/?link=
web page address
&al=my custom scheme for sharing
&apn=my android app's package name