We are building a custom, company-wide dashboard. Is there a way to get the number of users (through REST API) that downloaded and are actively using our iOS App?
Our app has Fabric integration (seems Fabric will be a part of Firebase soon?), but maybe there are other, better alternatives?
I checked Fabric and Firebase's document, there is no REST API to get activity data from these service. You can get data from their dashboard, the format is csv.
I saw some python library claimed they can do this job, but not sure these library can work or not. You can search "Firebase or Fabric" on PyPi.
In our iOS mobile app we have forms to create, edit and delete certain resources.
We want a user of our app to be able to create and delete these resources when offline and have them update to the webservice when a connection is available.
On Android we use a library by Evernote based on JobQueues which allows us to schedule a job to run when the network is available.
Evernote Android-Job Github
Is there an equivalent technology available in iOS or what is the recommended approach to achieving the same queue effect.
On iOS we use Realm as our on-device database and Alamofire as a network library.
Realm Sync can accomplish this but you will need Realm Object Server on the backend and the reachability triggers as other's have mentioned.
I'm considering to use Firebase as the server database for the mobile app (iOS). The point is user should be able to:
Work offline with data
Run some queries on data even if it's offline
So I believe the first problem is not a problem anymore as for Firebase implemented the local offline version but what about the second one?
The scenario is: user downloads data when it's online and keep working with loaded data even if it's offline. What does it mean - the app allows user doing search by different criteria, so I have to implement some type of queries on the mobile. I can't figure out though if it's possible with Firebase.
I am working on an app that requires near realtime updates for a certain table. Is there built in functionality with the current AWS iOS SDK to be notified when changes are made to a DynamoDB table. I've done a little reading and know about the DynamoDB Streams, but I didn't see anything about them when looking through the iOS API reference.
If the functionality doesn't exist in the iOS SDK yet, would it be possible to get the Dynamo shard information into my app from another source (i.e. REST API call)?
I want to develop application same as UBER in which I need to show available taxis in the selected region and update as the taxis are hired, available, unavailable. Kind of auto refresh.
Calling the web service in the background after regular time interval is not a good option.
Can any one suggest me better and fast way to achieve this.
Thanks
Push
Use sockets when the app is running. This will give you immediate updates.
Use Push notifications when the app is not running (use notifications for critical changes), and ignore these notifications when the app is already running, in favor of sockets.
Pull
Use NSURLSession to refresh your local DB with some regularity. This is very resilient to network failure.
Use a combination of approaches, since speed and robustness are mutually exclusive. Ultimately, your objective is to keep your local DB in sync with your server's DB, and fire internal messages as data changes. No small task, hence the Firebase answer.
The Most Simple way is to work with Firebase . Its No sql database and you will have instant update as you change anything .
This Video will guide you how speedy you can get update without any loop for refreshing data in application .
Ask me any help you need regarding Firebase .
You can use silent push notifications to update your map with updated taxi locations.
I would suggest you take a look at CloudKit. There are several reasons.
If you decide to just build one app and somehow have driver
functionality that is different from users (maybe by having drivers
register and sign-in) then the app can post shared data to a public
online database accessible to all users. You could use information
in this scenario to post local notifications as the need arises.
As iOS updates you will not be dependent on third party libraries
If you decide to create a driver app and a separate user app,
CloudKit will allow you to share data across these apps.
Apple deals with the security and availability.
Overall the process is very easy to implement.
You can combine the local notifications with the public database to
schedule reminders, alert users etc.
CloudKit when done correctly will be essentially free. Just transfer
CKAssets rather than raw data and your transfer/storage limits
become negligible.
You can also access your CloudKit databases from external web
services/websites if you want to extend the data further.
You can use CloudKit subscriptions to sync up user information
automatically
NB - As pointed out in comments this is new technology. It is in the
second generation and I prefer it because if one uses it creatively
then you can simulate the external push notification behavior together
with background support. CloudKit removes the need for a third party web server from which to push the external notifications (as the real notifications take place by writing to the shared database).
Check out my detailed answer on SO for sharing the data between apps with CloudKit. Here is a link to some CloudKit videos that further describe how CloudKit works. Apple has lots of documentation and sample projects available. You can review the developer website for more info on CloudKit.
CloudKit Quick Start