iOS智能应用横幅 - 在iPad和iPhone上显示不同的应用

时间:2014-05-29 04:00:52

标签: ios iphone ipad smartbanner

我在Apple App Store上发布了2个iOS应用程序,一个是iPhone应用程序,另一个是iPad应用程序,我需要在我的网站上使用iOS智能应用程序横幅,因此我为这两个应用程序添加了2个元标记。

<meta name="apple-itunes-app" content="app-id=iPhoneAppID" />
<meta name="apple-itunes-app" content="app-id=iPadAppID" />

我希望浏览器应该知道每次访问我的网站时都会向用户显示正确的应用程序,但它没有。

所以我需要的是一种在iPhone智能应用程序横幅中显示iPhone应用程序的方法(如果用户是从iPhone浏览器访问),以及iPad应用程序,如果他是从iPad浏览器访问。

1 个答案:

答案 0 :(得分:2)

好吧,我想我找到了解决方案,但它不是来自Apple,它是一个jQuery插件: http://www.dunnsolutions.com/content/application-development-blog/-/blogs/smart-app-banners-for-ios-and-android

  

“如果App Store中有两个版本的应用程序(例如,一个)   对于iPad和另一个用于iPhone / iPod),您可以使用JavaScript进行检查   浏览器的用户代理并确定适当的元标记   插入网页的头部。“

if ( /(iPad).*AppleWebKit.*Mobile.*Safari/.test(navigator.userAgent) ) {
  var headNode = document.getElementsByTagName("head")[0];
  var sbNode = document.createElement('meta');
  sbNode.name = 'apple-itunes-app';
  sbNode.content = 'app-id=your-iPadAppId';
  headNode.appendChild(sbNode);
} else if ( /(iPhone|iPod).*AppleWebKit.*Mobile.*Safari/.test(navigator.userAgent) ) {
  var headNode = document.getElementsByTagName("head")[0];
  var sbNode = document.createElement('meta');                    
  sbNode.name = 'apple-itunes-app';                
  sbNode.content = 'app-id=your-iPhoneAppId';
  headNode.appendChild(sbNode);
}