I am using Splunk Mint (or Crashlytics) for app management, I can se how many users are active, crashes in real time and some other info. Is there a tool to interact with users from this tools? For example I see that some users keep using a old buggy version, and I'd like to sugest them to update it.
p.s. I know, I can implement GCM and somehow analyse data and send push notifications, but it would be nice an simple one click solution.
You may start with FCM as it is latest as well as has more features
follow link below:
https://firebase.google.com/docs/cloud-messaging/android/client
happy coding
Related
I've a made a really basic chat application(no need to see the code)(from the course of Angela Yu, flutter)it is integrated with google firebase which uses firebase_core, firebase_auth & cloud_firestore packages for authentication and uploading chat data in cloud Firestore.
I've installed the app through debug.APK( 1. would it matter if it was release.APK?) in my & my friend's phone both android ( let's take a neutral approach i.e the phone could be either IOS or Android).
What I aim is if I change my code( or we say update my app) I would want my app on both the phones to get updated( either automatically if possible or send a alert when user opens the app to update it), all this should be done with free of cost. 2. How can I achieve this in simplest manner?. I know there is a standard way for this if the app was in Google play store or App store but I don't want to upload it on stores.
My guess for this is that we integrate our app with a server so that every time the app starts it checks for a update with the server and ask the user to update and gets updated. If this is achievable can someone please guide me with these two methods mentioned below:
3(A). through free online server( can we use github or firebase?)
3(B). and can I make my own laptop as the server and code the app such that it doesn't need the server to be always online.( as in if my server is online it checks for update else it continues)
3(C). through paid servers ( just for information)
(4) Also please tell me why we chose cloud firestore over real time database for a chatting application?
(I don't want to create a web app)
I've no idea how would any of this be achievable like nothing like what server would be used or is this even possible. So please help me with a detailed explanation on all( 1,2,3(A),3(B),3(c) ). Any help would be really appreciated!
Since you already use Cloud Firestore, consider creating a document in there with a field that contains the version number of the latest app release.
In your application code you then read this document upon startup, and check it against the app's own version. If the version from the database is newer, tell the user to upgrade.
You could even include instructions on where/how to get the latest version in the database too. That can come in really handy of you suddenly have to change your release mechanism in between versions.
I want to create a push notification system in nodejs, which will be suitable for both iOS and Android. I've been searching, and at the moment I am thinking about this one:
http://devcenter.kinvey.com/nodejs/guides/push
Can anyone, who has been working on something like this, tell me what is the best way to implement that?
I think the best way is to use Firebase Cloud Message (FCM), you can send notifications to your Android and iOS devices over an fcm_token provided by Firebase SDK. It's Google solution and simple to use.
https://firebase.google.com/docs/cloud-messaging/?refresh=1
If you dont like Google, this is an other 100% free option that allow you to do the same job, One Signal.
https://onesignal.com/
Another commercial option is Twilio: https://www.twilio.com/docs/notify/send-notifications
I have an android application that is designed to receive push notifications via GCM. When I initially designed the application, I used a "deprecated" tutorial (merely because it was one of the most in-depth I found) and my dev phone was running API 2.4, so I was able to get the service up and running without much issue.
Now, my development device is running Android version 4.4.2, so my goal is to "upgrade" my application to handle GCM properly for all devices (for now, lets ignore the fact that I'll have to differentiate how to handle Push Notifications depending on API level).
I attempted to follow the Android Developer tutorial for creating a demo client app for Google Cloud messaging, which can be found here. https://developer.android.com/google/gcm/client.html
While I hate to sound like I want to ignore to smart coding practices, this official walk through was a little big in terms of scope (My application supports Phonegap, and while I think implementing native GCM is much easier than using the PushPlugin for Phonegap, I don't want to handle more than is absolutely necessary in my Java code)
As a last ditch effort, I simply downloaded the demo gcm code from the source they provided here: https://code.google.com/p/gcm/source/browse/samples/?r=1ca8e646c517310e2d46a6a6eda74106b8084fc5
I attempted to import the gcm-demo-client application, and although I know my SENDER_ID, I don't understand anything about the SERVER_URL. The documentation provided by Android Developers talks very generally about HTTP vs. CCS, and I'm struggling to grasp where this server fits into the grand scheme of all that is Google Cloud Messaging.
Assuming I download the gcm-demo-server project directory they included (which seems to be some kind of Java Project), how do I host it? My previous deprecated GCM simply used a basic android application in which I would submit a form containing the device Registration Id, and a message with a title and context. Unfortunately, I can't figure out how to import their demo-server into Eclipse (since Eclipse doesn't think it contains ANY project files), AND I cannot seem to understand how this server connects with my application in any capacity.
TL/DR Summary of questions:
1.) How can I go about "hosting" the gcm-demo-server from URL #2 above?
2.) If I can just copy the Registration Id from my client app to the clipboard, can I just use my "android server" application to send my messages?
3.) Maybe it's just me, but I don't see anything resembling a Receiver class in the gcm-demo-client project directory, only a GcmIntentService. How can there be an intent when the application can't even properly handle messages?!
Thank you for your patience and help!
(P.S. - I cannot provide any code- however since the code in question is merely the provided Android Developer GCM demo code, this hopefully won't be a big issue)
1) There are many companies that offer server hosting services. You should choose one.
2) If you copy the registration Id manually, and hard code it in an application that serves as a "server", you don't need to host a real server, though that would only work in development. In production, assuming you'll have multiple users who install you app, you'll need a real server that receives and stores the registration IDs of all of them.
3) The demo client project you are referring to is old, and relies on a deprecated library (gcm.jar) which contains a default implementation of the BroadcastReceiver, which receives the messages from GCM server and starts the intent service. If you refer to the current demo app, you'll find a BroadcastReceiver class.
The demo app might not work because it is a gradle project and you should preferably open it in Android Studio. That might be why it could not see it as an Android project at all.
I have recently started implementing GCM myself and it is not difficult at all. I am using AppEngine for holding the backend part of my app. In Android studio, there is a very quick and easy way to generate both the android client and the backend part including the cloud endpoints and even a web interface for sending the messages (you don't need to use it though).
I followed this tutorial https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/GcmEndpoints
Maybe this is not a fully satisfying answer for you, but I found the code very much readable and I understood how this stuff works.
[Disclaimer: I looked around at the other stackexchange websites and couldn't find a perfect place to post this question, so i'll post it here. i'm happy to take it down and place it somewhere else if you know where this is supposed to be. please do not downvote because of that]
Currently we use a 3rd part tool (HockeyApp) for monitoring crash reports on an android app. They have an API that i can use to query for crash reports. I want to be able to have an automated crash report system where if certain conditions are met, i get an email (or maybe a phone call). For example, say i get 9001 crashes within an hour, i would like to receive an alert.
Is there a tool for doing this already? (crash monitoring for android, using hockeyapp is highly preferred)
I looked into rolling out my own Ruby on Rails app for doing this, using ActionMailer apis. has anyone had any experience with this and recommend it? Or what would be a better approach? (If i have to roll out my own tool, dev time is of the essence)
What kind of tools do your/other companies use for this kind of situation (crash alerting/pager duty)?
You can continue to use HockeyApp and set a webhook when a new crash was created. This webhook can point to your own backend or to a service like Zapier, which can then trigger a PagerDuty, email or all kinds of notifications.
You can look at crashlytics. They notify by email and send daily stats on email. For detailed stats you can visit your account. But this service is only for crashreporting.
I'm working on the Android version of an application I first created on iPhone and this application requires to send (if it's as successful as its iPhone version) up to millions of push notifications to users daily.
I naively thought the Android platform had a push notifications service as its sibling so I decided to look at this feature at the end of development and now here i am!
I searched stackoverflow for answers about this feature (issue ?) and found several options (thanks guys!) BUT did any of you guys was able to achieve such a feature with such a volume?
Here's the options I found :
Google's C2DM Framework : my first issue is that it's for Android 2.2 + only but I may consider it if there wasn't this 200.000 notifications a day quota; did any of you guys requested more quota from Google ?
MQTT : this solution looks good and the sample code provided by Anton Lopyrev is helpful (and Dale Lane blog posts are a good read); this is the option I'm using right now but I have no idea about how it may react with thousand of users (I also have trouble with the server (mosquitto) OR the service (I don't know yet) and I am not able to receive notifications sometimes with 2 users :p)
XMPP : it looks like the best option (yet ?) but I haven't tried it yet; did any of you guys use this solution ?
I've read about Xtify or Urban Airship but none of these commercial solutions may help (volume or cost).
Thanks for any tips!
Edit : my goal is to be able to send up to 5,000,000 notifications a day
200K is the development quota, we'll be happy to grant you more if you need it. Android 2.2+ represents >80% of Android devices in the field today. We typically turn these requests around pretty quickly.
http://developer.android.com/resources/dashboard/platform-versions.html
All I would mention is that XMPP can be pretty verbose, you might want to look at MQTT if you want to keep your network usage low as it is very efficient.
If you are trying to send many million notification or presence packets, SoapBox Server 2012 is capable of sending over 100k message per second on a single server as well as concurrently connect more than 250k users.
Our 8th generation platform has been designed for non instant messaging use cases, such as Remote Device Monitoring (RDM), Cloud Message Bus, Software Defined Networking (SDN).
You can download a free trial of our XMPP Server and XMPP SDK at our website.
Update: according their blog post Notifo Will Be shutting Down. But that blog post is already more than a year ago and I believe they are still up and running
Also I would like to point you out to notifo which is pretty cool. I don't know about if they have a quota at all, but I guess you should sent them a message, which generally gets responded within a day.
Base on my investigation, if you want to use C2DM,the google framework must be installed in your android device. If you have google play, that implies google framework is installed.