一、针对“终端适配”&“APP国际化”


<!DOCTYPE HTML>         


          <html lang=          "zh-CN"          >         


          <head>         


                    <meta charset=          "UTF-8"          >         


                    <title>手机APP下载页面:根据终端辨别下载地址</title>         


                    <script type=          "text/javascript"          >         


                    // 获取终端的相关信息         


                    var           Terminal = {         


                    // 辨别移动终端类型         


                    platform :           function          (){         


                    var           u = navigator.userAgent, app = navigator.appVersion;         


                    return           {         


                    // android终端或者uc浏览器         


                    android: u.indexOf(          'Android'          ) > -1 || u.indexOf(          'Linux'          ) > -1,         


                    // 是否为iPhone或者QQHD浏览器         


                    iPhone: u.indexOf(          'iPhone'          ) > -1 ,         


                    // 是否iPad         


                    iPad: u.indexOf(          'iPad'          ) > -1         


                    };         


                    }(),         


                    // 辨别移动终端的语言:zh-cn、en-us、ko-kr、ja-jp...         


                    language : (navigator.browserLanguage || navigator.language).toLowerCase()         


                    }         


                    


                    // 根据不同的终端,跳转到不同的地址         


                    var           theUrl =           'http://www.baidufe.com'          ;         


                    if          (Terminal.platform.android){         


                    theUrl =           '你的Android APP对应下载地址:apk文件地址'          ;         


                    }          else           if          (Terminal.platform.iPhone){         


                    theUrl =           '你的iPhone APP对应下载地址:APP Store地址'          ;         


                    }          else           if          (Terminal.platform.iPad){         


                    // 还可以通过language,区分开多国语言版         


                    switch          (Terminal.language){         


                    case           'en-us'          :         


                    theUrl =           '你的iPad APP(英文版)对应下载地址:APP Store地址'          ;         


                    break          ;         


                    case           'ko-kr'          :         


                    theUrl =           '你的iPad APP(韩语版)对应下载地址:APP Store地址'          ;         


                    break          ;         


                    case           'ja-jp'          :         


                    theUrl =           '你的iPad APP(日文版)对应下载地址:APP Store地址'          ;         


                    break          ;         


                    default          :         


                    theUrl =           '你的iPad APP(中文版-默认)对应下载地址:APP Store地址'          ;         


                    }         


                    }         


                    


                    location.href = theUrl;         


                    </script>         


          </head>         


          <body>         


                    <!--         


                    有啥问题,请直接到这里来反馈:http:          //www.baidufe.com/item/92457b4d0bfde1effa40.html         


                    -->         


          </body>         


          </html>


二、针对“多渠道适配”



<!DOCTYPE HTML>            


             <html lang=             "zh-CN"             >            


             <head>            


                          <meta charset=             "UTF-8"             >            


                          <title>手机APP下载页面:根据渠道辨别下载地址</title>            


                          <script type=             "text/javascript"             >            


                          


                          // 如果要分渠道,也是可以的,渠道区分:?from=xx            


                          var              From = (             function             (){            


                          var              searchInfo = location.search.substr(1).split(             '&'             ),item,from;            


                          for             (             var              i= 0,len=searchInfo.length;len > 1 && i<len;i++){            


                          item = searchInfo[i].split(             '='             );            


                          if             (item[0] ==              'from'             ) {            


                          from = item[1];            


                          break             ;            


                          }            


                          }            


                          return              from;            


                          })();            


                          


                          // 根据不同渠道,去向不同的下载地址            


                          var              theUrl =              'http://www.baidufe.com'             ;            


                          switch             (From){            


                          case              'baidu'             :            


                          theUrl =              '你的APP:针对 baidu 的定制版'             ;            


                          break             ;            


                          case              'google'             :            


                          theUrl =              '你的APP:针对 google 的定制版'             ;            


                          break             ;            


                          default             :            


                          theUrl =              '你的APP:官方 版'             ;            


                          break             ;            


                          }            


                          location.href = theUrl;            


                          


                          </script>            


             </head>            


             <body>            


                          <!--            


                          有啥问题,请直接到这里来反馈:http:             //www.baidufe.com/item/92457b4d0bfde1effa40.html            


                          -->            


             </body>            


             </html>



对于上面这种多渠道适配的,会稍微复杂一些,假设如上HTML文件的地址为:http://www.baidufe.com/app-install/channel.html

那么对于不同的渠道,咱们就需要生成不同的二维码。也许此时你会不理解,渠道在哪儿体现?I Tell U:

假设我们的APP官网(推广页面)为:http://www.baidu.com/app ,那么咱们的运营PM可能会将该URL后面加上不同参数,然后在各大网站进行推广,比如:

from=baidu
from=sina
from=qq

三个渠道,咱们就需要用如下三个URL来生成二维码:

http://www.baidufe.com/app-install/channel.html?from=baidu

from=sina

from=qq

并且需要在APP官网(http://www.baidufe.com/app)显示二维码的地方,通过from参数加载不同渠道的二维码,这样,扫描该二维码后,便会得到该渠道定制版本的APP。

三、这三种也可以结合起来使用,同时对终端、语言、渠道、以及扫码工具进行识别:


<!DOCTYPE HTML>            


             <html lang=             "zh-CN"             >            


             <head>            


                          <meta charset=             "UTF-8"             >            


                          <title>手机APP下载页面:根据终端&渠道辨别下载地址</title>            


                          <script type=             "text/javascript"             >            


                          // 获取终端的相关信息            


                          var              Terminal = {            


                          // 辨别移动终端类型            


                          platform :              function             (){            


                          var              u = navigator.userAgent, app = navigator.appVersion;            


                          return              {            


                          // android终端或者uc浏览器            


                          android: u.indexOf(             'Android'             ) > -1 || u.indexOf(             'Linux'             ) > -1,            


                          // 是否为iPhone或者QQHD浏览器            


                          iPhone: u.indexOf(             'iPhone'             ) > -1 ,            


                          // 是否iPad            


                          iPad: u.indexOf(             'iPad'             ) > -1 ,            


                          // 是否是通过微信的扫一扫打开的            


                          weChat: u.indexOf(             'MicroMessenger'             ) > -1            


                          };            


                          }(),            


                          // 辨别移动终端的语言:zh-cn、en-us、ko-kr、ja-jp...            


                          language : (navigator.browserLanguage || navigator.language).toLowerCase()            


                          }            


                          


                          // 如果要分渠道,也是可以的,渠道区分:?from=xx            


                          var              From = (             function             (){            


                          var              searchInfo = location.search.substr(1).split(             '&'             ),item,from;            


                          for             (             var              i= 0,len=searchInfo.length;len > 1 && i<len;i++){            


                          item = searchInfo[i].split(             '='             );            


                          if             (item[0] ==              'from'             ) {            


                          from = item[1];            


                          break             ;            


                          }            


                          }            


                          return              from;            


                          })();            


                          


                          // 根据不同的终端,跳转到不同的地址            


                          var              theUrl =              'http://www.baidufe.com'             ;            


                          


                          // android系统APP            


                          // 另外:微信扫一扫后打开连接,是不能直接进行下载的,所以你可以将apk放到微云上,使用微云上的apk地址            


                          if             (Terminal.platform.android){            


                          // 这里区分渠道            


                          switch             (From){            


                          case              'baidu'             :            


                          if             (Terminal.platform.weChat) {            


                          theUrl =              '你的App:微云上的地址'             ;            


                          }             else             {            


                          theUrl =              '你的APP:baidu定制版'             ;            


                          }            


                          break             ;            


                          case              'google'             :            


                          if             (Terminal.platform.weChat) {            


                          theUrl =              '你的App:微云上的地址'             ;            


                          }             else             {            


                          theUrl =              '你的APP:google定制版'             ;            


                          }            


                          break             ;            


                          default             :            


                          if             (Terminal.platform.weChat) {            


                          theUrl =              '你的App:微云上的地址'             ;            


                          }             else             {            


                          theUrl =              '你的APP:官方版'             ;            


                          }            


                          }            


                          }            


                          


                          location.href = theUrl;            


                          </script>            


             </head>            


             <body>            


                          <!--            


                          有啥问题,请直接到这里来反馈:http:             //www.baidufe.com/item/92457b4d0bfde1effa40.html            


                          -->            


             </body>            


             </html>




二维码的生成策略,和“多渠道适配”类型保持一致。

假设如上HTML静态文件对应的URL为:http://www.baidufe.com/app-install/terminal-language.html

那么就可以通过该URL生成一张二维码,扫面该二维码后,具体的下载地址,会由terminal-language.html自动识别并前往。