Initially I had a single app registered with Flurry.. we used this app pre-launch for testing etc.. and flurry captured all the data from my testers etc. We have recently launched the app and basically made flurry only capture the data from live users (ie so that it doesn't get polluted by our testers actions).. is there a way to instruct flurry to erase or hide all the data it captured prelaunch and just show us the post launch data?
One of way of doing this is to select which version u're interested in looking at
the problem with this approach is that it only gives you stats for a single version..
another approach is to simply delete the versions that contains the polluted data.. this way you can go over the results of all the versions that have accurate data
Flurry recommends that you create two or more projects for each app. You can use one project for development and testing and another for the published version of your app. Just don't forget to swap the api key when you publish the app.
This also has the benefit of splitting your versions up so you do not approach the limit of 1000 versions per project.
Alternatively you can use the timeframe filter to remove data that precedes the publication date of your app.
Related
I'd like to build a simple iOS only app that's going to be social. I don't yet have a way to monetize this app, so I'd like to keep this project as cheap as possible. Since it's iOS only, I figured I would use CloudKit because of its very generous free tier. However, if I ever decided to make this a cross platform app, would I be able to migrate my user data somewhere else?
I think you can use CloudKit with Android because of the CloudKit JS implementation. The real problem is, that I think that also the android user needs an iCloud Account do something with that.
So maybe the better way is to use google firebase.
https://firebase.google.com
As of December 2019, there is no simple way to migrate data from CloudKit. The data stored in each user's private data base is not accessible by the developer.
There is always the option to do this inside of the app for each individual user. If the data is not too large and complicated it should be easily done.
But make sure to inform the user and give them a choice to move or don't move the data. Let both services run for some time parallel before removing the cloudkit option for old users completely. Obviously moving data using the app can cause certain issues if the move doesn't go as planned.
I built an in-house app for selling tickets and checking-in students to our High School dances. At the moment the app can scan a QR code with the student's information and add their name to either a "Sales" list or "Check In" list. Then the app can export these lists to a CSV file and we compile all the data.
App works perfectly as expected. NOW I want to be able to sync data between multiple devices so that every device will see an up to date Sales and Check in list. The check in list is most important because then our faculty chaperones can all see who has arrived to the dance in real time. I figured I would need to build a server to hold all the data as opposed to on the individual devices like I am doing now (CoreData). Can anyone please give me guidance or advice as to where to go from here? I am using Swift and developing for iOS 10.
I would just answer the general approach to tackle this problem since the implementations would largely be depending on many factors (what database technology is available, the platform of the server, etc.)
You are absolutely right, you need a server to hold the data. Technically speaking, it is a database that holding the data. Thus, you need a database running on your server (there are tons of selections here: Maria DB, SQL Server, Mongo DB, etc.).
Next, you need to build a web service on top of the database so that the iOS app can interact with the database (add/delete/update/read rows). Web service is a very common layer in full-stack application since you normally don't access the database directly.
Finally, you need to guard your web service with some sort of authentication. I.e. you don't want any random person out there to be able to access your web service without permission. There are many implementations out there to secure your web service and you should be able to google that easily.
Firebase might be the easiest solution. Its pretty simple to setup, and its pretty simple to set up data persistence when you go off line. I'm big on trying to stick with the built in Apple services, but Firebase is hard to beat for simple apps.
Take a look at CloudKit, or perhaps Firebase or Azure, as services that will provide a back end server for you, and give you a tested SDK to build against.
We are beginning to use Flurry analytics in our iOS applications, but the production data is polluted by emulator sessions and QA device sessions.
Is it possible to avoid that in other ways than by using separate Flurry accounts for dev/QA and production? I cannot find options to filter data in the Flurry admin console.
I have read suggestions to use an invalid key for non-release configurations, is there nothing better?
Using a separate API key for testing/development and for the live version of the app is the best way to prevent test sessions from mixing with your live data. You can solve the problem going forward by creating a new project for future testing.
Looking backwards one way to filter out the data would be to use the time frame filters to remove the testing data from the metrics display.
If you have specific app versions that contain only testing data those can be deleted individually, but be very cautious with this approach. Version deletion is irreversible.
When using PhoneGap, do users lose all of their saved data when they update an iOS app downloaded from iTunes?
I am hoping that anything stored in either Webstorage feature in Construct 2 will be preserved whenever someone downloads a new version of the app from iTunes, but I'm afraid to build a whole Apps only to have a bunch of upset users when they update the app. I know when I build an app in Objective C I have to go through some hoops to get the Core Data store to migrate correctly.
The other option is to mirror the data to an external server/database, but I want to avoid that expense and complication if I can.
If you change anything in the tables in CoreData then you would have to implement migration for the tables by creating a new version (check apple's documentation here: Lightweight Migration)
Otherwise if you don't change anything updating the app would not make the user lose any data.
We are trying to create an iPhone application that will automatically receive data from a database. Which is a database that will work with Xcode. Our goal is that users can go to our website and input information. That data will be recorded to a database. Once the user downloads our app, the info should then be retrieved from the database and included in the app. We are wondering what database is suitable. It must be able to receive information from a website AND submit it to an application.
You're unlikely to find a iOS "aware" database that can automatically sync content over the internet.
However, you can of course obtain the data over the internet yourself and then insert it into the local database on the device, in which case the popular (and supported out of the box) SQLite would seem like an obvious choice.
As #Deepak also suggests, you could use Core Data which is a (sort-of, ish) ORM that can automatically use SQLite as it's underlying storage mechanism.
The solution that most people use in this case is to use an RDBMS like MySQL and build a web-service layer on top of the database for the entities that your iPhone app is interested in.
This way, when a user goes to the web-app, they can add the data that you allow them to add there, and later on they can access the same data from the iPhone app via the web-service layer also.
Couchbase's new iOS-Couchbase framework is in beta right now - all the functionality of Apache CouchDB on your favourite developer platform - at https://github.com/couchbaselabs/iOS-Couchbase. the iOS release is new but we're looking for it to go places!
Its awesome sync abilities would allow you to pull down any relevant content from your website via HTTP/JSON, or further formats using shows and lists if needed. Pushing data the other way is just as easy. Sync can be continuous, or on demand, bidirectional or one way.
Take a look at some of the Couch App frameworks (not for iOS but for your website)
http://techzone.couchbase.com/community/articles/couchdb/recipes
http://www.mail-archive.com/user#couchdb.apache.org/msg13928.html lots of comments on this thread
A+
Dave