标签: deep-linking

深层链接和Google Analytics

我在使用Google Analytics(分析)将深层链接作为单独的页面时遇到了一些麻烦.

该站点使用JQuery来处理选项卡和深层链接.以此页面为例:http: //www.albanyservices.com/compliance/#/ic_compliance/

"#"后面的URL部分是指页面中的特定选项卡.选择新选项卡时会更新此选项.

目前,Google Analytics不会将每个标签视为网站中的单独页面.由于它们都包含单个内容并且直接链接到整个网站,因此我需要找到一种方法让Google Analytics将每个"#"更改视为单独的页面.

任何帮助将非常感激.提前致谢.

google-analytics deep-linking

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

通过Android中的深层链接向意图传递额外的值

为了myapp://wallet指向WalletActivity我写了下面的代码,它起作用了:

    <activity
        android:name=".ui.WalletActivity"
        android:label="@string/title_activity_wallet"
        android:screenOrientation="portrait"
        android:theme="@style/MaterialThemeNoActionBar"
        android:launchMode="singleTop"
        android:exported="true">
        <intent-filter android:label="@string/title_activity_link_wallet" >
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data
                android:scheme="myapp"
                android:host="wallet" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

我为此做了类似的事情,UserProfileActivity但是(显然)onCreate该行中的函数崩溃了:String id = intent.getExtras().getString("id");因为我没有id为该活动的意图发送任何值。

因此,在这种情况下,有没有办法让我将ID传递给被调用活动的意图,在正常情况下,我会intent.putExtra("id", id);在调用活动中使用该方法(intent被调用活动在哪里)

android deep-linking android-intent

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

与branch.io上的变量查询的深层链接

我们正在考虑将branch.io用于我们应用的社交分享方面.我也想知道我是否可以将它用于密码重置流程.这是为了解决像gmail这样的电子邮件客户端剥离自定义应用程序的事实:

frock//:foo.com/reset-pw
Run Code Online (Sandbox Code Playgroud)

在任何链接:https://github.com/EddyVerbruggen/Custom-URL-scheme/issues/123.

所以我正在考虑使用branch.io发送一个到密码恢复屏幕的链接,我想知道是否必须为每个用户创建一个branch.io链接,或者我是否可以创建一个链接调用它/ reset-pw然后传递一个变量查询参数,如下所示:

 /reset-pw?token=foo
Run Code Online (Sandbox Code Playgroud)

或者每个网址加查询组合是否要求我注册带分支的链接.

deep-linking branch.io

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

有没有办法检测Javascript上的(Android\iOS)设备上是否安装了特定的应用程序?

我想在Safari(iOS)或Chrome(Android)上运行JS代码来检测,例如,如果在设备上安装了WhatsApp.

我玩过:

如何检查iPhone上的网页是否安装了应用程序?

https://github.com/hampusohlsson/browser-deeplink

但问题是如果应用程序安装在设备上 - 浏览器会重定向到应用程序.我希望在"检测阶段"之后留在页面上,是否有可能做到?

javascript android deep-linking ios

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

无法查询存储在Firebase动态/深层链接中的参数

我正在手动创建Firebase动态/深层链接,如下所示:

Uri BASE_URI = Uri.parse("http://example.com/");
String packageName = getBaseContext().getPackageName();
Uri APP_URI = BASE_URI.buildUpon().path(requestID.getText().toString().trim()+"%3DrequestID="+requestID.getText().toString().trim()+"%3Dextra1="+extra1.getText().toString().trim()+"%3Dextra2="+extra2.getText().toString().trim()).build();
String encodedUri = URLEncoder.encode(APP_URI.toString(), "UTF-8");
Uri deepLink = Uri.parse("https://appcode.app.goo.gl/?link="+encodedUri+"&apn="+packageName+"&amv="+16+"&ad="+0);
Run Code Online (Sandbox Code Playgroud)

然后我与另一个用户分享它,他正在接收这个链接:http://example.com/-KcP1YHgGsg3tVYybX8b%253DrequestID%3D-KcP1YHgGsg3tVYybX8b%253Dextra1%3Dtext1%253Dextra2%3D3%253Dtext2.

然后使用以下代码我试图从这里获取查询参数(链接中的额外参数):

    boolean autoLaunchDeepLink = false;
            AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autoLaunchDeepLink)
                    .setResultCallback(
                            new ResultCallback<AppInviteInvitationResult>() {
                                @Override
                                public void onResult(@NonNull AppInviteInvitationResult result) {
                                    if (result.getStatus().isSuccess()) {
                                        // Extract deep link from Intent
                                        Intent intent = result.getInvitationIntent();
                                        final String deepLink = AppInviteReferral.getDeepLink(intent);
                                        Log.d("deepLinkMainActivity", deepLink);

                                        Uri uri = Uri.parse(deepLink);
                                        String requestId = uri.getQueryParameter("requestID");
                                        Log.d("requestId123", requestId);
                                } else {
                                    Log.d("getInvitation", "getInvitation: no …
Run Code Online (Sandbox Code Playgroud)

android uri deep-linking firebase firebase-dynamic-links

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

如何在深度链接中提供意图数据

我已经更新了清单文件以支持深度链接。我已经从运行(编辑配置)中检查了它,它打开了指定的活动。

现在,我需要使用深层链接发送一些数据。那么应该怎么做呢。我添加了另一个数据属性,但是我不明白如何以相同的键/值方式在活动中获取数据。

我在活动中得到这样的意图

   Intent intent = getIntent();
    String action = intent.getAction();
    Uri data = intent.getData();
Run Code Online (Sandbox Code Playgroud)

intent.getData()的值= myapp:// videodeeplink

我已经阅读了一些有关此的文章和教程,但是我却无法获得。请指导我如何放置和获取深层链接中的一些数据。

myapp:// videodeeplink

<activity
    android:name=".VideosListActivity"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme" >

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="myapp" android:host="videodeeplink"/>
        <data android:scheme="videoURL" android:host="videoURL"/>
    </intent-filter>


</activity>
Run Code Online (Sandbox Code Playgroud)

performance android deep-linking android-layout android-fragments

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

如何从我的网站创建Apple Wallet应用程序的深层链接?

我想在我的移动网站上有一个链接,一旦点击iOS设备,它就会打开Apple Wallet应用程序.

我知道在我建立的应用程序中有关于这个主题的一些问题,但由于这不是这种情况,我不确定什么是正确的方法.我也知道Brnach.io,但同样,我认为这个解决方案适用于我拥有的应用程序,而且我不确定如何为Apple(或其他第三方开发者)创建的应用程序实现它,特别是Apple电子钱包(例如:我如何获取应用ID?).

我知道Universal Links也可能是一个选项,但我读过我不能使用自动重定向(我也需要这样做)

iphone deep-linking ios wallet

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

Digital Asset Link已由Android Studio验证,但未通过Google Play控制台

我尝试将我的Android即时应用发布到Google Play; 我链接了应用程序,该应用程序已命名helloinstantapp.instantapp.examples.chrisyttang.org为域https://csytang.github.io.
它已经过Android Studio验证在此输入图像描述 正如您在下图中看到的那样;

但是,当我尝试使用Google Play控制台将我的应用发布到Google Play时,我收到的错误是"该网站csytang.github.io尚未通过DAL协议链接到您的应用".为什么会这样?

在此输入图像描述

android deep-linking android-studio android-instant-apps android-studio-3.0

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

当网站由多个应用处理时,如何创建assetlinks.json

为了将我的应用程序链接到网页,需要定义如下的assetlink.json。

[{
"relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "package name",
    "sha256_cert_fingerprints":
    [key]
  }
}]
Run Code Online (Sandbox Code Playgroud)

我的网站有许多模块,例如新闻网站中的示例,其中有独立的部分,如新闻,汽车评论,小工具评论,星座/天文学,烹饪,直播电视等。在这种情况下,新闻门户网站的每个模块都有android应用单独的android应用,而所有模块都在单个域下。那么我们如何定义我们的assetlink.json

android json deep-linking applinks

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

iOS 12.1.2 branch.io Universal Links打开应用程序,但没有数据

我正在尝试通过branch.io为iOS应用(Swift 4.2)实现深层链接。我已经完全按照分支文档中的概述集成了iOS SDK。为了测试集成,我运行了branch.io通用链接验证脚本,并成功通过了该脚本。

通用链接不起作用的方法: 单击“注释”或“消息”中的深层链接会打开应用程序,但不会传递任何数据。在查看调试日志时,Branch报告的网址为完全空白(example.app.link?%24identity_id=611647344982868361)而不是(example.app.link/hj86HlvvMk2?%24identity_id=611647344982868361)。这与不使用深层链接手动打开应用程序相同。通过延迟的深层链接功能也无法获得任何数据。

使用URI方案而不是通用链接: 如果我通过branch.io链接设置仪表板关闭了通用链接,则所有URL在浏览器中打开,而没有任何提示打开应用程序。但是,当我手动打开应用程序时,深度链接数据在启动时就可用(通过延迟链接功能)。

其他尝试:添加$uri_redirect_mode: 2到链接数据以强制应用打开并没有真正改变任何东西。唯一不同的是,对于URI方案,它在重定向到之前在Safari中显示错误$fallback_url。我还尝试过重新安装应用程序,清除Safari缓存和cookie,但未成功。

我还要提到,深层链接本身应该没有任何问题。在Android上,相同的深层链接可以完美运行。

两种方法都无法使用立即可用的Deeplink数据打开应用程序。还有其他选择可以使这项工作吗?

更新:URI和通用链接是单独的问题。我们通过仔细检查URI方案来使URI正常工作(这是不正确的)。对于通用链接,Swift 4.2的Branch文档中可能会存在一些错误。请参阅我的答案以寻求解决方案。

更新2019-02-05:分支文档已更新为Swift 4.2。一切都很好。

deep-linking ios branch.io ios-universal-links swift4.2

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