Как использовать Facebook Deferred App Link Data на Android? - PullRequest
0 голосов
/ 26 октября 2019

Мне нужно использовать глубокую ссылку отложенного приложения в моем приложении для Android, но в следующем коде я получаю appLinkData = null

    AppLinkData.fetchDeferredAppLinkData(this, getString(R.string.facebook_app_id),
            new AppLinkData.CompletionHandler() {
                @Override
                public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
                    Log.d("SplashActivity", "appLinkData: " + appLinkData);
                }
            }
    );

Если я использую Уведомления, все работают (Использование ИНСТРУМЕНТА ТЕСТИРОВАНИЯ DEEP LINK) Но мне нужно точноDeferred deeplink

Я прочитал: https://developers.facebook.com/docs/app-ads/deep-linking https://developer.android.com/training/app-links/deep-linking, но это не помогло мне

Мой манифест

    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id" />

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name" />

    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <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:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.tanat.posture.SplashActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </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:scheme="posture"/>
        </intent-filter>
    </activity>

Мой SplashActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    AppLinkData.fetchDeferredAppLinkData(this, getString(R.string.facebook_app_id),
            new AppLinkData.CompletionHandler() {
                @Override
                public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
                    Log.d("SplashActivity", "appLinkData: " + appLinkData);
                }
            }
    );

    Intent intent = getIntent();
    String action = intent.getAction();
    Uri data = intent.getData();
    Log.d("SplashActivity", "data: " + data);
}
...