标签: applinks

apple-app-site-association 文件不是从服务器获取而是缓存在苹果?

我们的通用链接已经运行很长时间了。今天我添加了 AASA 文件的路径(我们称之为 sub2)。即使重新安装后,该应用程序也无法识别该路径。

\n

当我调试时,我注意到 applinks 服务正在获取文件,但请求没有进入我们的服务器。该服务确实获取了旧的 AASA 文件,因此苹果的 CDN 似乎正在缓存该文件

\n

调试:

\n

ios applinks branch.io ios-universal-links apple-app-site-associate

56
推荐指数
1
解决办法
1万
查看次数

应用程序链接无法在Android上运行

我的应用程序定义了意图过滤器来处理来自我的网站定义的URL

<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="www.host.com" android:scheme="http"/>
</intent-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:host="www.host.com" android:scheme="https"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

该应用程序正确检测正确主机的URL,但查询用户是否在应用程序或浏览器中打开它们.我尝试使用此处指定的应用链接验证.https://developer.android.com/training/app-links/index.html

如我的服务器日志中所示,安装后,应用程序设备会查询/well-known/assetlinks.json,并以200状态响应.使用.测试数字资产文件

https:// digitalassetlinks.googleapis.com/v1/statements:list?source.web.site= https:// <domain1>:<port>&relation = delegate_permission/common.handle_all_urls

API并没有发现任何错误.

使用了获得assetlinks.json文件中的SHA256

keytool -list -v -keystore my-release-key.keystore 
Run Code Online (Sandbox Code Playgroud)

应用程序签名的.keystore.

运行https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://<domain1>:<port>&relation=delegate_permission/common.handle_all_urls返回链接验证状态为"ask",表示验证失败.为什么验证会失败?

android applinks android-6.0-marshmallow

35
推荐指数
6
解决办法
8675
查看次数

无法让新的AppLink在iOS或Android上运行

最新更新下面的更新#5

我正在尝试为我的iOS和Android应用程序实现AppLinks:http://applinks.org

我做了以下事情:

  1. 为我的应用设置自定义网址方案:inacho://
  2. 我的App代表中的设置: - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
  3. 将meta标签添加到我的网站http://www.nachorater.com:

<meta property="al:ios:app_store_id" content="581815579"/>
<meta property="al:ios:app_name" content="iNacho" />
<meta property="al:ios:url" content="inacho://default" />
Run Code Online (Sandbox Code Playgroud)

我已经通过输入类似inacho:// default的链接并点击它创建的链接来验证网址方案是否有效.WA-LA!它打开我的应用程序.

但是,当我尝试从Facebook或Quip点击链接到www.nachorater.com时,这两个应用程序都没有自动通知该网站设置了这些应用程序链接,它只是在浏览器中加载网站而不是尝试打开我的应用程序.

有人有这个工作吗?

更新:

我有一个问题,一些元标记不在我的模板的<head>部分,我修复它.

现在来自iOS Facebook应用程序的链接:http://www.nachorater.com添加了一个漂亮的小弹出窗口,可以让你打开iNacho应用程序中的URL,如下所示:

截图

但我的动态评论链接似乎没有用,但Ming指出的Debug应用程序显示meta标签看起来正确.

例如,http://www.nachorater.com/getReview?reviewID = 6396169718595584

使用https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.nachorater.com%2FgetReview%3FreviewID%3D6396169718595584进行调试时的元标记:

元标记

更新#2:

我发布了一个新的nacho评论链接到我的iNacho Facebook时间线,然后尝试从Facebook Mobile应用程序点击它.

它开始加载页面并弹出方便的指示器,让你在iNacho中打开应用程序,但是一旦页面加载,指示器就会消失(在我点击它之前).

更新#3:

从Facebook应用程序,我现在可以为我的评论触发一个inacho URL,但这只是在我消失之前点击iNacho中打开的小弹出窗口.如果我在Facebook的内置Web视图中完全加载页面,那么小弹出窗口仍会消失.

这是Applinks的问题吗?或Facebook应用程序的问题?还是设计,为什么?

更新#4:

我可能知道问题是什么.审核页面依次为nacho评论加载动态图像.因此,通过加载页面,它有一个img src标记,指向加载图像的动态URL.这是否被误认为某种"重定向"行为?

img标签的示例(渲染): <img width="300" src="/getReviewImage?imageID=6125868501958656"></img>

注意:还有许多其他脚本/ ajax也会动态加载(Facebook和Twitter小部件等).

这是AppLinks或Facebook Mobile应用程序中的错误吗?它不应该关心背景加载像ajax和动态图像的对象吗?

更新#5

2014年7月15日 - 最新的Facebook应用程序仍在发生这种情况.当我点击从我的iNacho Facebook页面到我的iNacho网站的链接时,它会弹出选项,在页面完成加载之前在应用程序中打开它一瞬间.然后它隐藏了它.

至于Twitter应用程序,它甚至不会给我弹出一瞬间.它似乎没有认识到链接是启用了appslink.

Quip,另一方面,我粘贴了一个nacho链接,当我第一次点击它时,它进入了内置的safari,无法在我的应用程序中打开.但是我第二次点击它,它直接打开了我的应用程序.

简介:到目前为止,似乎有些应用程序正在错误地实现AppLinks Navigation部分或其他内容.Quip似乎有效,但即使是Facebook自己的应用程序似乎也没有用.

android facebook meta-tags ios applinks

32
推荐指数
3
解决办法
2万
查看次数

分支深层链接未打开应用程序

我一直在尝试(不成功)使用Branch实现深入链接到我们的iOS应用程序.分支URL直接重定向到App Store,从不尝试打开应用程序.我肯定错过了什么.

我做了什么:

  1. 包含分支SDK(CocoaPods)已添加branch_key到应用程序plist
  2. 在应用程序plist中为URL类型添加了URL方案
  3. Associated Domains在项目和开发人员控制台中的App ID中启用.
  4. 确保权利文件包含在构建中.

  5. AppDelegate中注册的深层链接处理程序

仪表板:设置 - >链接设置:

  1. "始终尝试打开应用程序"已选中
  2. "IOS URI Scheme"设置为应用程序的自定义URI方案.
  3. 选中"启用通用链接".
  4. Bundle Identifier和Apple App Prefix都设置正确.

    在Branch Dashboard中的"Marketing"选项卡下,我创建了一个链接.我正在通过电子邮件将此链接发送给自己并在设备上打开它(Mail.app).Safari打开,然后打开App Store,就像没有安装应用程序一样.

既没有application:openURL:sourceApplication:annotation也没有application:continueUserActivity:restorationHandler被召唤.

AppDelegate方法:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    let branch: Branch = Branch.getInstance()
    branch.initSessionWithLaunchOptions(launchOptions, andRegisterDeepLinkHandler: { params, error in
        if (error == nil) {
            // params are the deep linked params associated with the link that the user clicked -> was re-directed …
Run Code Online (Sandbox Code Playgroud)

ios applinks branch.io

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

有没有办法从iOS9的状态栏隐藏"返回Safari"?

如何隐藏此<以编程方式从状态栏返回Safari?

在此输入图像描述

我正在我的应用程序中获取它 - 因为如果用户想要使用他们的Facebook帐户登录,我将从我的应用程序中退出.

这是我不喜欢(想要)在我的应用程序中"返回Safari"的场景.

  1. 首次启动应用程序(用户未登录).
  2. 用户选择使用Facebook登录选项.
  3. Facebook iOS SDK出现在图片中,它带我到Safari.
  4. 我登录并返回应用程序
  5. 但是,有"回到Safari"......它不应该在这里了.

mobile-safari ios uistatusbar applinks ios9

21
推荐指数
1
解决办法
3831
查看次数

我什么时候可以使用带有通用链接的SFSafariViewController,WKWebView或UIWebView?

iOS App Search Programming GuideUniversal Links部分中,Apple说:

如果您实例化SFSafariViewController,WKWebView或UIWebView对象以处理通用链接,iOS将在Safari中打开您的网站,而不是打开您的应用程序.但是,如果用户从嵌入式SFSafariViewController,WKWebView或UIWebView对象中点击通用链接,iOS将打开您的应用程序.

"处理通用链接"是什么意思?我不能永远打开给定的URL与SFSafariViewController,WKWebViewUIWebView?它是否仅适用于期间-[UIApplicationDelegate application:continueUserActivity:restorationHandler:],或是否存在超时?这是否意味着在我们永远不能打开的URL SFSafariViewController,WKWebViewUIWebView

uiwebview ios applinks wkwebview sfsafariviewcontroller

21
推荐指数
1
解决办法
3749
查看次数

如何在新安装中使用facebook延迟深层链接功能,并在将iOS App发布到appStore之前测试相同内容?

我已经做了一些探索并找到了以下内容,这是我到目前为止所做的:

  1. 实现了自定义网址 - myApp://
  2. 添加了FacebookAppID,显示我的info.plist文件的名称
  3. 包含Facebook SDK
  4. 通过Facebook移动主机API创建Facebook应用程序链接,并得到如下网址:https://fb.me/1601524146753610
  5. 在创建应用安装广告时,使用上面的网址作为深层链接.
  6. 在我的AppDelegate.m中实现了以下功能

     - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    
    Run Code Online (Sandbox Code Playgroud)
  7. 在我的AppDelegate.m中添加了以下代码

    //Initialization
    [FBAppEvents activateApp];
    [FBSettings setClientToken:@"ca45a3a2133ae2f37ebd4d90408816e6"];
    
    //Function to check for deferred deep link and call the method with recieved url
    [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){
    if(url)
    [self application:nil openURL:url sourceApplication:nil annotation:nil];
    }];
    
    Run Code Online (Sandbox Code Playgroud)

如果我错过了提取延迟深层链接的内容,请告诉我.另外,如何在将iOS APP发布到appStore之前测试相同内容.

facebook objective-c ios facebook-ios-sdk applinks

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

如何使用app链接将参数传递给android playstore,以便在安装app时检索

我正在开发一个社交机器人琐事游戏.当用户向未安装我的琐事游戏的朋友挑战游戏时,我想向他发送自定义URL以从市场下载包含邀请用户ID参数的应用程序.

当应用程序第一次运行时,我需要能够接收传递给市场的参数,以便识别用户并向他展示他受到挑战的游戏.我无法弄清楚如何使用应用程序链接执行此操作,但没有找到任何适当的示例.

任何帮助都会受到极大的欢迎!谢谢,Ido

android google-play facebook-friends applinks

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

应用索引是即时应用在谷歌搜索中显示所必需的

我开发了一个即时应用程序并将其发布到游戏商店,还有一个与Instant App相关联的网站.从这里测试了测试工具的app链接 .

点击其他应用程序(gmail,环聊)中的链接后打开该应用程序,但是从谷歌搜索点击我的网站是打开网页而不是即时应用程序.为了将网页从Google搜索重定向到应用,我还有什么需要做的吗?

我在Play商店发布了我的即时应用程序.当我点击gmail的链接时,它会在某些设备中以即时应用程序的形式打开(三星s6 note,moto g4 plus)

在某些设备上,它不能作为即时应用程序打开,但buzzfeed.com/tasty作为即时应用程序打开.(一加3加一加5).

我的数字资产链接是https://abdcoop.mybuzztm.com/.well-known/assetlinks.json

谁能够建议我缺少什么?

android deep-linking android-app-indexing applinks android-instant-apps

15
推荐指数
1
解决办法
526
查看次数

如果未安装应用程序,如何获取Facebook应用程序链接

如果用户在Facebook应用中点击深层链接时未安装我的应用,如何获取应用链接数据?在这个问题上,Facebook的文档很少令人惊讶.

我有一个很深的联系 https://fb.me/635533123230265

哪个返回HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>App Link</title>
<meta property="fb:app_id" content="619350481515196">
<meta property="al:android:url" content="instapanel://panel?utm_source=fb&amp;utm_medium=cpi&amp;utm_term=sf&amp;utm_campaign=PROPE">
<meta property="al:android:package" content="com.instapanel.android">
<meta property="al:android:app_name" content="Instapanel">
<meta property="al:web:should_fallback" content="false">
<meta http-equiv="refresh" content="0;url=http://play.google.com/store/apps/details?id=com.instapanel.android">
</head>
<body>Redirecting...</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果已安装该应用程序,则AppLinkData appLinkData = AppLinkData.createFromActivity(activity);运行正常.

但如果没有安装应用程序,我相信我应该使用AppLinkData.fetchDeferredAppLinkData.我可以验证在facebook SDK中它发出HTTP请求并接收JSON,但它永远不会包含深层链接{"success":true}.有任何想法吗?

这是我的代码:

// Fetch data immediately.
AppLinkData appLinkData = AppLinkData.createFromActivity(activity);
App.setAppLinkData(appLinkData);  // Handles appLinkData

// In case data is deferred because app wasn't installed yet.
AppLinkData.fetchDeferredAppLinkData(activity, …
Run Code Online (Sandbox Code Playgroud)

android facebook deep-linking applinks

13
推荐指数
1
解决办法
1万
查看次数