2

Can anyone provide some guidance regarding correct tag configuration for an enterprise Smart App Banner? The app does not appear in the Apple store; it is at a separate URL for enterprise members.

According to the docs, this can be accomplished with the addition of a meta tag, as follows:

What are each of these variables, and how are they typically set?

name: does this remain "apple-itunes-app" for an enterprise app? app-id: I have a 19-digit number for this. Could that be right? affiliate-data: What should this look like? app-argument: URL of the app?

I got this working for an App that's in the Apple App store, for Angry Birds, with the meta tag below.

<meta name="apple-itunes-app" content="app-id=343200656">

Reference URL: https://developer.apple.com/library/mac/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html

Mad Dog Tannen
  • 7,129
  • 5
  • 31
  • 55
kmiklas
  • 13,085
  • 22
  • 67
  • 103

2 Answers2

2

Smart Banners are only for apps available in the App Store.

From Apple docs:

If the app is already installed on a user's device, the banner intelligently changes its action, and tapping the banner will simply open the app. If the user doesn’t have your app on his device, tapping on the banner will take him to the app’s entry in the App Store. When he returns to your website, a progress bar appears in the banner, indicating how much longer the download will take to complete. When the app finishes downloading, the View button changes to an Open button, and tapping the banner will open the app while preserving the user’s context from your website.

Nikos M.
  • 13,685
  • 4
  • 47
  • 61
  • I don't see this statement as conclusively establishing that Smart App Banners are limited to _only_ apps in the Apple App store. There are other variables available that seem to indicate the possibility of pointing a banner to an enterprise app location. In addition, given that enterprises pay extra; it's a reasonable expectation to have this feature available. ~kjm~ – kmiklas Nov 04 '13 at 21:59
  • Enterprise pay extra for distributing their apps in house. That means that they do not need smart banners for advertising. Also if Smart Banners were available for enterprise apps, it would be mentioned in the docs. – Nikos M. Nov 04 '13 at 22:06
  • Given that it's been two weeks since I've asked this question, and I've heard nothing but crickets, I'm going to assume that it's not possible to set up a smart app banner for an enterprise app. Nonetheless, this requirement is sitting on my desk, rotting, and my PM is harassing me. Can anyone offer an alternative solution? The requirement is basically for an enterprise-level smart app banner. To be specific: 1. Detect if an enterprise app is installed 2a. No? Redirect to install page for the enterprise app. 2b. Yes? Launch app! Thanks for your help. Sincerely, Keith :^) – kmiklas Nov 13 '13 at 19:12
  • Hey @kmiklas. Did you ever find a good solution? I'm kind of in the same situation. – Jordan Plahn Jul 22 '14 at 15:14
  • Yes... I will write up my solution as a separate answer. – kmiklas Jul 23 '14 at 18:08
1

Been a while on this one, but if memory serves, I used a custom URL scheme.

In my particular situation, the requirement was to launch the app if it exists, and if not, display the smart app banner.

In a nutshell, here is how you do it:

  1. Build your own smart app banner
  2. Set up a custom URL scheme in your app
  3. Call custom URL from Safari
  4. If the App is installed, the App will launch; if not, it will hang.
  5. If hung, cancel the request, and display the banner.

For example, imagine an new App called "happyBirds." In code, it looks something like this:

setTimeout(function () { 
    window.location = "#";  // Effectively cancels the following window.location command if the app is not installed.
    $('#smartAppBanner').show(); // Make up your own smart app banner, and show it.
}, 100);
window.location = "happyBirdsCustomUrl://"; // If this is successful, the app will be launched, and the setTimeout will never fire

I was also toying with the idea of creating a custom URL scheme that simply returned "true" if the app was there, and also trying to launch the app from within an iFrame, but never got around to it. Maybe I'll give it a shot when I get a free hour or so.

Definitely take a look at the following posts for more info:

How to check if an app is installed from a web-page on an iPhone? http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

Hope this helps! Sincerely, Keith :)

Community
  • 1
  • 1
kmiklas
  • 13,085
  • 22
  • 67
  • 103