2016-06-29 10 views
0

Ich habe einen tiefen Link, der funktioniert, wenn im Chrome-Browser meine App mit einer bestimmten ID zu öffnen. Dieser Link sieht wie folgt aus:Deep Linking href in pdf

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

dies funktioniert, wenn sie in einem Web-Browser über <a href="intent://...;end">click</a>.

Aber wenn diese Verknüpfung in einer PDF (über Aspose) gesetzt wird, tut dies nichts, obwohl es erkennt, dass es eine Verbindung ist (ich kann die Klick-Animation sehen).

Der Link wird über den folgenden Code gesetzt ::

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" 
}; 

Antwort

1

Nicht-Standard-URL-Schemas (was intent:// ist, buchstäblich) sind nicht immer als Links behandelt. Es klingt wie der PDF-Viewer, den Sie verwenden, ist nicht eingerichtet, um sie richtig zu erkennen, und selbst wenn, wäre der Link überall außer auf Android-Geräten gebrochen.

Ihre beste Option besteht darin, diese URL in einen Link zu verpacken, den der PDF-Viewer erkennen kann (http:// oder https://), und dann Ihre App später zu öffnen, normalerweise durch eine Art automatische Weiterleitung. So behandeln wir die Dinge unter Branch.io, um sicherzustellen, dass die App immer startet, egal wo die Verknüpfung geöffnet ist.

+0

Ja versaut ein bisschen herum, und wir änderten es zu einem http: // URL das ist nicht ideal (weil kein Fallback auf den Markt) – Kiwi

+0

Branch könnte tatsächlich helfen, da! Sie werden in die App eingebunden, wenn sie installiert ist, und auf den Play Store zurückgreifen, falls nicht. –