ユーザーがアプリの一部のコンテンツを共有するための動的リンクを作成しました。
href
Android デバイスでタグを使用して HTML ページのリンクをクリックすると、リンクが機能します。
つまり、アプリがインストールされていない場合は Play ストアに移動し、それ以外の場合はアプリを開くと、ディープ リンク アドレスを受け取ることができます。
しかし、Facebookメッセンジャーや電子メールなどの他の場所でリンクがまったく同じである場合、リンクをクリックすると機能しません。
アプリが既にインストールされている場合でも、常に 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