Динамические ссылки Firebase, созданные динамически, не работают Android

Недавно я вручную создал динамическую ссылку из Firebase Console. При нажатии на короткие \ длинные ссылки из консоли Firebase на устройстве Android ссылки работают нормально.

У меня 2 проблемы. Когда я создаю динамическую ссылку с помощью REST API, здесь:

  1. Короткая ссылка не сохраняется в консоли.
  2. Приложение Android не открывает ссылку независимо от того, как я настраиваю схему URL-адресов в манифесте.

Мои шаги по созданию динамических ссылок с помощью REST:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=MY_API_KEY
Content-Type: application/json

{
   "longDynamicLink": "https://r8prz.app.goo.gl/?link=http://www.socialTanya.co.il/group/groupId&apn=com.ssa.socialtanya&ibi=com.ssa.socialtanya"
}

Ответ:

{
"shortLink": "https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33",
"previewLink": "https://r8prz.app.goo.gl/?link=http://www.socialTanya.co.il/group/itzhar&apn=com.ssa.socialtanya&ibi=com.ssa.socialtanya&d=1"
}

При нажатии на https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33 я вижу диалог загрузки в течение нескольких секунд, а затем браузер открывается с ошибкой «страница не найдена».

manifest.xml:

<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:host="www.socialTanya.co.il"
           android:pathPrefix="/group/"
           android:scheme="http"/>

       <data
           android:host="www.socialTanya.co.il"
           android:pathPrefix="/group/"
           android:scheme="https"/>

</intent-filter>

Рабочие ссылки из консоли:

  1. https://r8prz.app.goo.gl/qL6j
  2. https://r8prz.app.goo.gl/?link=http://www.socialTanya.co.il/group&apn=com.ssa.socialtanya&sd=%D7%94%D7%A6%D7%98%D7%A8%D7%A3+%D7%9C%D7%9C%D7%99%D7%9E%D7%95%D7%93+%D7%AA%D7%A0%D7%99%D7%90+%D7%9E%D7%A9%D7%95%D7%AA%D7%A3

person itzhar    schedule 16.01.2017    source источник


Ответы (1)


Хорошо, через некоторое время я обнаружил, что проблема была полностью в JAVA:

когда я отправляю динамическую ссылку с Android, я связываю некоторый текст с String.format():

String shareLink = String.format("%s - %s\n%s","to join group","GROUP_NAME","https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33");

Ссылка битая, потому что верхний тире:

введите здесь описание изображения

введите здесь описание изображения

и когда я нажимаю ссылку с мобильного телефона, я замечаю, что базовый URL-адрес изменился на:

https://r8prz.app-alt.goo.gl

app-alt  введите описание изображения здесь мне кажется, когда идентификатор динамической ссылки не существует, базовый URL становится app-alt.

Итак, мое решение заключалось в том, чтобы связать ссылку общего доступа с настраиваемой строкой 'Handmade':

String shareLink = "to join group" + "GROUP_NAME" + "https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33";
person itzhar    schedule 19.01.2017
comment
У меня такая же проблема, но я не понимаю, как изменить фактический URL-адрес глубокой ссылки? - person Anant Shah; 05.07.2017
comment
постарайтесь точно описать, какой URL - person itzhar; 05.07.2017
comment
кажется, вы создаете этот URL-адрес из консоли, а не из REST. работает для меня на компьютере и устройстве Android - person itzhar; 05.07.2017
comment
Да, создается с консоли, не используя rest, так что мы должны создавать, используя только rest? не можем ли мы создать с помощью консоли? он не открывает приложение, даже если оно установлено. Я добавил специальные параметры в ссылку на контент. без параметров работают правильно - person Anant Shah; 05.07.2017