-1

Я запускаю рекламу компанию в facebook, и не могу получить deeplink, с помощью методов указанных в документации.

Только один из методов описанных в документации работает, но не один из них не работает как отложенный диплинк (через маркет)

Вот два метода, описанные в документации

AppLinkData.fetchDeferredAppLinkData(this, new AppLinkData.CompletionHandler() {
 @Override
 public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
 if (appLinkData!=null){
 Toast.makeText(getApplicationContext(),"appLinkData is "+appLinkData.getTargetUri().toString(),Toast.LENGTH_LONG).show();
 }else{
 Toast.makeText(getApplicationContext(),"appLinkData is null",Toast.LENGTH_LONG).show();
 }
 }
 });
 Uri targetUrl =
 AppLinks.getTargetUrlFromInboundIntent(this, getIntent());
 if (targetUrl.equals(null)) {
 Log.i("Activity", "App Link Target URL: " + targetUrl.toString());
 }

Первый метод возвращает всегда null, второй метод возвращает линк только когда приложение уже установлено, но через play market его не передает.

Andrew
17.9k11 золотых знаков28 серебряных знаков62 бронзовых знака
задан 17 янв. 2019 в 13:12
1
  • 1
    Пожалуйста, переведите ваш вопрос на русский язык или воспользуйтесь Stack Overflow на английском. И код нужно вставить текстом, а не скриншотом. Commented 17 янв. 2019 в 13:16

2 ответа 2

0

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

Так же могу сказать что для отслеживания диплинка достаточно подключить Facebook SDK и добавить метод onDeferredAppLinkDataFetched, больше ничего, даже в манифесте не надо прописывать intent-filter с scheme.

ответ дан 14 февр. 2019 в 10:17
0
 AppLinkData.fetchDeferredAppLinkData(this,getString(R.string.facebook_app_id),
 new AppLinkData.CompletionHandler() {
 @Override
 public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
 // Process app link data
 Log.d("TAG", "Deep link receive" + appLinkData);
 Uri targetUrl = AppLinks.getTargetUrl(getIntent());
 if (targetUrl != null) {
 Log.d("TAG", "oppppp" + targetUrl.toString());
 webView.post(new Runnable() {
 @Override
 public void run() {
 String url2 = url + "?sub1=google";
 webView.loadUrl(url2);
 }
 });
 }
 }
 }
 );
}
1

Ваш ответ

Черновик сохранён
Черновик удалён

Зарегистрируйтесь или войдите

Регистрация через Google
Регистрация через почту

Отправить без регистрации

Необходима, но никому не показывается

Отправить без регистрации

Необходима, но никому не показывается

Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.

Начните задавать вопросы и получать на них ответы

Найдите ответ на свой вопрос, задав его.

Задать вопрос

Изучите связанные вопросы

Посмотрите похожие вопросы с этими метками.