1

firebase コンソールを使用して動的リンクを作成しました。デバイスにローカル アプリ (まだ Google Play ストアにないアプリ) がインストールされています。

これは、動的リンクを処理するためのマニフェスト ファイル内のコードです。

 <activity android:name=".MainActivity" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <!-- [START link_intent_filter] -->
    <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="<code>.app.goo.gl/"
            android:scheme="https"
            android:pathPattern=".*" />

    </intent-filter>
    <!-- [END link_intent_filter] -->
</activity>

これはアクティビティのインテント ハンドラです

// [START build_api_client]
    // Build GoogleApiClient with AppInvite API for receiving deep links
    GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this, this)
            .addApi(AppInvite.API)
            .build();
    // [END build_api_client]

    // [START get_deep_link]
    // Check if this app was launched from a deep link. Setting autoLaunchDeepLink to true
    // would automatically launch the deep link if one is found.
    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);

                                // Handle the deep link. For example, open the linked
                                // content, or apply promotional credit to the user's
                                // account.

                                // [START_EXCLUDE]
                                // Display deep link in the UI
                                //((TextView) findViewById(R.id.link_view_receive)).setText(deepLink);
                                Toast.makeText(getApplicationContext(), deepLink, Toast.LENGTH_LONG).show();
                                // [END_EXCLUDE]
                            } else {
                                Log.d(TAG, "getInvitation: no deep link found.");
                            }
                        }
                    });
    // [END get_deep_link]

モバイル ブラウザでダイナミック リンクを開くと、アプリにリダイレクトされません。代わりにモバイル ブラウザ自体でリンクを開きます。

ユーザーがモバイル ブラウザでダイナミック リンクをヒットしようとしたときにアプリを開く方法は?

4

1 に答える 1