Intercept iOS Deep Links - ios

I am new to iOS Development and am working on an app concept for a customer. The user experience could be greatly improved if the app was able to intercept a deep link.
This is possible in android since links are not bound to the website but to the app manifest itself. So if I make an app that can receive Amazon links, then the user can choose which app opens those links.
Is this possible on iOS using Apple deep links? I am aware they are more complicated since they require a component on the website itself. Furthermore, the app won't need to receive Amazon links if the Amazon app is installed.
I would attempt this myself but do not have an Apple Developer Account yet and don't want to invest without knowing the answer.

The only universal (deep) links you are able to hear about are those directed to your own domain. You cannot receive an Amazon link, because (unless you are Jeff Bezos in disguise) you don't own the amazon.com domain.

Related

How facebook App links work as deferred link on iOS

How facebook app links or Tapstream deep links provide support for deferred links on iOS.
For example when app is not installed on device then it redirect to app store which is fine; but it also sends the data to app on installation which was there with link.
There is no way to pass data through the App Store, so all deferred deep linking works by using a remote server to close the loop. You can build this yourself, but you really shouldn't for a lot of reasons, not the least of which being you have more important things to do. This is how Facebook and Tapstream provide deferred deep linking, and using third party tools for this is industry standard — even big names like Yelp and Tinder do so..
Facebook App Links are a completely different concept, and they have no support for deferred deep linking. They are essentially unsupported by any app on iOS (including Facebook) at this time, so they're not really worth your effort to implement.
The deferred deep link functionality provided by both Facebook and Tapstream is incomplete and unreliable. You should investigate a free service like Branch.io (full disclosure: they're so awesome I work with them) or Firebase Dynamic Links to handle all of this for you.

Is there a single "analytics/marketing" SDK solution for mobile apps?

I hope this is not off topic for StackOverflow since it is not just software development related but also marketing. But I guess this problem is something we developers are all confronted to.
To monitor and market our iOS app, we use a bunch of third party SDKs:
Google Analytics to understand what's happening
a push notification system (e.g. Urban Airship)
a "smart" review prompting engine (e.g. Apptentive)
a testing / crash reporting system (e.g. Testflight)
should you want to run app installs ads, you also need the FB SDK, an SDK to track Twitter conversions, etc.
you may also want to track where other installs come from via something like Tapstream.
So we are already running more than 6 3rd party SDKs in our app, and it does not feel right:
each of them will do some kind of hand shake every time the app is opened
it's as many potential issues
each of them will have a different web interface
Is there a way to optimise all this, i.e. to have just one SDK doing most things? Or does someone know of a lib to wrap all this stuff under one lib for instance?
There is no getting around a few of these. If you want to talk with FaceBook, Twitter, etc. You will need their SDK no matter the 3rd party SDK you choose.
You could actually write your own setup to track and deal with everything, but there are those that have done it before.
For example, Parse will do:
Analytics
push notifications
a "smart" review prompting engine (you can do this yourself by reviewing the analytics)
crash reporting system
it also uses FB SDK, Twitter SDK already to help with user logins where users my want to use their credentials from their sites on your app
user login
cloud database
You could technically throw an "event" into the analytics to track how many folks are using your app that was installed from x store. However, this would require a different version of your app for each store. Sounds like an interesting idea none the less. Tapstreme and others are basically marketing though, not really something required to do something specific. You will need an SDK if they are tracking something specific themselves.
one web interface
There are multiple systems built like this. they are called BaaS or Backend as a Service.
Hope this helps, Cheers

writing an iOS app to pay utility bill

Ok, I have a client who is a utility provider (like power, water, etc). They want their customers to be able to pay their bill from an iOS app. Since this isn't a product will it be okay to use an alternative payment gateway using WebView?
This specific usage sounds fine. Apple doesn't allow you to sell app content through anything but the store, but taking payment for an entirely external service should be fine, there are dozens of similar apps for general payment processing (LevelUp, 4square, etc.), and this is the same sort of thing, just for a more specific debt.
That said, if all your app is is a WebView wrapper for your site, Apple will reject it because of that. An app that wraps a webview must additionally use a nontrivial amount of native functionality.
In general, if your application is just a UIWebView embedded in a UIView, it will almost certainly be rejected. What is the benefit of an application embedding a mobile version of the website, compared to just loading the mobile site in the default Safari web browser?
If you are going to do this, Apple requires that the application be more than just a web browser loading a default URL. This can be one component of the app, but it cannot be the only component.

How did Google Music for iOS access data from another iOS App?

Today I downloaded the new Google Music app for iOS and it immediately had me signed in already. I assume they accomplished this using one of the other Google Apps on my phone. To keep this appropriate for StackOverflow, here's the question, specific and objective:
How (technically) can an app (like Google Music) authenticate a user using data from another app (like Google Search or Google Chrome)? I was under the impression that apps in iOS were entirely sand boxed.
I'm very curious in finding a technical explanation for this, so if someone could recommend a way to rephrase or retag the question, please feel free to edit or migrate.
iOS Keychain can be shared with your other apps via access groups, see this for example.

Apple store app - rules on external links / url

I am a bit confused concerning the rules of external links / url.
I am making a Native app. Its a free app. I would like to put it in the Apple store.
Its a cooking app with recipes and instruction videos. The app links to a youtube instruction video on how to cook the dish you have selected.
Example: They push the button. They will leave the app and go directly to my youtube cooking video. (I am new to programming and I think this would probably be the easiest way to do it)
Will they reject my app because I link to my youtube video?
No, that is definitely allowed. You can open the page in a UIWebView so it remains in the app, or have the page open in the Safari browser.
You can link to as many websites as you would like, as long as you aren't somehow breaking copyright (you aren't) or linking to inappropriate sites.
If I could make a suggestion, if you have not learned about the UIWebView class yet, you should look into it for this. It allows you to load web pages from within your app. This would be a lot better for you because users could remain in your app while watching your youtube cooking videos. There are plenty of tutorials available online, and the official documentation is here.

Resources