标签: dynamic-links

Android webview:像浏览器一样下载文件

我正在开发一个Android应用程序,其webview指向另一个团队的动态网站.
当我下载一个文件(主要是动态重定向的 PDF和ZIP)时,我得到的是下载文件夹中的一个文件,其中包含一些HTML代码,其中包含"用户不允许读取文件"的消息,无论我如何实现下载,我尝试:

  1. 下载管理器
  2. 意图(让外部浏览器管理下载)
  3. "手工"(AsyncTask和httpconnection ......)

都具有相同的结果.

使用普通浏览器导航下载工作正常,无论是在台式PC,Android还是iOS设备上.

为什么webview不能访问文件?

可能是一个会话问题?http端口?
我真的需要一些想法...

另一个提示:当从同一个链接下载两个文件时,链接将重定向到同一个文件,但会产生两个不同的文件名...


编辑:而不是将webView指向web-app ,我试图指向一个带链接重定向的常见网页下载另一个文件,好吧,只是它的工作原理.


以下是webview.setDownloadListener - onDownloadStart()参数:

 userAgent=Mozilla/5.0 (Linux; Android 4.4.2; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36

 contentDisposition=attachment;
 filename=correct_filename.pdf,      
 url=http://www.xxx.xx/site/downloadfile.wplus?REDIRECTFILE=D-507497120&ID_COUNTOBJ=ce_5_home&TYPEOBJ=CExFILE&LN=2

 mimeType=application/octet-stream
Run Code Online (Sandbox Code Playgroud)

这是一些代码

    wv.getSettings().setSupportMultipleWindows(true);
    wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    wv.getSettings().setAllowFileAccess(true);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setBuiltInZoomControls(true);
    wv.getSettings().setDisplayZoomControls(false);
    wv.getSettings().setLoadWithOverviewMode(true);
    wv.getSettings().setUseWideViewPort(true);
    wv.setDownloadListener(new DownloadListener() {
        @Override           
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength){ 
            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

            request.setDescription("Download file...");
            request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimetype));
            request.allowScanningByMediaScanner();
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); …
Run Code Online (Sandbox Code Playgroud)

permissions android dynamic-links download webview

16
推荐指数
2
解决办法
4万
查看次数

如何编辑 Firebase DynamicLinks 404(未找到动态链接)页面?

我正在使用 Firebase DynamicLinks 并想知道是否有办法编辑用户打开无效或已删除链接时出现的页面?

我试图在 Firebase 托管的公共文件夹中提供 404.html,但没有按预期工作。

我想编辑这张图片中出现的内容

dynamic-links firebase firebase-hosting firebase-dynamic-links

12
推荐指数
1
解决办法
886
查看次数

使用jquery或JS如何将字符串转换为链接?

所以我有一段看起来像这样的HTML ......

<p>This is some copy. In this copy is the word hello</p>
Run Code Online (Sandbox Code Playgroud)

我想使用jquery将单词hello转换为链接.

<p>This is some copy. In this copy is the word <a href="">hello</a></p>
Run Code Online (Sandbox Code Playgroud)

这本身并不太难.我的问题是,如果这个词已经是一个链接,如下面的例子...

<p>In this copy is the <a href="">word hello</a></p>
Run Code Online (Sandbox Code Playgroud)

我不希望最终在链接中找到链接...

<p>In this copy is the <a href="">word <a href="">hello</a></a></p>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

jquery dynamic-links

7
推荐指数
1
解决办法
2619
查看次数

如何在不从 Playstore 下载应用程序的情况下测试 Firebase 延迟深度链接?

我已经在应用程序的启动屏幕上实现了firebase延迟deeplink和检索数据。firebase deeplink当应用程序已安装在设备中时,它可以正常工作。我想测试共享链接且应用程序未安装在设备上而无需从 Playstore 下载的情况,因为 ply 商店应用程序没有接收代码。我尝试通过单击链接来模拟下载,它需要进入 Playstore 应用程序页面,然后从其他地方下载并打开它。但是,我没有得到任何数据firebase PendingDynamicLinkData。奇怪的是我也没有收到任何回调getDynamicLink。但是,如果我单击链接并且应用程序已安装,则一切正常。

我的问题是如何测试设备上未安装应用程序的情况,然后检索动态链接的数据。

下面是我在启动屏幕中检索数据的代码

FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent()).addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {

            @Override
            public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                Log.d("firebase deeplink", "onSuccess");
                // Get deep link from result (may be null if no link is found)
                Uri deepLink = null;
                if (pendingDynamicLinkData != null) {
                    deepLink = pendingDynamicLinkData.getLink();
                    mInterceptedData = deepLink;
                    Log.d("firebase deeplink", "onSuccess" + deepLink);
                }
            }
        }).addOnFailureListener(this, new OnFailureListener() {

            @Override
            public void onFailure(@NonNull Exception e) …
Run Code Online (Sandbox Code Playgroud)

android dynamic-links firebase firebase-dynamic-links

6
推荐指数
0
解决办法
1505
查看次数

android firebase动态链接PendingDynamicLinkData直接通过app为空

问题:为什么以编程方式创建的“短动态链接”不会直接打开/启动应用程序?

我想在用户单击由 android 应用程序动态创建的动态 url 时直接启动应用程序。

单击由 android 应用程序动态创建的动态短链接时,会发生以下情况,

1.Option 显示两个选项,一个是通过 chrome 另一个是通过 app

2.如果我选择 chrome 选项,浏览器将打开,显示一个加载对话框并使用 PendingDynamicLinkData 数据启动应用程序

3.但如果我选择应用程序选项,应用程序启动应用程序但 PendingDynamicLinkData 丢失或为空。

任何帮助都会很棒。我的清单设置如下

  <intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:host="myapp.page.link" android:scheme="http"/>
    <data android:host="myapp.page.link" android:scheme="https"/>
  </intent-filter>
Run Code Online (Sandbox Code Playgroud)

android dynamic-links firebase deeplink firebase-dynamic-links

6
推荐指数
1
解决办法
2928
查看次数

Firebase 动态链接 ofl 参数不起作用

我正在使用py-firebase-dynamic-links创建短动态链接,我们可以在其中设置此处提供的参数。desktopFallbackLink但是, REST API 上没有可使用的参数。

我需要设置一个在桌面上打开的链接。我现在想做的是手动创建动态链接(以便能够设置参数ofl)并仅使用 REST API 生成短链接(请求负载仅包含而不包含longDynamicLink参数)

但我可能以错误的方式构建 url。

目前该网址如下所示:

{DYNAMIC_LINK}/?link=http.examplelink.com/confirm-account?uuid={uuid}&token={token}/&apn={package_name}&ibi={bundle_id}&ofl={desktop_link}"
Run Code Online (Sandbox Code Playgroud)

示例: https:// my_subdomain .page.link/?link= my_deep_link?uuid={uuid}&token={token} &apn= package_name &ibi= bundle_id &aofl= Desktop_link

现在生成的链接在 iOS 和 Android 上都会打开正确的屏幕(但我不确定 uuid 和 token 参数是否正确传递,因为我还没有测试)。

但在桌面上它不会打开 ofl 参数指定的链接。而且它只显示url路径上的uuid,甚至连token参数都没有正确传递。

我尝试对 url 进行编码,但没有什么区别。

有谁知道错误出在哪里或者如何正确设置 ofl 参数?

编辑:

我现在有:https://my_subdomain.page.link/ ? link= my_encoded_deep_link &apn= package_name &ibi= bundle_id &afl= encoded_desktop_link &d=1

当 d=1 时,我可以看到目标 urlencoded_desktop_link 是不允许的。不允许的网址是什么意思?

dynamic-links firebase-dynamic-links

6
推荐指数
1
解决办法
1001
查看次数

在用户通过firebase动态链接安装应用程序并在应用程序抽屉上打开应用程序后,如何获得深层链接?

我正在使用firebase动态链接邀请朋友加入我的应用.一切都很好.点击邀请链接将我带到Playstore.当我安装应用程序并等到它完成后,Playstore会向我显示"继续"按钮.当我点击此按钮时,应用程序会打开,我会收到跟踪邀请的深层链接.

但是当我安装应用程序时,关闭Playstore并通过应用程序抽屉打开应用程序我没有收到深层链接.

这是预期的行为吗?

我的问题是,我正在寻找仅在第一个应用程序启动时的邀请链接.因此,当用户通过邀请链接安装我的应用程序但不使用playstore继续按钮打开它时,永远不会跟踪邀请.

谢谢您的帮助.

android dynamic-links invite firebase firebase-dynamic-links

5
推荐指数
0
解决办法
590
查看次数

当用户导航到 appStore 并首次下载时,DynamicLink 深层链接 url 为零

我尝试在 Firebase 控制台创建动态链接,以导航用户在 appStore 下载我的应用程序,当他们第一次启动应用程序时,我不断获取带有 nil url 的 DynamicLink 对象。

 func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

      if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
            //  dynamicLink url is nil 
      }
}
Run Code Online (Sandbox Code Playgroud)
<FIRDynamicLink: 0x281ad2a40, url [(null)], match type: none, minimumAppVersion: N/A, match message: (null)>
Run Code Online (Sandbox Code Playgroud)

网址是

MyAppSchema://google/link/?dismiss=1&is_weak_match=1
Run Code Online (Sandbox Code Playgroud)

当我进行诊断时我得到了这个


---- Firebase Dynamic Links diagnostic output start ----
Firebase Dynamic Links framework version 3.0.1
System information: OS iOS, OS version 12.1.4, model iPhone
Current date …
Run Code Online (Sandbox Code Playgroud)

dynamic-links firebase firebase-dynamic-links

5
推荐指数
1
解决办法
2524
查看次数

ASP.NET MVC:获取小写链接(而不是Camel Case)

我所有动态生成的动作链接等都在创建像/ A ccount/S etup 这样的链接.看起来很奇怪.

我希望我的所有链接都是小写的(意思是/帐户/设置).有什么办法吗?

.net c# asp.net-mvc dynamic-links

3
推荐指数
1
解决办法
3067
查看次数

有没有办法让普通链接通过ajax自动加载,而不是正常?

我没有解释清楚.

但我的意思是,如果我有一个ajax脚本通过函数'loadpage('whatever.php')加载DIV元素中页面的内容,而不是手动对所有链接执行此操作,是有一种方法可以让脚本自动使所有常规链接通过该ajax函数加载吗?

就像在Facebook上一样,您的个人资料通过ajax加载,但如果您查看他们的代码,他们只需要定期链接到个人资料.

干杯!

ajax loading dynamic dynamic-links hyperlink

3
推荐指数
1
解决办法
2461
查看次数

为什么以编程方式创建的动态链接未列在 Firebase 控制台的“动态链接”中?

当我从 Firebase 控制台手动创建动态链接时,它会在“动态链接”部分中列出,但是当以编程方式创建链接时,它不会在 Firebase 控制台的“动态链接”部分中列出。

这些以编程方式创建的链接可以正常工作,但未列出。

Firebase 控制台中动态链接部分的屏幕截图

我已关注此博客以在我的 Flutter 应用程序中设置动态链接。链接:https ://www.filledstacks.com/post/dynamic-links-in-flutter-a-complete-guide/

dynamic-links deep-linking firebase flutter firebase-dynamic-links

3
推荐指数
1
解决办法
1070
查看次数

Flutter - 当应用程序处于终止模式时,Firebase 动态链接无法工作

我在 Flutter 应用程序中集成了 Firebase Dynamic 链接,以打开应用程序用户并将其导航到应用程序中的特定屏幕。

首先,我在 pubspec.yaml 文件中添加了以下插件:

firebase_dynamic_links: ^5.0.5
Run Code Online (Sandbox Code Playgroud)

然后,我创建了一个单独的类来处理相关的内容,如下所示:

  class DynamicLinkService {
  late BuildContext context;

  FirebaseDynamicLinks dynamicLinks = FirebaseDynamicLinks.instance;

  Future<void> initDynamicLinks(BuildContext context) async {
    this.context = context;
    dynamicLinks.onLink.listen((dynamicLinkData) {
      var dynamicLink=dynamicLinkData.link.toString();
      if (dynamicLink.isNotEmpty &&
          dynamicLink.startsWith(ApiConstants.baseUrl) &&
          dynamicLink.contains("?")) {
          //Getting data here and navigating...
          ...
          ...
          ...
      } 
    }).onError((error) {
      print("This is error >>> "+error.message);
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,我在我的主屏幕中初始化深层链接,如下所示:

final DynamicLinkService _dynamicLinkService = DynamicLinkService();
Run Code Online (Sandbox Code Playgroud)

然后调用下面的方法initState()

  @override
  void initState() {
    SchedulerBinding.instance.addPostFrameCallback((_) async {
      await _dynamicLinkService.initDynamicLinks(context);
    });
  }
Run Code Online (Sandbox Code Playgroud)

这就像一个魅力! …

dynamic-links dart firebase flutter firebase-dynamic-links

2
推荐指数
1
解决办法
2279
查看次数