Запрос приложения Facebook открывает Google Play вместо установленного приложения

Некоторое время назад (возможно, год назад) мы реализовали функцию запроса приложения "Отправить подарок" с помощью Facebook SDK на iOS и Android. Мы используем v3.19 fb sdk на Android и v3.24 на iOS. Запрос приложения имеет как action_type, так и object_id. Вещи работают хорошо тогда.

недавно мы заметили, что глубокая связь Android больше не работает. Когда игрок получает запрос приложения подарка в приложении Facebook и нажимает на это уведомление, он перенаправляет в Google Play Store вместо запуска нашего приложения.

глядя на logcat, похоже, Facebook просто попробуйте открыть Google Play Store

02-18 20:11:15.624: I/ActivityManager(587): START u0 {act=android.intent.action.VIEW dat=market://details?id=myapp_id&referrer=utm_source=apps.facebook.com&utm_campaign=fb4a&utm_content=%7B%22app%22%3A469616456758238%2C%22t%22%3A1455123006%7D&fb_source=notification flg=0x10000000 cmp=com.android.vending/com.google.android.finsky.activities.LaunchUrlHandlerActivity (has extras)} from pid 5289

мы включили глубокую ссылку в настройках разработчика Facebook и добавили Key Hash. Эта проблема не возникает в iOS, при нажатии на уведомление в приложении Fb приложение iOS запускается.

Есть сообщение, которое очень похоже на эту глубокую ссылку в Facebook, которая открывает Google Play вместо приложения (даже если оно установлено). В упомянутом посте нам нужно добавить следующее в манифест, означает ли это, что наша старая версия приложения больше не работает без блока кода? Также у нас нет схемы для нашего приложения, где мы можем ее определить? и значит ли это, когда мы отправляем подарок, нам нужно использовать эту схему?

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="myapp"/>
</intent-filter>

1 ответ

В фейсбуке есть старая страница с надписью

Имя класса. Это имя класса основной деятельности, которую вы хотите запустить в Facebook. Включите пространство имен вашего приложения (например: com.domain.appname.MainActivity). Это поле также используется для создания URL-адреса магазина Google Play.

Мне понадобилось время, чтобы понять это, но, видимо, Class Name поле должно содержать полное имя класса. (com.domain.appname.MainActivity)

Другие вопросы по тегам