Google Analytics in iOS Embedded Framework conflicts with hosting app? - objective-c

I am building an iOS 8 Embedded Framework which will be available to our clients to integrate into their own apps. I need to track events occurring within the code of the framework, so I have added the google analytics sdk to the framework.
However, if our client is also using the google analytics framework, I run into duplicate symbol erros.
As a workaround, I have use the Google Analytics Measurement Protocol, and built the url myself for tracking events.
It was working for a while, but then stopped - I believe the issue had something to do with the Anonymous client Id parameter which needs to be properly generated unique for each device (I was using a constant value being sent every time to google's servers) ? I think?
Do I need an objective-c equivalent of creating the anonymous client id?
I've also had a look at a Cocoa Wrapper for Google Analytics Measurement Protocol but its a bit outdated, and unfinished.
How do I handle this properly and professionally? I need to track google events without causing a headache for hosting applications of my framework?

Related

Adding Teams messaging extension to an existing Graph Api project

I am developing a Teams application with AspNetCore and React with typescript.
I would like to add the messaging extension functionality to my app. I have tested the available samples for Action based Messaging extension from here - https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/51.teams-messaging-extensions-action
I could run this sample and successfully connect to the bot I created in my Azure resource group.
Since I already have a Teams project created, I want to know if I can just add the code that makes the messaging extension work from this sample or do I need to have a separate project just for running the bot and messaging extension?
Note- I do not have a Bot implementation in my original project.
It's definitely possible to combine them into the same project, you just need to make sure the endpoints all work correctly. The bot has, by convention, an endpoint at something like "/api/messages", but this is just a convention - you can use that or anything else you like, as long as you configure it properly in the Azure Bot registration so it knows what endpoint is for your bot, compared to the rest of the ASP.Net project.

Xamarin iOS Native - Google Maps Api Security

I am building a Xamarin iOS Native project for a iPhone app and i am using Google Maps for creating Routes to several delivery points.
I registered for the Google Maps API but i have troubles with the security of the API key.
In my project i have installed the Nugget package for Xamarin.Google.iOS.Maps and set the App restrictions to my iOS Bundle name. When initializing the MAP all works fine.
BUT we also use the Direction API for setting up routes to different points of the map. But this call function method is a HttpClient call to a JsonAsync call. The Google API denies the call because it did not work with the Bundle name because its a HtppClient Call.
The project is installed on Mobile devices so restricting with a IP address is not a option for us. No restriction AT ALL is also bad for the security.
So my question is : How do I secure this?
Please note that web services cannot work with API keys that are Android/iOS restricted. Web services are server-side and can only work with API keys that are either unrestricted or restricted by IP address.
To resolve your issue, please create a second API key to use for web service requests only.
The public docs on best practices when using API keys has also some suggestions for when IP address restrictions are impractical as with the case with mobile applications.
When using Maps Web Service APIs in these scenarios, secure your apps using one or more of the following techniques:
-proxy server
-obfuscation
-pinning
References:
https://developers.google.com/maps/api-key-best-practices#api_key_table_sup_5
https://developers.google.com/maps/api-key-best-practices#proxy_server

Minimal cross-browser web-push services/libraries for saas product

I am looking for services/libraries to send notifications on browsers, for a SaaS product(would be installed on many websites). I have following needs
API access to send push notification from server individually. (dont need segmentation, channels, analytics... all those things)
Simple setup in minimal time, not different code for different browsers.
Support for as many browsers as possible. (I saw some services support safari too)
Not very costly, given that I dont need complex features, just 1-1 send via API.
I have tried few of services, no libraries. and my comments are
FCM, pushcrew: doesn't support safari.
onesignal: looks like their privacy policy says they will collect data of my visitors and use it make their profile and use it serve them better ads.(it is like selling data)
roost: little bit expansive just for notifications(offers many other features)
izooto: limits on number of websites + very costly just for notifications.
You can try Pushpad (I am the founder).
It offers a REST API and libraries for Ruby, PHP, Node.js, Python and Java
It has features explicitly designed for web apps. For example you can easily target specific users in a safe way
It offers a unified interface to all browsers and web push services
It supports all the browsers that currently support the Push API and also supports APNs for Safari
We don't collect and resell data - it's a key point for Pushpad
We support multiple websites and subdomains
Pricing is based on the number of notifications sent

Zend - Creating an PHP API for a mobile application

I'm currently planning the creation of a mobile application for ios and android.
The application will permit to the end-user to manage and see the progress of its projects. (Web creation company).
The application will have:
Project management (multiple)
View progress
View tasks
View hours
View files
View messages
Login/Logout form + Profile/Edit Profile section
Send/Reply Messages
Add comment on tasks and files
The question is: What is the best way to create an API (Restful or something else) using the Zend Framework?
This API must and will be integrated to a custom-made Projects Management System and a MySQL DB.
I just working on PHP API (no matter if API is for mobile platforms or another webs) and after realizing between SOAP and REST I chose a RESTful API and I can recommend it...
Zend Framework has components for both of mentioned approaches, but REST is easier and more understandable in comp. with SOAP...
The one thing what you have to think about is logging, you can use HTTP Auth or OAuth (HTTP autentification is easier), but better approach according to me is generate unique API KEY for your users (each user should have own KEY) and this KEY ensure you can recognize user and a security risk is minimal because user do not have to send login and password inside HTTP request (security risk) and in case of KEY is catched on WIFI or infrastructure, hacker do not get user logins to web application, only for API where propably will not be all features what main web app offer.
And if you set some time expiration for you KEYs or IP restriction for KEY, than you can make it more safe:)
Some tip for the end: Implement API as new separated ZF module.
One of the best stuffs I have noticed so far is http://getfrapi.com/
It makes use of everything from Zend to Pear. May be you should checkout the video http://www.youtube.com/watch?v=vJVQi7ZFSaQ

Browser <-> Client Hardware API?

Are there any initiatives to implement/agree upon a standard API for connectivity between web browsers and client hardware.
Example: The iPhone has a GPS/Camera/Accellerometer in it. It'd be very cool if my web app could communicate with them (rather than me having to write a thick ObjectiveC application).
The closest thing I've seen to that is the Android phone API, which lets your programs access its hardware (relatively) painlessly. Google's pushing for it to become the new standard, but its hardly the same thing as a web-app (which, by most definitions, runs entirely in your browser?).
The upcoming version of FireFox has an API to read your lat/long off a GPS device.
To add to my own question; Yahoo provides a geolocation service called FireEagle that could act as a mediator and provide similar functionality.
In essence the phone communicates with a central Yahoo server updating its location. Your web app can then determine your approx location from that central server.