How to use Google Tag Manager for iOS (swift) with GCP Recommendations AI? - ios

We are planning to make a recommendations engine for the features in the app and we were thinking about using GCP Recommendations AI. Then, we ran into some unclear areas due to lack of examples.
Can we use Google Tag Manager for iOS (with Firebase Analytics) to send real-time event data to GCP Recommendations AI? Could you please provide some docs/examples/articles that explains how (We are using Swift to code the app)? It is possible for web sites, according to the docs.

You can not. Unless it's not a native app.
If it is a web-app, then sure you can use the power of JS to send whatever you need to any endpoint. We use Segment for real time personalization, but even that requires quite a lot of involvement from the app teams. And no, GTM is not helpful for native apps.
If you already have custom analytics tracking implemented in your app, then there's a high chance that the devs used a wrapper around the firebase/gtm sdk to send events in a more comfortable way or add adequate logging. In that wrapper then, the devs could implement the event streaming to your GCP recommendations AI in case it has the capability to store data.
If it does not, you can still set up a neat app engine (or a differnet endpoint) and stream data to it. The app engine would allow you to tweak, sanitize and debug the data, after which you can stream them to something like Big Query, which your Recommendation AI would likely to be happy to work with.
I'm talking about app engine and big query because there's a nice repo I've used a few years ago... Here: https://github.com/MarkEdmondson1234/ga-bq-stream
This repo is attempting to use front-end GTM to stream events, but you won't be able to use it (unless you're dealing with a web app). So instead, you stream them in a very similar way from your analytics wrapper.

Related

How to design a multi platform video conference/chat app?

I am a developer who is still learning . I want to design an app which can allow multiple people to have a video conference/chats simultaneously something like zoom . I know i can design native apps like specific for Android as well as iOS but I am still learning Android development and have no idea about iOS code .I searched and found that we can have hybrid apps having React,Node.js or with Angular.js and they work on different platforms .But as I'm a newbie I need suggestions as well as guidance .what I'm expecting in my app are following things :
Should support all video resolutions and audio quality, should
work in low and high network scenarios
Should be low on usage of power/ processor
Should not have any external hardware dependency
Should work on any device
Should have chat option during conference, even the multi
people conference
Should have sign-in and non-sign-in options to join a
conference
Can be browser and/or app based interface
Should have encrypted network communication
Should have audio/ video recording feature
Should have screen/file sharing capabilities
Should allow audio to close captioning during chat
(multilingual)
Should have capabilities to host multiple concurrent
conferences having multiple participants in each conference
I know its a tedious task to involve everything I discussed but I need guidance how to do this .
I have already told my expectation so now I want to know what steps I need to do so ,How to start as well as where to start ,what language/library I should choose ,whether having a hybrid app be a good idea or should I go for native apps .As I have earlier said I am a learner so I am going to learn each and everything to get my project done ,so whether its react or node or angular or whatever experienced developer are going to suggest/guide here .I know my question may look broad or even vague but still I am asking only because I see stack-overflow as a group of supportive accomplished coders .Hope you guys will help me in getting my project done .Thank you !
OK then you have got much work to do. I will point you to some references which should give you a good start. I will try to keep this as short as possible.
As you mentioned, WebRTC is the way to go.
With WebRTC, you can add real-time communication capabilities to your
application that works on top of an open standard. It supports video,
voice, and generic data to be sent between peers, allowing developers
to build powerful voice- and video communication solutions. The
technology is available on all modern browsers as well as on native
clients for all major platforms.
This blog explains how WebRTC functions in details - https://medium.com/#anto.christo.20/understanding-web-real-time-communication-webrtc-d4cec5a43f2f
This blog explains how to build peer2peer video calling in android -
https://medium.com/#anto.christo.20/understanding-web-real-time-communication-webrtc-d4cec5a43f2f
https://webrtc.org/ also contains lot of headstart material including sample code.
Once you have done this you can add other features on top of it.
Now, this will take care of peer2peer but if you want o build a multi-user functionality from scratch there is some extra work required as mentioned in the answer - how to build multi-user video chatting web app using webRTC, node.js and socket.io

UBER api, can I retrieve driver fare for each ride (for a driver's utility)?

I am building a small utility for uber drivers. Currently when they drop off a passenger and eventually get the resulting fare processed and returned to them, I have them manually enter it into the utility. Is there a way to 'catch' this information programmatically and automatically populate my utility when this becomes available to the partner application?
We don't currently make this kind of data generally available via the API. But thanks for your interest and the question, it helps us to understand what the community is looking for so we can prioritize what gets built and released next.
Keep an eye on the Uber Developers blog for news around upcoming APIs.

Using sockets to build real time chat for iOS?

If I wanted to build a real time chat app for iOS using Objective-C, what would be the best way of going about it?
Assuming you've got your server side things setup, you can use Square's Socket Rocket to implement the client side https://github.com/square/SocketRocket
If you're using socket.io at the backend, there are plenty of iOS libraries available for those as well. SIOSocket is one such library.
Maybe I am just lazy, but I do not see a point in building it all from scratch.
There are a plenty of backend providers who will be happy to provide you with ready backend and a library for building your app.
So, you'll just need to connect the solution to your project and make UI according to your needs.
Here are some backend providers you might consider:
ConnectyCube
Firebase
Sendbird
Layer
etc.
They provide different set of features, so I'd recommend checking those they provide first.
This article might be of some help as well.
Some of them like ConnectyCube can provide you also with development services, so you can order UI development according to your mockup design from them too.

hybrid mobile app development features

I am developing one mobile app, the requirement is as follows.
1.The app should work offline and online.
2.It should have database in both local device and in the server.
3.When internet is on data has to be synced between local and server.
4.At any point of time local data and server data should be the same.
I have done lot of research on this but not able to find whether hybrid app development supports or not. Some one says we can do but other link says it's difficult and might not be possible.
Please help to me sort out this issue.Thanks in advance
for sure it is possible to have those features in an hybrid app. All depend what you choose to use to deal with that or how you choose to program it.
Remember than an hybrid app have almost all features that a web application could have as it could use almost all technologies, tricks, frameworks and libraries out there.
I have already developed an hybrid mobile app using cordova, jquery and jquery mobile that meet points 1 to 3. Though I am not saying you need to use jquery, or any of the other tools. I described the solutions I use for that app, however they are maybe not the best but it was the most practical and easiest solutions given the time frame and budget.
Was achieved by mirroring the server "data base" the first time the app is installed with WiFi access. When no internet is available the the app use the local data, when it is available then it take the data from the server and update the local data.
The local database was not a formal one, just JSON data files, very similar to the ones provided by the web service.
You can be checking for an active internet connection with the cordova network functions, once detected try to reach the server to check if the actual connection is working, on success then proceed to request mirroring the data. Just be sure to check if the local data is newer to the server one and instead of overriding you should first update the changes in the server.
I think this point is a bit difficult given the fact that you want to work offline. When you are offline you couldnĀ“t do too much to reflect the server data into the app, as you are offline. Then having an exact mirror at any time is not feasible. However having a mirror when you have connection then that is another story.
Having a perfect data sync should be done carefully and instead of programming you own solution try to use a service or tools for that, like http://www.couchbase.com/mobile.
Hope it helps.
Hybrid applications are, at core, websites packaged into a native wrapper. They look and feel like a native app. Hybrid app have main features are portability (one code base, multiple platforms), Access to various hardware/software capabilties, cheaper orginigation costs, faster speed to market.

Native Windows Phone app vs Jquery Mobile + PhoneGap?

I am new to mobile programming, and I want to build a mobile app to fill few forms, offline, and then sync them later, when internet access is available, with a database on an online server through a VPN connection.
At first, I thought about learning Windows8 Phone App development, but then I heard/read about Phonegap and Jquery Mobile! and I am a bit confused which one would be better to use, considering two things:
1- Which one you think would be good for my app's functionality
2- Which tool would be more beneficial on the long run (in the mobile programming world).
Any advice would be very much appreciated.
With these functionality I don't thing you don't need many mobile dependent features rather you need more web features. For your first question, answer could be that technology in which you are more comfortable. But it also depends how you want to sync your data. In background or when the app is open. If you want to sync data in background that means app is closed, you have some data to send in server, and internet access is there, then you'll need some native windows phone code. In that case if you use phonegap ultimately you will need some native code to deal with it, may be you'll need to write a plugin to communicate between phonegap and native code. And if you don't need background process, if you want to send data to server only when your app is opened,phonegap can work like a charm. It'll be easy to communicate between 2 web technology.
For your second question, ofcourse phonegap is great technology to learn to deal with cross platform. If you need to make apps not only for WP rather for all platforms then phonegap is great. Having said that it's necessary to mention phonegap has it's quirks too. Native code always has it's benefit. Phonegap can't completely overcome native code. But if you are willing to compromise a bit, then it's easy to learn phonegap,a familiar tech than all those platform dependent techs like objective-c, android etc.
(N.B. I'm not an expert, it's just my experience so far)

Resources