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

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

Related

Is there any way to get the number of downloads of my iOS app?

I have been doing R&d for some time and I am trying to make a single platform where I can see all the numbers of downloads of my iOS app. I have gone through the documentation but the way we can see the app statistics is through login and then download the report. I like to do it pro-grammatically without using any third party extensions or packages. Just like for android you can use google storage api here in the docs google cloud storage (API). But is there any way to do the same with iOS apps ? The only API which they have exposed is App store connect API but it gives you results of sales and trends. I am not sure if it tells you also the number of downloads of your app.
Please point me in the right direction. I might be following the wrong path but I have googled a lot and i could not find a direct way to do that without using third party extensions.
Per the documentation for the App Store Connect API, the endpoint GET https://api.appstoreconnect.apple.com/v1/salesReports gives you daily, weekly, monthly, and yearly app sales figures. That's not downloads exactly, since somebody might download your app multiple times in order to install it on multiple devices, reinstall it after deleting it, etc. But it's probably the closest you're going to get without either creating your own analytics system or using a 3rd party one.

What is the best way to track iOS SDK usage?

I would like to get a statistics on how many people are using SDK that I'm providing. What functions they use the most and etc.
For apps I used firebase/fabric in order to track all that. But those services come with a responsibility (privacy policy). And if I just pack them into SDK that may conflict with people apps who don't want any tracking SDK being included in their Apps.
So the question is, are there any services that provides SDK tracking without violating privacy policy of user data collecting?
So far I was not able to find any of those specifically for SDK.
As a side question, If such analytics is taken place in SDK, should it be explicitly written in SDK description?. And should the people who integrate such SDK explicitly write in their app description that particular SDK is collecting their usage?

How to de-duplicate notifications between native and progressive web app?

If I have both a native app and a progressive web app using web push notifications powered by service worker, is there a way to prevent a user from receiving duplicate notifications if they opt in to receiving notifications from the web site and also have the app installed?
In short - there is no easy way to do this today.
There is a discussion on Chrome here on this: https://code.google.com/p/chromium/issues/detail?id=402223
The last comment from October 2015:
For now the safest minimal solution is for sites to provide an easy
opt out mechanism (which we strongly recommend you do anyway!) so
users can turn off notifications from one platform
Another possible heuristic based solution is to take some measure for
which interface (web or native) the user most often uses (or most
recently used) and only send to that. Combined with grouping these
devices by rough screen size should give a pretty good approximation.
The issue is that if the user has two similar sized devices and uses
native on one and web on the other then notifications will only be
delivered to one, which is an edge case.
We've also been discussing building an API so sites can tell whether
their corresponding native app is installed to avoid this case, but
need to start discussing that with other browser vendors to see if
they'd be supportive.

Is there any detailed insight for iOS App like in Android?

I notice there is no detailed insight on my app on iTunesConnect like android insight GooglePlay.
Is there any way to track user detail on every user install my app? I need more distinct information like, iOS version, phone provider, phone type, etc across installed app like in Android insight? does Google Analytics could do this?
Thank you.
There are quite a lot of analytics providers around that cater for iOS. As you mentioned, Google Analytics (which is free) should do what you need. Mixpanel is a really nice provider, but is only free for a certain amount of data. I've also used Flurry in the past (also free), but I find their web interface to be quite clunky.
If you want to track sales and App Store reviews, I'd really recommend AppFigures. Great service (paid, but a low monthly cost and you can cancel whenever), which gives you great insight into who's downloading your apps.

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.

Resources