Over time, Google has forced apps (due to different changes/actions) to increase the minimum sdk required by apps. This means that fewer and fewer older devices are supported by IP Cam Viewer even though it’s actually capable of supporting devices all the way back to Android 1.5 (yikes).
This process has accelerated recently so I’m getting more email from users complaining about their devices no longer able to download latest release from their Pray store.
To help existing users, I’ve created a special build using the latest code but lowering mininum sdk to 11 (Android 3.0) available to download from here.
Google needs to fix the Play Store for independent developers.
1. Recently, I got an email about IP Cam Viewer Basic being removed because it used SMS / Call Log permissions which is being limited now. Only problem is my app has NEVER asked for those permissions and it still does not!
Check out the list:
A possible cause of a false positive by google bots maybe a bug in their code which assumes minimum sdk level 15 and below automatically grants READ_CONTACTS. However, my app’s target sdk is 26 so this is NOT the case (and permission tools verify it):
From Google documentation:
Note: If your app uses the READ_CONTACTS permission and both your minSdkVersion and targetSdkVersion values are set to 15 or lower, the system implicitly grants your app this permission. If you don’t need this permission, be sure your targetSdkVersion is 16 or higher.
Furthermore, I don’t even read contacts and READ_CONTACTS is not listed as one of the SMS / Call log permissions being limited. Still don’t what why I got this removal so I bumped minimum sdk level support to 16 dropping support for older devices to just avoid this potential Google bot bug.
2. Now today, I got an email from a user that IP Cam Viewer Pro was not in the Play Store anymore. Logging on, indeed it’s now removed except I never even got an email from Google on why! Yes, I checked spam folder.
Console says to read email on reason, yah, no email!!! Reached out to any contacts I have for an answer on why but this is ridiculous. The app has been in the Play Store since it launched back in 2009/2010.
3. The situation is better than pre-2016 when they would just suspend your app without any real way to address issue. Now, they mostly remove your app and you can re-submit but what *is the problem* so to avoid uploading triggering further consequences.
It seems their recent burst of activity to remove apps have bugs/problems that catch innocent small independent developers in a black hole. It’s a dystopian future run by bots (borg) and I’m paranoid of random vague removals (and even no reason in this recent case).
My final solution? I’m considering not updating the Play Store anymore and just submit updates to Amazon App Store and downloads from my old website.
So done with the Pray Store!
3/9/2019 update: Still not sure what caused #1 but #2 turned out to be a Patreon link in the Help screen. Ugh. Please download app directly from my website and bypass the Borg empire.
Wow. Can’t believe I’ve been building and supporting IP Cam Viewer for over 9 years. If you have used it for many years, please consider becoming a patron to help keep IP Cam Viewer going. Thank you for your support!
Please become a patron.
Most new IP cameras are using P2P be default. These cameras will send data to a central server either for IP lookup, recording or for relaying data (if direct connection by client to camera fails).
Worse, some cameras still report information even if P2P is turned “off”. These cameras often have a generic API which allows the server to issue any linux type commands or network calls (trojan horse). Even features like alarm notifications are sent to servers like “push.reecam.cn”.
Yes, they are easier to use – just plug in – but I’d rather connect app DIRECTLY to the camera. How can you try to secure these cameras, dvrs, nvrs? See below:
1. Most P2P cameras have a hidden web interface or offer RTSP/ONVIF support, so find those ports either in the admin screens or via port scanning.
1. Turn off P2P feature in camera and use the traditional DDNS/DNS plus port forwarding setup instead.
– see https://hit-mob.com/ip-cam-viewer-android/faq/#2
2. Disable camera’s ability to reach out.
– set it’s internal IP address statically so you can alter the Gateway, DNS, and other values.
– set it’s Gateway IP address to a non-existant address (so it can’t find it’s way to internet servers)
– set it’s DNS server IP to a non-existant address (so it can’t lookup address of internet servers).
3. Use stunnel to protect your cameras.
– run stunnel on an old android, pc or raspberry pi.
– for example, https://myhome.ddns.org:8001 goes to stunnel at port 8001 which then converts back to non-ssl forwarding to camera’s internal 192.168.1.55 port 80.
– this way, you only need to open the stunnel machine to the outside and secure it. All IOT devices are not exposed except through stunnel via SSL.
– most cameras have multiple ports, so remember to setup stunnel/port forwarding for required ports (often HTTP and RTSP ports).
Finally, turn OFF UPNP support in your router to prevent internal devices from automatically opening tunnels from the outside to the inside without you knowing it.
You can run IP Cam Viewer on Mac, Windows, Linux and Chromebook via the Chrome browser! Until IP Cam Viewer is published in the Chrome App Store, use the following steps to run IP Cam Viewer via the Arc Welder Chrome App.
1. Install the Arc Welder app in Chrome.
2. Download the IP Cam Viewer Lite APK file.
3. Run Arc Welder, click “Add your APK”, select the APK file.
4. On the configuration screen, use all defaults, except enter the following into the “Additional Metadata” field (last field on the bottom):
5. Click the “Launch App” button
When app is run for the first time, Chrome will ask you to select a folder (or create a new folder) on your computer. This folder is where IP Cam Viewer files will be stored. Anytime the app uses “/sdcard/…” or any other path, the files will be located under this folder.
Want to know who’s ringing your doorbell? Want to let someone inside while away from home?
The Celius CEL-iN1 multifunction door bell will call you, let you open/close doors, and let you interact with visitors via cameras using IP Cam Viewer. Watch video.
Integrating IP Cam Viewer with third party apps and products is possible with the app’s embedded web server API, Android intents and launch URLs. Device integration include Android Wear watches, Amazon Fire TV/Stick, Chromecast, HDMI sticks, Google TV, Android TV and SmartThings home automation hub.
IP Cam Viewer is available for Apple, Android and Blackberry devices. Windows Phone 8.1 release is targeted for summer 2015!
The android version of IP Cam Viewer now supports Android Wear devices (see link).
In Gallery View, select More Actions then “Push Android Wear App”. Once the wear app is deployed on the watch, you can launch the wear app on the watch and view your enabled cameras (including some basic functions like relay on/off and quick preset recall).
So now, IP Cam Viewer in one form or another supports Amazon Fire TV and Fire TV Stick, Android TV, Chromecast, Android Wear and stills works from Android 1.6-5.0!
Can’t believe I got the Fire TV Stick for $19 bucks! Did you know it actually runs Android apps so it’s basically the cheapest hdmi stick (unlike the dumb chromecast stream player).
Good news! If you use IP Cam Viewer to record your cameras 24×7 and have a SmartThings hub, then you can automate motion notifications globally and vary camera groups based on the Away / Home modes in SmartThings.
Add presense detection in SmartThings to switch modes and you won’t even have to push a button.
Finally, you can integrate any camera supported by IP Cam Viewer into SmartThings by using the app’s embedded web server.
Read rest of the article here…
Starting with v5.3.7, IP Cam Viewer now has an embedded HTTP server! This server can be used for remote control of record mode, tasker integration, chromecast, cam hosting and more.
IP Cam Viewer already has in-app motion detection with notifications in Record Mode. Adding remote control will allow you to change settings like turning in-app MD notification on/off while away from home, or recall a group to change recorded cameras. See this post for access information.
Many people have asked for tasker integration but I’ve held off in-order to find a lighter, simpler and more extensible solution (compared to their plugins). Adding commands to the embedded web server allows for tasker integration via it’s HTTP automation features while enabling easy integration with other tools.
Want to share your cameras via a website but 1) don’t want to share it directly, or 2) don’t know it’s API, or 3) it’s has some custom binary protocol / video format? Now with the embedded web server, all 1900+ camera types supported by IP Cam Viewer can have it’s own simple web page. Of course it’s only available from the local network in record mode but you can choose to open it up (port forward) to the outside.
Chromecast support is now available in v5.4.3! In Gallery View, select More Actions and Show in Chromecast. IP Cam Viewer will send instructions to play (via it’s web server) to a Chromecast device using a free app called IPC Cast Proxy. I published this app solely to support Chromecast integration (it does nothing else). The reason is that direct integration requires lots of libraries which I’d rather not burden IP Cam Viewer for performance, stability, size and portability reasons. Remember that IPC runs on pretty much all devices from Android 1.6+ and many third party Android platforms like Barnes & Nobel, Amazon, Blackberry, Microsoft, Intel, etc…
Backing up a bit, if you really want to see the display on a TV, you can do it today with a $39 Amazon Fire TV Stick, or $50 Android HDMI dongle like the MK908, or a sub $50 Walmart tablet. They all run full Android apps! Chromecast doesn’t run android apps and require apps or android device to send it video using up bandwidth (why when you can run full android?) Future chromecast will have mirroring (should have come with it from beginning IMHO) so the proxy is no longer needed then (argh).
In summary, the embedded http server is here and will be built out over the coming releases.
In the past, people have consistently emailed to confirm that the application does not run in the background (due to bandwidth concerns). In fact, the app does not run in the background unless you are using home screen widgets or record mode (rate is adjustable).
Because of this concern, the closest to a baby mode was to run in Gallery View with Auto Dimming turned on (see App Settings). This way, you can hear audio and have a dimmed screen (for night time). The screen will turn on if touched or motion is detected.
However, there’s been an increasing email demand for another option to play audio even when app is not in the foreground and when screen is locked! This goes against the demand by other users to not run in background.
With Android v4.9.5, I’ve added a new Background Audio Mode option (in Gallery View, click Menu key). In this mode, and only in this mode, the app will continue to run in the background and play audio even when phone is locked (audio includes motion detection notification sounds if enabled).
In summary, the Android app will not run in the background except if you’re using widgets, record mode or background audio mode.
ps. the iOS version never runs in the background.