2013-11-19 3 views
3

Я пытаюсь использовать Facebook для связи с Facebook Mobile App Engagement для Android, но я не могу понять, зачем вводить объявление, чтобы перейти на страницу установки приложения в Google Play , вместо того, чтобы открывать свое собственное приложение, так что я могу справиться с умыслом ...Facebook глубокая ссылка открывает Google Play вместо приложения (даже при установке)

Вот что я сделал до сих пор:

1) в разделе «Native Android App» (на App Basics Page) , включил «Deep Linking». Ключи хэши выглядят нормально, и вход в Facebook в моем приложении отлично работает.

2) Создано помолвка объявление с помощью редактора питания, и прошел «MyApp: // Типа/идентификатор», как Deep Link

3) Добавлена ​​следующий пристальный фильтр для основной деятельности моего приложения:

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

Я также пробовал другие фильтры, как ответ Дэна here

4) кликнула по объявлению на моем канале FB ... на данном этапе, я получаю следующий LogCat, при использовании подписанного приложения (генерируется APK или загружается с игры):

11-19 16:06:57.540: INFO/ActivityManager(446): START u0 {act=android.intent.action.VIEW dat=market://details?id=br.com.myapp flg=0x10000000 cmp=com.android.vending/com.google.android.finsky.activities.LaunchUrlHandlerActivity (has extras)} from pid 14923 

Если я вхожу объявление с моим приложением с установленным на IDE (IntelliJ), чем я получаю ниже журнала:

11-19 16:10:30.845: INFO/ActivityManager(446): START u0 {act=android.intent.action.VIEW dat=market://details?id=br.com.myapp flg=0x10000000 cmp=com.android.vending/com.google.android.finsky.activities.LaunchUrlHandlerActivity (has extras)} from pid 14923 
11-19 16:10:31.055: DEBUG/Finsky(16198): [1] AppActionAnalyzer.<init>: br.com.myapp is installed but certificate mistmatch 
11-19 16:10:31.085: DEBUG/Finsky(16198): [1] DetailsDataBasedFragment.rebindViews: Page [class=DetailsFragment] loaded in [2947727 ms] (hasDetailsDataLoaded? false) 
11-19 16:10:31.185: DEBUG/Finsky(16198): [1] AppActionAnalyzer.<init>: br.com.myapp is installed but certificate mistmatch 
11-19 16:10:31.255: DEBUG/Finsky(16198): [1] DetailsDataBasedFragment.rebindViews: Page [class=DetailsFragment] loaded in [2947898 ms] (hasDetailsDataLoaded? true) 

В обоих сценариях, Google Play открывается вместо моего приложения. Похоже, что приложение FB отправляет Intent прямо на рынок, передавая идентификатор моего приложения, вместо того, чтобы следовать классу активности, указанному на панели приложений App. С установленным IDE APP выглядит так, что я ничего не могу получить от FB из-за проблем с сертификатами ...

Итак, что я делаю неправильно, что делает FB не отправлением Intent, адресованного моему приложению? И как я могу связать свой сертификат отладки с моим FB-приложением, избегая этой ошибки несоответствия сертификата? Заранее благодарим за помощь!

ответ

2

Пара вещей, чтобы попробовать.

Во-первых, вам нужно добавить больше вашего намерения фильтра, что-то вроде:

<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> 

Во-вторых, для IDE установленного приложения, необходимо сгенерировать ключ хэш для этого (с помощью отладки хранилищу ключей) , и добавьте это в свой список хэшей ключей на панели инструментов разработчика.

+0

Это отлично работает! Таким образом, проблема была с фильтром намерений в конце концов ... Я только что удалил категорию BROWSABLE, так как я не хочу, чтобы ссылки на браузеры имели такое поведение. Мое приложение по-прежнему запускается из объявления без этого ... Спасибо !!! –

0

Убедитесь, что поле Class Name в вашей консоли разработчика для разработчиков также содержит пространство имен. Поэтому не только MainActivity, используйте вместо этого com.domain.appname.MainActivity.

Дополнительная информация по этому (старым) документам page.

Смежные вопросы