Display ads without leaving app - ios

I'm looking at some ad SDKs and it's difficult for me to find a way to present them without leaving the app. I've tried a handful of them but lets say AdMob for purpose of answering this question.
Is there a way to present AdMob ads in an in-app browser once they are clicked? Or would I have to use a different SDK if I want to achieve that.
If the answer is the latter, what well known Ad SDKs would let me do that?

Opening the target page in Safari and not in an in-app browser is on purpose: Safari allows to better track the users. The reason is related to the cookie handling: Safari stores cookies globally while the UIWebView based in app-browsers have a cookie store restricted to a single app. Therefore with in-app browsers, you cannot track users across apps.
However, there is a solution to mitigate the problem provided you have a certain control about the ads (and aren't simply taking the from a network).
An ad can consist of more than just an image with a target link. It can contain interactive elements. You can take advantage of it by creating an ad that opens an overlay when tapped. The overlay shows a web page within your app. The user can then either close it or tap a link that takes her to a further web page shown in Safari.
The standard API to implement an overlay supported by most ad SDKs is MRAID. Google Mobile Ads SDK (formerly known as AdMob SDK) supports it. The Google SDK additionally supports the AdMob SDK.
Good examples for such ads can be found on a Google support page. Specifically check out "Sample Code for an expandable ad (MRAID)" and "Target window: in-app overlay window".

Related

Different smart banners in iOS

I've noticed fairly recently that certain websites on iOS seem to get a more persistent smart banner from Apple. For example on twitter.com and facebook.com I see smart banners like this:
Note how the smart banner doesn't have the usual close cross on the left (and it's slightly shorter than the normal one).
I've looked at the page code and neither twitter or facebook have the meta tag with their app-id linked.
So my question is how did they get these banners? Is this just something Apple has decided to add on their behalf due to the popularity of their sites / apps? Or is there some secret config you can add to a site to get these special banners?
Smart App Banners are dynamic. They are different depending on whether you already have the app installed or not. If the app is not installed yet, the big banner with the close button is displayed. If the app is already installed, the banner from your screenshot will be displayed.
You can find a detailed description about that on the Apple Developer Documentation.

Does Google Search App block universal links

I am implementing Firebase App Indexing as mentioned in official firebase documentation here: https://firebase.google.com/docs/app-indexing/ios/app.
The universal links are enabled and work fine for search results from different browsers like Safari and Chrome. They also work for other applications. But when I tap on a search result from the Google Search App in iOS. It does not take me to my app. Also on long pressing a link in the Google app does not provide an option to open link using my App. This option is however shown when I long press on links from other applications.
Does it have something to do with the Google Search app disabling the universal links deliberately. Is it possible for individual applications to prevent Universal Links from opening other applications?
Or does Apple apply restrictions itself for certain apps?
Indeed, some apps disable the capability of deep linking using Universal Links. Some notable examples: Facebook, Instagram.
Some of these apps allow deep linking via URI schemes (the old iOS 9- way of deep linking), but there is no promise that this behaviour will be persisted.
I'm guessing most of these apps would like to have the user stay within their own in-app browser instead of switching to another app.
I never tried the Google Search app, but if your universal link works perfectly in Safari and not in the Google Search app, that may be the case. In that scenario you'll need your click domain server to redirect the user to the store or some landing page, based on the User Agent of the incoming browser.

Is Google App Indexing SDK required in iOS for Google DeepLinking?

I want to use Google App Indexing with my web pages and iOS app.
I do support Universal Links (or deep links in Google lingo) with Apples Search and have my web pages set up accordingly.
From Googles documentation I am unable to find out if I really need to add the Google App Indexing SDK. The SDK does not give me any required functionality and I would prefer to skip it - but does Google rely on the SDK to be able to do the magic?
I am not doing any indexing of in app content, the only thing I want to be indexed is the web pages, and get the according deep links.
To enable App Indexing in your iOS App, adding the Google App Indexing SDK is mandatory as the documentation suggests.
This way it will be possible for your App content to be searchable by users conducting Google queries, producing results that will lead the users to open or install your App.
Concerning the SDK, it will influence ranking, whether or not the user has your App installed. This means that if your App is indexed, Google will use the content within your App as a signal in ranking and not just your web content.
Users will also see an enhanced UI with your App icon on the search results page.
Hope this helps.
You are right, getting Google search results to deep-link into your app is achievable using only Universal Links and having your web content naturally feature in Google search results.
The Google documentation isn't great, but there are two major reasons you'd want to integrate the Google App Indexing SDK:
The first, as the documentation does say, is so that Google ranks your 'app content' higher in Google search results than if you didn't integrate the SDK. My guess is that 'app content' here is defined as your web content with app related meta data, such as the <link rel=alternate> tag specified in the documentation. I've yet to find any way to validate/verify to what degree this helps - we have to trust the documentation for now.
The second is that currently, your deep-linking will only work from Safari Mobile. To facilitate deep-linking from Google search results into your app in Chrome for iOS will require implementation of Google's SDK, which will also provision a "back to Google" button in your app. To see whether this is worth doing you'd have to check your analytics to see how many of your iOS users are using Chrome instead of Safari Mobile as their main browser on iPhone.
Source for second reason: https://www.youtube.com/watch?v=6NFRNamQGCc&feature=youtu.be&t=268

How to show a full-screen ad (like Flixster) randomly in an iOS app?

I have recently started programming in iOS. I found this really interesting way of showing an Ad in the Flixster app. It randomly pops up a latest movie banner and asks to watch trailer or skip to continue using the app. How is it actually implemented? how can they be pushing a variable screen (may be a view) at runtime? Every time you open the app, you see a different banner.
I work for Flixster and here's how we do it:
Every time the app starts or resumes, the app pings our API to ask for what ads should be shown. Our api gives our app the url of the image to be shown, as well as the click-through url, which can be a regular url, or a custom link to one of our native pages like viewing a trailer, or a movie info page.
We have an admin tool where we can upload the ad image, modify the properties of the ads, or remove old ads and add new ads. However, we've recently started using 3rd party Ad networks like DFP and Admob (acquired by Google) to take over this management.

Opening deep content links in native apps from mobile web

My company has an app (iOS and Android), to which the following scenarios applies. I'm trying to help point my engineers and product team in the right direction.
When one of our users clicks on a content link from one of our emails, or Tweets or Facebook posts, and they're on their mobile device, we prompt the user with a link to download our app. This is similar to what many apps do, including LinkedIn (see i.stack.imgur.com/glSgJ.png).
I imagine this is mildly effective of driving awareness and downloads of a native app, for new users who came in from social media and various web sources. However, it is not helpful at all for a user like me who already has the app!
1) clicking "No Thanks" keeps me on the mobile web (when I want to be in the native app), and
2) clicking "Download the App" takes me to iTunes App Store page for an app I already own.
SUPER ANNOYING. As a result, I have to manually open the app, and search for the content in question. I'm guessing most users don't do this. More importantly, depending on the UI/UX of the app, I may never get there!
Again, I know we are handling mobile web visits in the same way many other companies (including LinkedIn) do, but it seems we are leaving a lot of potential native app use on the table. I want our engineers to build that elusive 3rd option, "Open In App".
Spotify and Rdio have solved this very nicely. Here are deep content links (in the case of these companies, to a specific song) for the two apps respectively:
http://open.spotify.com/track/2SldBUTJSK6xz43i8DZ5r2
http://rd.io/x/QF3NK0JKWmk
If you have a moment, first grab the free version of Rdio or Spotify apps. Then, if you open those links above from an iOS device, you will see how nice the experience is, for existing native app users: Rdio has a nice "Tap to open in Rdio" link (http://i.stack.imgur.com/B7PuE.png), and Spotify's link is even more clear, "I have Spotify" (http://i.stack.imgur.com/Q3IV6.png). Both apps also include a link to download the app, for new app users. More importantly, both apps cookie the user: future visits to links (whether from email, Twitter, Facebook, etc) on mobile web automatically open the app, instead of prompting you to choose each time. SUPER CONVENIENT.
Questions:
1) How do they accomplish this? I'm initially only concerned about iOS (on which I tested this), but this same situation should apply to Android.
2) Why aren't more apps doing this? It doesn't seem like rocket science, so am I missing a key reason why this might be a bad idea? Half of my problem is convincing the use case.
3) Why don't I see discussions about this technique? I've searched a ton for an iOS solution. I come up with a lot of discussion about URL registrations (mainly app-to-app), but no one actually referring to the type of scenario I describe (mobile web prompt to open native app).
It seems that with minimal engineering, app developers could dramatically increase native app use, converting from mobile web. :)
Android supports deep linking. Please refer to
http://developer.android.com/training/app-indexing/deep-linking.html
Tapstream's deferred deep links can send users to specific views within apps (iOS only), even when the app isn't yet installed on their device.

Resources