离子3:从PlayStore链接获取价值

时间:2018-08-17 10:12:11

标签: javascript android ionic-framework ionic2 ionic3

我有一个Ionic 3应用,我想根据Playstore的下载链接在其中设置一些变量。 例如,http://linktoplaystore.com/app?account=4会将我的应用程序内的account变量设置为4。有什么方法可以实现?

5 个答案:

答案 0 :(得分:2)

您可以通过解析和定义数组在代码中完成

private urlParameters: Array<any> = [];

if (YOURURLVARIABLE.indexOf("?") > 0) {
    let splitURL = document.URL.split("?");
    let splitParams = splitURL[1].split("&");
    let i: any;
    for (i in splitParams){
        let singleURLParam = splitParams[i].split('=');
        let urlParameter = {
        'name': singleURLParam[0],
        'value': singleURLParam[1]
    };
    this.urlParameters.push(urlParameter);
    }
}

this.urlParamID = navParams.get('account').value;

答案 1 :(得分:2)

我认为Playstore不可能提供,但您可以通过自己的外部来源通过Deeplinks访问应用程序功能。有关更多信息,请参见https://ionicframework.com/docs/native/deeplinks/

this.deeplinks.route({
    '/account/:accountId': AccountPage
}).subscribe(match => {
    console.log(match.$args);
}, nomatch => {
    console.error('Got a deeplink that didn\'t match', nomatch);
});

答案 2 :(得分:2)

在JavaScript中解析link以获得所需的值

代码段

var link = "http://linktoplaystore.com/app?account=4";
var variable = link.split('?')[1].split('=')[1];
  

此外,您应该打开一个API来从服务器发送此链接,因此,如果链接中发生任何更改,则无需推送应用程序更新。

希望有帮助!

答案 3 :(得分:0)

唯一的方法是通过Firebase Dynamic链接实现此目的(如我前面的评论中所述)。

动态链接可以在应用安装过程中继续存在。因此,您可以使用参数。但是必须在某个地方(手动或在代码中)创建链接。

看看https://firebase.google.com/docs/dynamic-links/。与此相关的Ionic插件仍处于测试阶段:https://ionicframework.com/docs/native/firebase-dynamic-links/

答案 4 :(得分:0)

我终于设法使用Firebase动态链接使其工作。

在Firebase控制台中设置我的应用程序后,我手动创建了一个如下所示的链接:

https://myapp.page.link/?link=https://play.google.com/store/apps/details?id=com.ionicframework.myapp?account4

在我的Ionic应用程序中,我已经安装并配置了Firebase Dynamic Links插件:https://ionicframework.com/docs/native/firebase-dynamic-links/

然后在app.component.ts内部,初始化平台后,我使用以下代码:

firebaseDynamicLinks.onDynamicLink().subscribe((res: any) => {
 let link = res;
}, err => {
  alert(err);
});

该链接将是一个如下所示的JavaScript对象:

{"deepLink":"https://play.google.com/store/apps/details?id=com.ionicframework.couriermanagerclient1234?account4","clickTimestamp":1535449992657,"minimumAppVersion":0}

从这里,我可以解析结果并从deepLink属性内部提取account参数