Different smart banners in iOS - 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.

Related

Facebook pixel event PURCHASE not registering iOS-sales

We have an Woocommerce site and run ads on Facebook and Instagram. When potential customers click on these ads our website is loaded in the in-app browser that Facebook and Instagram uses. What we've discovered is that the Facebook pixel is not sending any purchase data back to Facebook regarding users on iOS. This again means that it's registered as 0 conversions in iPhone and iPad, skewing the audience and algorithms for optimised ad delivery. (The data comes back correctly on Android and computers.)
We've tried several plugins to see if it's plugin related issue, among them Facebook for Woocommerce, Pixel Caffeine and PixelYourSite. No change there.
What is also interesting, is that the metrics for iOS dropped to zero at the same time I switched from another theme to the Divi-theme (which is a page-builder theme for Wordpress). So it may seem like the error is directly related to the theme, but then again there must be something iOS-specific since it works on all other devices, and the theme change though suspicious may be irrelevant.
TLDR: The pixel tracking works exactly like they should on all devices except on iOS in-app browser where the website is displayed as it should be, but where the pixel is not registering purchases.
Edit: We receive other pixel data from iOS as well, it seems that the order confirmation page is the one that is "blocked".
Example of landing page we use for our ads: https://www.friskforlag.no/frisk-graviditet/
Received help from Elegant Themes, developers of the Divi theme. There is a bug in the current version of Divi that will be fixed in the next 2-3 versions. The solution was to comment out a line of code in the core > functions.php file, and after that we were able to track purchases on iOS again.

iOS app rejected from apple app store because UIWebview

Got App rejection reason from Apple:
Upon further review, we noticed that your app only includes links, images, or content aggregated from the Internet with limited or no native iOS functionality. We understand that this content may be curated from the web specifically for your users, but since it does not sufficiently differ from a mobile web browsing experience, it is not appropriate for the App Store.
Basically, we are using UIWebview and safari as well. for show content, we are using UIWebview. and on click of a banner, we are opening a link in safari. I have already give explanation like
We have one admin panel from where we are adding this detail. But based on our requirement we need to redirect a user to specific link or show content. and for make things easy we have used HTML content. But we have used web view in detail page only. Rest of the screen have Native iOS functionality.
So basically we are not fetching website data. we are showing our own backend panel detail in the application.
But still, they rejected the app.
I'm in the same predicament with my app (it grabs content from my company's website like pictures and text and displays it in a native way). To be clear, I'm not using any webviews to display the content except for the Videos tab (see below).
I wanted to share what I've done so far to make it more "native", so you won't waste your time. My application is tabbed, by the way (Research, Blog Posts, Events, Videos, Bookmarks).
Added offline reading capabilities with Bookmarks to read blog posts and research summaries
Added SpeechSynthesizer so reports could be read to the user
Added push notifications for when new content was released
Removed UIWebViews and replaced with Safari Services (I am using WKWebView to embed videos into UITableView though)
Unfortunately, none of that has worked.

How to enable app on apple app store to view-able on browser?

This is the first time I upload an app to apple app store. After weeks for reviewing, finally, I get my app listed on apple app store. But the problem is, now seems like my app app-store page is only viewable from iTunes. When I try to open it in a browser, it will shows "Connecting to the iTunes Store...". Why is it my app can't be the view from the browser? Why did another app can? How to fix it?
Short answer: It seems, you cannot fully predict the behavior of an app store link for a certain user. You being redirected doesn't mean other people will be redirected right away as well. Your app's country/language availability, users' app store region and language settings, the specificity of the app store link (which has optional components and alternative styles), and the browser cache all seem to have a say.
Added details: After experimenting with this a lot, it seems to me that the behavior of the link (or rather the response from the Apple server to requesting it) depends on the language/country version being requested, my own current country/language defined in iTunes/my app store account, plus some caching issues. So, whether a preview page is shown in the browser, or iTunes is attempted to be opened right away depends on several factors and doesn't always have the same result (for different users). In fact, two consecutive attempts to open the same URL can have different redirect behavior.
I noticed that a full app store link like https://itunes.apple.com/us/app/keynote/id361285480 more likely leads to the preview web page, if the app is available in the language/country referenced ("us" in the example) and there is no prior request cached in which I clicked through to the app in iTunes. If the app isn't available in the referenced location, or any other information is missing in the link for the Apple server to identify a particular language version on the preview website, or there is cached data that makes Apple confident enough to redirect you to iTunes directly (or it's Friday 13th and the moon is right behind the sun by pure chance...) then you may see a redirect instead.
For posting app store links in the likes of Facebook, Apple's app linker seems to produce URLs with the nicest preview snippets (and not: "Connecting to the iTunes store"), when putting in the right country. So, these generated URLs seem to be most complete/specific.
If your app is intended for a specific region, AppStore connect will still give you a URL with .../us/... in it. Changing it to the respective local region seems to fix the problem for me.
For an example,
given URL: https://apps.apple.com/us/app/yourcompany/id123456
If the app is for Norway region, change the URL to: https://apps.apple.com/no/app/yourcompany/id123456

Can I find out the location of an app's icon on the home screen?

Is is possible to dynamically figure out the position of an app's icon on the home screen of an iphone/ipad?
Sorry I don't have enough credit to comment yet so I'm posting here.
To my knowledge no you cannot natively or easily do this. I know of no open source or other libraries. The reason being that your app exists in its own world, it is not in touch per say with the rest of the device. It can get permissions to read and write data but it doesn't know of itself.
Does that make sense?
When you open a website it cannot know which tab it is in the browser. Instead it knows how it was accessed and what device (physically) is using it. It knows the user-agent, the time, the browser, etc because that is information sent to it in the request. In turn the phone on launch gives data to the app in how to handle it but not for example how many other apps are running, or where it is on the screen. It's not normally considered relevant to run time. In addition it's a security feature in preventing an app from deleting or altering other apps, as well as itself. If you have an iPhone you will notice that SIRI cannot turn off google maps navigation or any other non-apple specific app. Only apps natively comparable and private party ones (ex apples) are accessible because Apple did that intentionally. They all know of their own existence and each others. However non-native in the sense of apps that do not come preinstalled and manufactured by the company creating the device are less trustworthy, in addition there are no guarantees about how they will be run by the device, where they will be, or what other apps will be there.
It is true that an app can request for another app it may be comparable with but it is up the user to handle that information.
May I ask for curiosities sake why you are trying to do this? Are there any other workarounds?
However in terms of it being physically possible, yes. I doubt that apple allows independent developers to do this however. But an example of this occurring may be gridlock where a user can move their apps around differently on the screen. The app in this case has the ability to access app position. But I believe in this case app position is about the UI and not about nested files. apps cannot to my knowledge modify information outside of their own file. Imagine if you had an app that could edit other games scores.
It is not possible to dynamically find out the position of an app's icon on the Home Screen (even for jailbreak apps). Apple wants you to respect the user's privacy settings.
Extra Info - There is popular JavaScript library that adds a promo bubble to the bottom of your mobile web application, inviting users to bookmark the app to their device's home screen.

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