zoukankan      html  css  js  c++  java
  • Android平台、iOS平台设置UrlSchemes,实现被第三方应用调用

      如果你的App想要在手机系统中注册一个scheme协议,方便其他App调用你的App,那么可以根据本文设置。

    一、安卓平台设置

    1、设置UrlSchemes

      打开项目的manifest.json文件,切换到“代码视图”

    (1)5+App项目:在manifest.json文件的"plus"->"distribute"->"google"下添加schemes节点数据如下:

    "plus": {
     "distribute": {  
        "google": {  
            "schemes": [  
                "test"  
            ],  
            //...  
        },  
        //...  
    },  

    (2)uni-app项目:把上面的schemes节点数据放到manifest.json的"app-plus"->"distribute"->"android"节点下

    (3)值域说明:

      为字符串数组,每个字符串为一个urlscheme,使用小写字母(不要使用特殊字符、中文),可设置多个。比如设置为test,那么其他App呼起你的app的scheme协议就是test://。

      保存后提交App云端打包生效。

    2、浏览器中通过href启动应用

      安装应用后,我们可以在html页面中,通过href直接调用应用:

    <a href="test://abc">test:<a>

    3、uni-app中处理urlscheme启动传递的参数

      在App.vue的onShow里可以直接获取

    onShow: function() {  
        var args= plus.runtime.arguments;  
        if(args){  
            // 处理args参数,如直达到某新页面等  
        }  
    }

    4、5+ APP中处理urlscheme启动传递的参数

      在其它应用中通过href调用Url Scheme传递过来的值,可以通过plus.runtime.arguments获取,其值为完整的urlscheme字符串,如上面href的值启动应用后获取的plus.runtime.arguments值为“test://abc”。代码示例如下:

    document.addEventListener('plusready',function(){  
        checkArguments();  
    },false);  
    // 判断启动方式  
    function checkArguments(){  
        console.log("plus.runtime.launcher: "+plus.runtime.launcher);  
        var args= plus.runtime.arguments;  
        if(args){  
            // 处理args参数,如直达到某新页面等  
        }  
    }  
    // 处理从后台恢复  
    document.addEventListener('newintent',function(){  
        console.log("addEventListener: newintent");  
        checkArguments();  
    },false);

    二、iOS平台设置

    1、设置UrlSchemes

    (1)可视化界面配置:打开项目的manifest.json文件,在“App常用其它设置”页面“iOS设置”下的UrlSchemes中配置scheme字段:

      注意:多个scheme使用','分割

    2、代码视图配置:打开项目的manifest.json文件,切换到“代码视图”

    (1)5+App项目:在manifest.json文件的"plus"->"distribute"->"apple"节点下添加urltypes数据

    (2)uni-app项目:在manifest.json的"app-plus"->"distribute"->"ios"节点下添加urltypes数据

      urltypes节点数据如下:

    "plus": {  
        "distribute": {  
            "apple": {  
                "urltypes": [  
                        {  
                            "urlidentifier":"com.xxx.test",  
                            "urlschemes": [  
                                "test"  
                            ]  
                        }  
                ],  
                //...  
            },  
            //...  
        },  
        //...  
    },  
    //...

      值域说明:urlidentifier为标识,可自定义,格式为反向域名格式;

      urlschemes为要指定的scheme值,字符串数组,使用小写字母,可设置多个。 比如设置为test,那么其他App呼起你的app的scheme协议就是test://。

    3、uni-app中处理urlscheme启动传递的参数

      在App.vue 中onLaunch 里获取

    onLaunch: function() {  
          plus.globalEvent.addEventListener('newintent', (e)=>{  
                var args= plus.runtime.arguments;  
            if(args){  
                    // 处理args参数,如直达到某新页面等  
            }  
            });  
    }   

      在App.vue的onShow里获取

    onShow: function() {  
        setTimeout(function(){   
          var args= plus.runtime.arguments;  
        if(args){  
            // 处理args参数,如直达到某新页面等  
        }  
       },10);   
    }
  • 相关阅读:
    绿色简洁供应商采购后台管理系统模板——后台
    通用的电子商务商城后台管理界面模板——后台
    透明的企业网站卡通后台模板——后台
    绿色的宠物店cms后台管理系统模板——后台
    蓝色的cms企业记账管理后台模板源码——后台
    简洁的响应式博客后台管理模板——后台
    基于bootstrap物资管理系统后台模板——后台
    黑色的网站后台管理系统ui界面——后台
    蓝色的企业后台cms管理系统——后台
    黑色的cms商城网站后台管理模板——后台
  • 原文地址:https://www.cnblogs.com/goloving/p/14542581.html
Copyright © 2011-2022 走看看