Articles of 深层链接

Android深度链接不遵循path前缀

我能find的最近的就是这个问题。 但它并不完全覆盖我所拥有的问题。 我在我的应用程序设置中使用/ app作为path前缀的深层链接。 我遇到的问题是像http://example.com/upgrade这样的链接也试图打开我的应用程序,即使它没有/应用程序中的任何地方的url。 我知道你不能排除由前缀指定的url,但不是path前缀的整个点,只包括那些url? 基本上我想要这样的链接深入链接: http://example.com/app/home http://example.com/app/specials 但不是像这样的链接: http://exaple.com/ http://example.com/login 这是我在我的清单中所具有的: <data android:scheme="http" android:host="example.com" android:pathPrefix="/app"/> 编辑1 也发现这个链接,但我没有任何空的前缀,只有一个斜线“/” 编辑2 触发它的url是http://example.com/upgrade.php?app=1&method=1&uid=1 ,我不确定后面的应用程序是什么? 也会触发它,所以我改变了前缀/应用程序,但也没有工作,它仍然触发它们。 编辑3 这里是清单中的其他深层链接数据标签: 简介活动 <data android:scheme="myapp" android:host="profile" android:pathPrefix="/"/> login/注册活动 <data android:scheme="myapp" android:host="login" android:pathPrefix="/signup"/> 主要活动 <data android:scheme="myapp" android:host="main" android:pathPrefix="/"/> <data android:scheme="http" android:host="test.example.com" android:pathPrefix="/app"/> <data android:scheme="http" android:host="live.example.com" android:pathPrefix="/app"/> 编辑4 这是变得越来越混乱,如果我删除数据标签与myapp作为scheme从活动(或者如果我从一切的前缀“/”删除pathPrefix)它不再触发深度链接从url,即使他们有/ app。

SetResult()返回到DEEP LINKING中的调用活动?

我在我的Android应用程序中实现DeepLinking。 假设我正在使用PhonePe进行付款,并使用其他应用程序select付款并select我的应用程序。 Intent intent = new Intent(). intent.setData("the data"); startactivityforresult(intent, 111); 然后用户select我的应用程序和我的启animation面,然后我去这样的其他活动 Intent i = new Intent(Splashscreen.this, FirstActivity.class); startactivity(i); finish(); 然后到这样的其他活动 – Intent i2 = new Intent(FirstActivity.this, SecondActivity.class); startactivity(i2); finish(); 而且在SecondActivity的一段时间之后,我把结果发送给调用活动或者这里的PhonePe – Intent backintent = new Intent(); backintent.putExtra("somekey", "somevalue"); setResult(Result.OK, backintent); 现在,当我的应用程序closures并返回到Phoneme Phonepe收到的数据为空。 但是,如果我与其他只有一个活动的应用程序做同样的事情,调用活动捕获的数据不是null,并且工作正常。 我想知道如何将数据发送callback用活动。 我能够发送数据,如果它只在相同的应用程序内 。 开始活动时是否需要使用其他标签?

NFC即时应用程序

我正试图通过NFC打开即时应用程序。 在我的AndroidManifest.xml中有类似下面的内容 <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <action android:name="android.nfc.action.NDEF_DISCOVERED" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" /> <data android:scheme="http" /> <data android:host="example-refresh.herokuapp.com" /> </intent-filter> 当从https://example-refresh.herokuapp.com (例如显然链接)链接点击即时应用程序正确加载。 当从nfc标签打开该链接时,浏览器会加载。 我试过也打开了一个AAR ( https://developer.android.com/guide/topics/connectivity/nfc/nfc.html#aar )这个结果在应用程序不安装和应用程序正确打开时从nfc安装。 如果我有其他的nfc,所以它显示消极的选项,那么我可以select即时应用程序的浏览器选项,但我希望它默认为即时应用程序。 有什么我缺less一个nfc标签加载即时应用程序? 我也试过使用分支,但没有运气。

Android深层链接只能在一些网站上使用

我在我的应用程序中使用应用程序索引,但有时它没有正确接收来自Chrome的意图。 如果我从我的制作网站打开链接,它会通过chrome打开。 所以我创build了一个具有相同代码的testing网站。 但是,在这种情况下,我的应用程序正确地打开深层链接。 我找不到任何解释,因为它使用相同的代码在networking(但在不同的网站)和相同的Android应用程序。 这是我的意图filter: <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:scheme="https" android:host="soriabus-web.appspot.com" android:pathPrefix="/" /> </intent-filter> 这是我的button中的HTML代码: <a href="https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/true" "type="button" role="button" class="btn btn-primary"> Abrir Soria Bus </a> 如果我在此地址(制作)中打开链接,则会打开Play商店(链接的末尾是redirect到Google Play): https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados 如果我打开其他地址(testing)的链接,它会打开我的应用程序correclty: https://central-splice-128620.appspot.com/parada/1/plaza-mariano-granados 我不明白为什么这些链接处理不同。 谢谢。 编辑: 是因为我在同一个网站里面有一个链接吗? https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados => https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/playstore

深度链接进入应用程序后的后退button不会回到它来自的位置

当从手机浏览器网站到Android应用程序的深层链接,然后我按下后退button,应用程序closures,没有什么在后台,而不是去移动浏览器的网站。 当我点击所有打开的应用程序的设备button,我看到浏览器仍然在内存中,所以我不认为浏览器被操作系统清理。 有人解决了这个问题吗? 请帮忙。

链接不是作为即时应用程序在某些设备中打开

我在Play商店发布了我的即时应用程序。 当我点击从Gmail的链接,它作为即时应用程序在一些设备中打开(三星s6注,moto g4加) 在某些设备中,它不起作用,但这些设备具有设置 – > Google->即时应用程序选项。 但即时应用程序不工作。 我的数字资产链接是https://abdcoop.mybuzztm.com/.well-known/assetlinks.json 任何人都可以build议我失踪? 我已经添加了我的日志。 I/Timeline: Timeline: Activity_launch_request time:74970969 I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=https://www.google.com/… pkg=com.android.chrome cmp=com.android.chrome/com.google.android.apps.chrome.Main (has extras)} from uid 10087 on display 0 D/WtProcessController: onAMCreateActivity callback D/ActivityTrigger: ActivityTrigger activityPauseTrigger E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only E/ActivityManager: Invalid thumbnail dimensions: 0x0 D/PowerManagerService: acquireWakeLockInternal: lock=176192276, flags=0x1, tag="*launch*", […]

创build移动应用程序的深层链接

我想为我的应用程序创build一个促销链接 – 我可以通过电子邮件分发。 当用户点击电子邮件中的链接时,网页会这样做: 确定哪个操作系统(iOS或Android) 如果应用程序安装在设备上 – 打开应用程序 否则 – 将用户带到AppStore(或)PlayStore(或)一个自定义URL。 我尝试使用AppLinks(applinks.org) – 但我无法得到它的工作。 浏览器如何理解“al:xx:xxx ..”标签? 它只适用于Facebook / Twitter吗? <html> <head> <meta property="al:ios:url" content="applinks://docs" /> <meta property="al:ios:app_store_id" content="12345" /> <meta property="al:ios:app_name" content="App Links" /> <meta property="al:android:url" content="applinks://docs" /> <meta property="al:android:app_name" content="App Links" /> <meta property="al:android:package" content="org.applinks" /> <meta property="al:web:url" content="http://applinks.org/documentation" /> </head> 我也尝试了一些来自另一个post的JavaScript – 但是如果应用程序没有安装浏览器显示错误: […]

在“深入链接”中使用“与”符号进行索引编制不起作用

我们正在尝试实施Google的App Indexingfunction。 我们用以下格式的rel-alternate标签添加了我们网站的深层链接: android-app://id.of.the.app/scheme/?screen=Product&product=123456 现在我们收到内容不匹配的抓取错误。 如果我使用QR码从这里进行testing,一切正常。 但是,如果我打开抓取错误,请点击“打开应用程序页面”,并使用adb命令进行testing,我可以看到从&开始的所有内容都不会传递给应用程序,因此无法加载我的产品数据。 我怀疑这是如何检索应用程序的内容,这就是为什么我们得到内容不匹配的错误。 另外,如果我使用Search Console中的“Google抓取方式”,则看起来像“&”号的所有内容都会被截断。 我检查了易趣,因为它正在与他们的应用程序,这就是他们正在使用的链接: android-app://com.ebay.mobile/ebay/link/?nav=item.view&amp;id=221559043026&amp;referrer=http%3A%2F%2Frover.ebay.com%2Froverns%2F1%2F711-13271-9788-0%3Fmpcl%3Dhttp%253A%252F%252Fwww.ebay.com%252Fitm%252FRoxy-Fairness-Backpack-Womens-Red-RPM6-%252F221559043026%253Fpt%253DLH_DefaultDomain_0 他们用&amp; 但如果我这样做,并使用“Google抓取”function进行testing,它也不起作用。 这些用户似乎有同样的问题,但他们不共享解决scheme(如果他们find了一个): https://productforums.google.com/forum/#!msg/webmasters/5r7KdetlECY/enYknTVkYU4J https://productforums.google.com/forum/#!topic/webmasters/lswyXKlS-Ik 我很感激任何想法。 更新1 这就是我正在解释Android应用程序内的深层链接: Uri data = getIntent().getData(); String scheme = data.getScheme(); if (scheme.equals("scheme")) { String screen = data.getQueryParameter("screen"); if (screen.equals("Product")) { String product = data.getQueryParameter("product"); // Open Product and give it product number as intent data } } […]

Deep Link后退

我将张贴链接到Facebook和Twitter深入链接到我的应用程序。 我已经开始使用Facebook进行testing,只要安装了Facebook应用程序,我的链接就可以正常工作。 如果他们没有安装Facebook应用程序,他们只会被带到我的网站。 如果用户没有安装Facebook应用程序,或者更一般地点击了我的应用程序的链接,我总是希望他们发送到我的应用程序,那么处理回退的最佳做法是什么?

Android深度链接 – 后退堆栈

我正试图在我的Android应用程序中实现深层链接。 我一直在遵循这个指南 。 我有一个从Android清单中启动并意图过滤的Android活动: <activity android:name=".MyActivity" android:parentActivityName=".MainActivity" > <intent-filter android:label="@string/filter_title_deep_link"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="com.example" /> </intent-filter> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> </activity> 我从adb产生这个意图: adb shell am start -W -a android.intent.action.VIEW -d "com.example://test" com.example 正在使用正确的意图数据创build活动并按预期运行。 但是,按下后退button,应用程序退出。 我期待的是使用MainActivity构buildback栈,正如Android清单中的parentActivityName所指定的parentActivityName 。 显然情况并非如此。 在这种情况下,如何将父级活动添加到后退堆栈? 我想知道是否可以使用如通知的上下文中所示的TaskStackBuilder ,但不知道如何工作。 也许我应该有一个中间的活动来构build主要的活动,使用像这样的东西: TaskStackBuilder.create(this) .addParentStack(MyActivity.class) .addNextIntent(new Intent(this, MyActivity.class)) .startActivities(); ?