How facebook App links work as deferred link on iOS - 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.

Related

How to get statistical data of app usage of other applications on IOS using react native?

I've been trying to see if it's possible to get information about app usage on IOS. For example, how much time a user spends on his/hers Facebook or Safari applications. How could one go about doing this within a react native application? Is it possible to do it with any framework?
No, it’s not possible. Apple is very strict about this.
An app cannot access other apps' sandboxes, for any reason. Everything an app can do is restricted to its own sandbox, and in no way can other sandboxes be accessed.
User security is very important for Apple.
If the app you are trying to get the data about has an SDK that can be integrated in your react native app, and the SDK has APIs to provide information about usage analytics for the user(which I don't think is possible with FB SDK), you could ask the user for authorization via the SDK and show them the usage analytics information. Although, chances of these APIs being in an SDK are slim, this might be the only way.

Intercept iOS Deep Links

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.

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.

Facebook iOS SDK vs Social framework

I want to write app that is heavily integrated with Facebook. I'm not sure what shoud I use - sdk provided by Facebook or new Social Framework provided by Apple. Do you know some pros and cons of them?
[EDIT]
I ended using Social Framework provided by Apple, because it's much easier to integrate, It will be develop in future, and I have access to device owner Facebook account, so user don't have to log in to Facebook when using my app. I want to do some custom stuff, so I get oauth token from ACAccountCredential and then I make requests with AFNetworing to Facebook's Graph API.
The Social Framework is designed for simple, site-neutral data manipulation. Examples might include getting the user's 'activity feed' (as described by the docs) or posting a new status or photo. It currently works with Twitter, Facebook and Weibo however, other than lack of features, the current main disadvantage is that it is limited to iOS 6, which won't be as much of a problem in the future.
On the other hand Facebook does have an iOS SDK that makes it reasonably easy to integrate Facebook into your app, and it is much more powerful than the Social Framework. Another benefit is that support goes back to iOS 4.3.
I'd recommend using the Facebook iOS SDK over writing your own custom one and using OAuth because Facebook has already done the work for you.
I've struggled with this decision for a long time and came to this conclusion. If your app doesn't care for iOS 5 and older phones, then the iOS Social framework is the way to go, as it allows the user to share with any of the popular social outlets (Facebook, Twitter, email, Weibo, SMS...) just like one can do in mobile safari. According to Apple, 89% of the iDevices are already on iOS 7. The percentage will be higher if you include iOS 6.

Resources