2016-06-29 7 views
0

У меня есть глубокая ссылка, которая работает, когда в браузере Chrome открывается мое приложение с определенным ID. Эта ссылка выглядит следующим образом:Глубокая ссылка href в pdf

intent://m/#Intent;scheme=myapp://app.com/reference/2016062910185811;package=some.package.com;end

это работает, когда в WebBrowser через <a href="intent://...;end">click</a>.

Но при настройке этой ссылки в формате PDF (через aspose) это ничего не делает, хотя оно распознает, что это ссылка (я вижу анимацию кликов).

Связь устанавливается с помощью следующего кода ::

var img = new Aspose.Pdf.Generator.Image(sec1); 
tr.Paragraphs.Add(img); 

//Assign a new instance of hyperlink to hyperlink property of segment 
img.Hyperlink = new Hyperlink { 
    LinkType = HyperlinkType.File, 
    Url = "intent://m/#Intent;scheme=myapp://app.com/reference/" + input.Reference + ";package=some.package.com;end" 
}; 

ответ

1

Нестандартные схемы URL (что intent:// есть, в буквальном смысле) не всегда рассматриваются как ссылки. Похоже, что программа просмотра PDF, которую вы используете, не настроена, чтобы распознавать их правильно, и даже если бы это было так, ссылка была бы сломана где угодно, кроме Android-устройств.

Ваш лучший вариант как-то обернуть этот URL в ссылку, что зритель может распознавать PDF (http:// или https://), а затем позаботиться об открытии приложение позже, как правило, путем какой-то автоматической переадресации. Так мы обрабатываем вещи в Branch.io, чтобы всегда запускать приложение независимо от того, где открывается ссылка.

+0

Я немного пошутил, и мы изменили его на http: // url, это не идеально (из-за отсутствия возврата на рынок) – Kiwi

+0

Ветвь действительно может помочь! Вы подключитесь в приложение, если оно будет установлено, и отступите в Play Store, если нет. –

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