我想知道如何为我的应用测试一些深层链接。该功能已在我的应用程序中实现,并且运行良好。到目前为止,我一直在测试它的方式是创建我的 HTML 页面并将 URL 方案分配给按钮。我知道有一种方法可以从终端测试它们,但我忘记了命令是什么/我应该从哪里调用它。有人可以帮忙吗?
我正在尝试向我的应用程序添加深层链接,当我添加时:
<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) 我一直在研究深层链接的工作原理,但我仍然不确定它是否可以应用于我的案例。
我在苹果商店有一个应用程序。不同的人通过不同的路径(想象一下通过不同的特定网站)将被转发到 iTunes 页面以下载相同的应用程序。想象一下,用户在特定网站上看到一个链接,可以在 iTunes 上下载我的应用程序。我需要的是让用户通过网站上的链接下载应用程序,一旦应用程序首次启动,应用程序就知道用户来自哪个网站,以便我可以为特定用户自定义应用程序的外观. 基本上,我想使用在 iTunes 上打开应用程序下载页面的相同链接向应用程序发送一个参数(如网站地址)。
我想知道是否有人可以帮助我了解如何做到这一点,以及深层链接是否可以帮助解决这个问题。如果有一个特定的链接可以准确解释我正在寻找的内容,如果您能与我分享,我将非常感激。
我已经实现了到我的 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”得到了空值,我不知道为什么。
我正在开发一个 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 ”
我需要使用 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 中的“/”字符,我似乎无法正常工作。我应该如何编写CFBundleURLTypes和CFBundleURLSchemesURL 值以使其工作?
如何使用 swift 在 iOS 中添加深层链接(网址如https://www.example.com)。
如果我在其中输入 url,则 plist 中的方案不起作用。
我正在研究在推送通知中使用通用链接以深度链接到 iOS 应用程序。这样我就可以为 Web 提供面向未来的证明。许多示例和教程假设用户将从网站中选择一个通用链接,以深入链接到应用程序。我想在推送通知中使用通用链接而不是常规的 URL 架构方法。我已阅读 Apple 文档 https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
但是,我目前不清楚如果我只是使用通用链接通过推送通知打开应用程序,是否还需要设置所有配置,例如创建和上传 apple-app-site-association 文件到 Web 服务器的根目录。
这种在推送通知中使用通用链接到应用程序区域的深层链接的方法是否是推荐的方法,因为 Apple 似乎一般不鼓励使用 URL 架构,还是推送通知是一种特殊情况?
我想要什么:我想从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
我有一个需要 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
deep-linking ×10
android ×4
intentfilter ×3
ios ×3
applinks ×2
url-scheme ×2
firebase ×1
itunes ×1
java ×1
ndef ×1
nfc ×1
parameters ×1
swift ×1
xamarin.ios ×1