标签: deep-linking

来自终端 Android 的 URL Scheme/Deeplink 测试

我想知道如何为我的应用测试一些深层链接。该功能已在我的应用程序中实现,并且运行良好。到目前为止,我一直在测试它的方式是创建我的 HTML 页面并将 URL 方案分配给按钮。我知道有一种方法可以从终端测试它们,但我忘记了命令是什么/我应该从哪里调用它。有人可以帮忙吗?

android url-scheme deep-linking

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

将深层链接数据添加到 MainActivity 意图过滤器会删除设备中的图标

我正在尝试向我的应用程序添加深层链接,当我添加时:

<data android:scheme="http"
                android:host="www.example.com"
                android:pathPrefix="/gizmos" />
Run Code Online (Sandbox Code Playgroud)

对于我的 MainActivity 中的意图过滤器,编译后图标未安装在设备中。

这是清单上的活动部分:

    <activity
        android:name=".MainActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:windowSoftInputMode="adjustPan"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="http"
                android:host="www.example.com"
                android:pathPrefix="/gizmos" />

        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

android deep-linking intentfilter

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

如何安装ios应用程序并向其发送参数?

我一直在研究深层链接的工作原理,但我仍然不确定它是否可以应用于我的案例。

我在苹果商店有一个应用程序。不同的人通过不同的路径(想象一下通过不同的特定网站)将被转发到 iTunes 页面以下载相同的应用程序。想象一下,用户在特定网站上看到一个链接,可以在 iTunes 上下载我的应用程序。我需要的是让用户通过网站上的链接下载应用程序,一旦应用程序首次启动,应用程序就知道用户来自哪个网站,以便我可以为特定用户自定义应用程序的外观. 基本上,我想使用在 iTunes 上打开应用程序下载页面的相同链接向应用程序发送一个参数(如网站地址)。

我想知道是否有人可以帮助我了解如何做到这一点,以及深层链接是否可以帮助解决这个问题。如果有一个特定的链接可以准确解释我正在寻找的内容,如果您能与我分享,我将非常感激。

parameters itunes deep-linking ios applinks

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

来自深层链接的空查询参数

我已经实现了到我的 android 应用程序的深层链接,除了从 URL 获取查询参数外,一切正常。

我正在按照此链接中的说明获取参数。

网址如下所示:

myapp://path/want?a=123&b=345
Run Code Online (Sandbox Code Playgroud)

我正在做这样的事情:

深层链接:- myapp://path/want?a=first&b=second

Uri uri = getIntent().getData();
String valueOne = uri.getQueryParameter("a");
String valueTwo = uri.getQueryParameter("b");
Run Code Online (Sandbox Code Playgroud)

我得到了“valueOne”的正确值,但“valueTwo”得到了空值,我不知道为什么。

java android deep-linking

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

通过 NFC 标签深度链接到应用程序(特定活动)

我正在开发一个 Android 应用程序,它需要一个带有 NFC 标签的深层链接。

在这里你可以看到我的活动意图过滤器:

<activity
    android:name=".ui.schedule.ScheduleActivity"
    android:parentActivityName=".ui.home.HomeActivity">

    <intent-filter android:label="testDeepLink">
        <action android:name="android.intent.action.VIEW"/>

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

        <data
            android:scheme="http"
            android:host="www.testdeeplink.com"
            android:pathPrefix="/schedule"/>

    </intent-filter>

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

现在,当我在 adb 中启动此命令时,应用程序以正确的活动 (ScheduleActivity) 启动:

adb shell am start -W -a android.intent.action.VIEW -d "http://www.testdeeplink.com/schedule?stop_id=1" com.exmemple.android
Run Code Online (Sandbox Code Playgroud)

但是当我在 NFC 标签上对 URL 进行编码时,扫描该标签只会启动我手机的网络浏览器。使用 NFC 标签开始活动时我缺少什么?

标签上编码的 URL:“ http://www.testdeeplink.com/schedule?stop_id=1

android nfc deep-linking intentfilter ndef

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

深层链接 Xamarin iOS

我需要使用 Xamarin iOS 向我的应用程序添加深层链接功能。我的info.plist看起来像这样:

<key>CFBundleURLTypes</key>
<array>
<dict>
  <key>CFBundleURLSchemes</key>
  <array>
    <string>domine.somthing/index.html?UV</string>
  </array>
  <key>CFBundleURLTypes</key>
  <string>com.domine.somthing/index.html?UV</string>  
</dict>
Run Code Online (Sandbox Code Playgroud)

由于 URL 中的“/”字符,我似乎无法正常工作。我应该如何编写CFBundleURLTypesCFBundleURLSchemesURL 值以使其工作?

deep-linking xamarin.ios

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

如何在 iOS Swift 中添加 url 深层链接

如何使用 swift 在 iOS 中添加深层链接(网址如https://www.example.com)。

如果我在其中输入 url,则 plist 中的方案不起作用。

您可以查看附件中的 plist 屏幕截图。 在此处输入图片说明

deep-linking ios swift

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

在 iOS 上的推送通知中使用通用链接进行深层链接

我正在研究在推送通知中使用通用链接以深度链接到 iOS 应用程序。这样我就可以为 Web 提供面向未来的证明。许多示例和教程假设用户将从网站中选择一个通用链接,以深入链接到应用程序。我想在推送通知中使用通用链接而不是常规的 URL 架构方法。我已阅读 Apple 文档 https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html

但是,我目前不清楚如果我只是使用通用链接通过推送通知打开应用程序,是否还需要设置所有配置,例如创建和上传 apple-app-site-association 文件到 Web 服务器的根目录。

这种在推送通知中使用通用链接到应用程序区域的深层链接的方法是否是推荐的方法,因为 Apple 似乎一般不鼓励使用 URL 架构,还是推送通知是一种特殊情况?

deep-linking push-notification ios ios-universal-links

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

在应用程序处于后台/终止时处理推送通知 (FCM) - Android

我想要什么:我想从Firebase Console发送通知。当应用程序处于后台/终止状态并且用户点击推送通知时,它可以转到特定活动。我们称之为Current Offers Activity。当应用程序处于前台时,应该会发生同样的事情。

我的理解:firebase docs,当应用程序处于前台时,将从Firebase 控制台发送的推送通知将在类的onMessageReceived方法中接收MyFirebaseMessagingService。但是当应用程序在后台/终止时,不会调用类的onMessageReceived方法MyFirebaseMessagingService

我想要什么:当应用程序处于后台/终止和用户点击推送通知时,我想将用户重定向到特定活动(当前优惠活动)。

我试过这个答案,但我没有得到解决方案。

我的代码如下。

MyFirebaseMessagingService.java

    public class MyFirebaseMessagingService extends FirebaseMessagingService {

    private final String TAG = "mk";

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        Log.e(TAG, "Message Body: " + remoteMessage.getNotification().getBody());
    }
}
Run Code Online (Sandbox Code Playgroud)

MyFirebaseInstanceIDService.java

    public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {

    private final String TAG = "mk";

    @Override
    public void onTokenRefresh() …
Run Code Online (Sandbox Code Playgroud)

deep-linking android-intent android-activity firebase firebase-cloud-messaging

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

使用自定义 URL 方案通过浏览器启动 Xamarin Android 应用程序

程序

我有一个需要 URL 方案的跨平台 Xamarin 项目。要在 Xamarin Android 上启用此功能,我在AndroidManifest.xml文件中添加了以下代码,引用以启动自定义 android 应用程序帖子。

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="urlschemetest" android:host="testurl" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

urlschemetest://testurl直接在 Android 中的浏览器中键入将转到 Google 搜索,而不是启动应用程序。所以,我有一个简单的html页面,它有一个打开应用程序的超链接,test url scheme

<a href="urlschemetest://testurl">open app</a>
Run Code Online (Sandbox Code Playgroud)

问题

通过单击上面的超链接,该应用程序不会启动。Visual StudioUnhandled Exception在输出中显示错误

Java.Lang.RuntimeException:无法实例化活动 ComponentInfo{com.companyname.UrlSchemeTest/com.companyname.UrlSchemeTest.MainActivity}:java.lang.ClassNotFoundException:在路径上找不到类“com.companyname.UrlSchemeTest.MainActivity”: DexPathList[[zip 文件 "/data/app/com.companyname.UrlSchemeTest-1/base.apk"],nativeLibraryDirectories=[/data/app/com.companyname.UrlSchemeTest-1/lib/arm, /data/app/ com.companyname.UrlSchemeTest-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]

尝试的解决方案

1)我看了看属性AndroidManifest.xml,也许这是因为的属性不相匹配的命名空间中使用MainActivity.cs。所以我改变了它。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   android:versionCode="1" 
   android:versionName="1.0" 
   package="UrlSchemeTest.Droid" …
Run Code Online (Sandbox Code Playgroud)

url-scheme deep-linking intentfilter xamarin.android applinks

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