Ссылка на приложение не работает для facebook на Android

Ссылка на приложение Facebook не работает. ссылка содержит следующее:

<html>
    <head>
    <meta property="al:android:url" content="myapp://12345" />
    <meta property="al:android:package" content="com.my.app" />
    <meta property="al:android:app_name" content="myApp" />
    <meta property="al:web:should_fallback" content="false" />
    </head>
</html>

Androidmanifest выглядит следующим образом:

<activity
 android:name="com.my.app.MyAppActivity" 
 android:launchMode="singleTask"
   <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="myapp" />
</intent-filter>

Мета-свойство в html должно отвечать за запуск намерения из приложения Facebook, но открытие ссылки через facebook не запускает приложение. Где я ошибаюсь?

Ответ 1

Это то, как приложение Link работает для меня, чтобы делиться с друзьями через Facebook или другие намерения поделиться.

Поделиться кодом намерения

Intent intent=new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "Lets Enjoy");
intent.putExtra(Intent.EXTRA_TEXT, "Lets Enjoy" + "http://myApp.com/id/"+12345);
startActivity(Intent.createChooser(intent, "Share With Friends")); 

Android манифест.

 <activity
        android:name="com.package.youractivitytoopen"
        android:theme="@style/MyMaterialTheme"
        android:screenOrientation="portrait">
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data
                android:scheme="http"
                android:host="myApp.com"
                android:pathPrefix="/id/" ></data>
        </intent-filter>
 </activity>

Если вы делитесь данными, вы получите такие данные

Intent intentShare = getIntent();
String action = intentShare.getAction();
Uri data = intentShare.getData();
if(data!=null) {
   String url = data.toString();
   String[] separated = url.split("/");
   id= Integer.parseInt(separated[4]);
}

Поделитесь с друзьями через общий доступ, если у них есть приложение, которое будет показывать возможность открытия с помощью приложения и откроется при активности, установленной в манифесте.

https://developer.android.com/training/app-indexing/deep-linking.html