首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Deeplink不适用于SocialSharing

Deeplink不适用于SocialSharing
EN

Stack Overflow用户
提问于 2017-10-26 11:03:34
回答 2查看 1.4K关注 0票数 1

我正在开发一个离子项目。我已经按照所有步骤安装了一个社交共享和Deeplinks。

这是我安装插件时的模式。

代码语言:javascript
复制
ionic cordova plugin add ionic-plugin-deeplinks --variable URL_SCHEME=app --variable DEEPLINK_SCHEME=https --variable DEEPLINK_HOST=app.com --variable ANDROID_PATH_PREFIX=/

但是当我与社会共享共享时,不要发送一个url,社会共享发送作为字符串,或者通过电子邮件发送一些结构作为字符串,另一个部分作为url。

例如,通过挂起作为字符串

例如通过电子邮件应用程序:// app.com/page -> app:// as string和app.com/page作为url

在社会共享文档模式中,共享(meesage,subject,file,url)

消息:string,subject:string,file:string=Array,url:string

代码语言:javascript
复制
this.socialSharing.share('Lorem ipsum', 'title', null, 'app://app.com/about')
    .then( ()=> {
      console.log('Success');
    })
    .catch( (error)=> {
      console.log('Error: ', error);
    });

当我使用带有hiperlink的codepen.io浏览器进行测试时,这个应用程序打开了deeplinks。

代码语言:javascript
复制
< h1 >< a href="app://app.com/about" >Click Me< /a>< /h1>

但是当我共享一个深链接时,发送作为字符串。

为什么?你能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-01 23:07:50

我与同样的问题作了斗争,这一问题的解决办法是非常直接的:

不使用自定义url方案

不使用自定义url方案的主要原因是Gmail和其他webmail提供商确实破坏了诸如“app://.”之类的链接。所以没有办法得到这份工作。

有关详细信息,请参阅下列链接:

使用通用链接而不是

Android支持通用链接。因为您已经在使用离子插件-deeplinks插件,所以您已经配置了一个深度链接url。你所要做的就是改变

  • href="app://app.com/about“

为了使用通用链接,您需要为android和iOS创建配置文件。这些文件必须包含站点希望与其共享凭据的所有应用程序的应用程序标识符。有关详细信息,请参阅下列链接:

https://medium.com/@ageitgey/everything-you-need-to-know-about-implementing-ios-and-android-mobile-deep-linking-f4348b265b49

该文件必须准确地位于您的网站上。

票数 2
EN

Stack Overflow用户

发布于 2018-06-26 09:00:39

如果存在的话,您也可以从我们的应用程序中的自定义URL和深度链接中获取数据。否则,像这样重定向到play/app商店:

index.html

代码语言:javascript
复制
$(document).ready(function (){
    var lifestoryId = getParameterByName('lifestoryId');

        if(navigator.userAgent.toLowerCase().indexOf("android") > -1){
            setTimeout(function () {
                window.location.href = "http://play.google.com/store/apps/details?id=com.android.xyz&hl=en"; 
            }, 5000);
        }
        if(navigator.userAgent.toLowerCase().indexOf("iphone") > -1){
            setTimeout(function () {
                 window.location.href = "https://itunes.apple.com/us/app/app/id12345678?ls=1&mt=8"; 
            }, 5000);

    }

    window.location.href = "app://lifestory/info:"+lifestoryId;
});

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

呼叫链接,如:BASE_URL/index.html?lifestoryId=123

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46952639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档