Я реализовал глубокую ссылку в своем Android приложении для обмена контентом. Проблема в Android. Я не могу найти способ установить альтернативный URL, когда пользователь открывает короткую ссылку на своем рабочем столе. С Firebase DynamicLink.Builder я могу установить iOS запасной URL, потому что мое приложение не существует на iOS, но я не могу найти способ установить параметры dfl
в моей ссылке. Это привело пользователя к странице с ошибкой, подобной этой: ![enter image description here](https://i.stack.imgur.com/nNUzx.png)
Вот как я строю свою короткую ссылку c:
//link example : https://app.example.com/details/ebLvAV9fi9S7Pab0qR3a
String link = domainUri + "/details/" + object.getUid();
FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(link))
.setDomainUriPrefix(domainUri)
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().setMinimumVersion(1).build())
// Fallback Url for iOS
.setIosParameters(new DynamicLink.IosParameters.Builder("").setFallbackUrl(Uri.parse(RMP_WEB_BASE_URL)).build())
.setSocialMetaTagParameters(
new DynamicLink.SocialMetaTagParameters.Builder()
.setTitle(title)
.setDescription(description)
.setImageUrl(Uri.parse(imageUrl))
.build())
.buildShortDynamicLink()
.addOnCompleteListener(new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful() && task.getResult() != null) {
shortLink = task.getResult().getShortLink();
//Create Shareable Intent
//...
}
}
});
Я прочитал что мне нужно указать альтернативный URL-адрес рабочего стола, например iOS, но DynamicLink.Builder, похоже, не включает его. Я хотел бы перенаправить моего пользователя на домашнюю страницу https://example.com
, когда они открывают ссылку с устройства, отличного от android.
Я пытался использовать setLongLink(longLink)
в DynamicLink.Builder
с параметрами ?dfl=https://example.com
но, похоже, это не работает, и это даже разрывает мою динамическую c ссылку на android.
Спасибо за вашу помощь.