我为用户创建了一个动态链接,以在我的应用程序中分享一些内容。
href
当我在 Android 设备上使用标签单击 HTML 页面中的链接时,该链接有效。
这意味着,如果未安装该应用程序,请转到 Play 商店,否则打开该应用程序,我会收到深层链接地址。
但是,当链接在其他地方(如 facebook Messenger 或电子邮件等)完全相同时。我单击该链接,然后它就不起作用了。
即使我的应用程序已经安装,它也总是被重定向到 Play 商店。
有什么问题?
我的代码在这里。
.java 用于接收深层链接
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."); } } });
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>
动态链接
https://mycode.app.goo.gl/?link=
web page address
&al=my custom scheme for sharing
&apn=my android app's package name