How to integrate GTM with Firebase analytics enabled Application which developed using Xamarin Android platform - xamarin.android

I am developing Mobile application using Xamarin Android. We have integrated Firebase portal with our application successfully. Also we are able to see all automated event and custom event on Dashboard in firebase Console.
Now my requirement is to integrate Google Tag Manager(GTM) SDK with existing Firebase SDK in my application. I tried to integrate by following some below links
https://developers.google.com/tag-manager/android/v5/
https://github.com/IdoTene/XamarinTagManagerAndroid
but ended up with build error Invalid Resource file Name for GTM configuration file(GTM-XXXX.json).
So here is my question, How to integrate GTM SDK with Firebase SDK in Xamarin Android application.
Please any help would be greatly appreciated.

I don't know if you figured it out eventually, but for future reference, the problem is that the IdoTene tagmanager project is for tagmanager v4, which is pre firebase. Instead you should use the version that Xamarin maintains:
https://www.nuget.org/packages/Xamarin.GooglePlayServices.TagManager/

The steps are very simple. Integrate GTM containers (ios and android) as follows:
For Android -> create subfolder in assets folder and name it as containers, copy container in it (make sure it's naming starts with GTM-xxxxxx.json).
For iOS -> create a folder container in the root directory and copy GTM container json there (GTM-xxx.json)
Then install Xamarin.GooglePalyServices.TagManager nuget for Android and Xamarin.Google.iOS.Tagmanger for iOS.
Thats it for Android, but for iOS, there is a one more step.
Integrate following code in AppDelegate.cs
Google.TagManager.TagManager.Configure();
Then you should be good to go!! :)

Related

How to integrate ObjectiveC framework (IronSource) into Flutter (iOS Swift)?

I'm trying to integrate IronSource SDK in a iOS Flutter project (Swift project), but I am unable to do that. According to the IronSource documentation, I must point to IronSource.h file to include the bridge I need. And I am able to implement it in normal Xcode swift project, but I am unable to do that in flutter project since this bridge is already used by the flutter and it can be only one file.
So the question is: How can I integrate another ObjC library (IronSource) in the existing flutter ios project?
I am new to iOS development and Im battleing this for about a week now. I cant find anything on the internet that would work so any help will be much appreciated. Thanks
I managed to resolve my issue. It turns out that build paths are not case sensitive and I was using 'ironsource' for my plugin name but IronSourceSDK is using 'IronSource' so it looks like at build time it did not find the correct files.
And when this was working, I had to add 'use_frameworks! :linkage => :static' in the pod file of the plugin.
Then I could depend on it in my swift flutter app normally as any other plugin.

Firebase storage download trouble in iOS device (Unity)

I met unknown trouble trying to setup firebase storage for iOS. I can't download even 1 file in device, but it runs perfectly in Editor.
I am using reference.GetFileAsync() method. Firstly I assumed that I made some wrong package setup or some other silly mistake, but I checked it many-many times. Each Quickstart project here works well on my end. My current project settings and firebase storage settings are identical to provided test examples I run in iOS device successfully.
Here is a xCode output trying to download the file. That is looped and contains only that info: codeshare
Any of logs googling doesn't give me any solution or even idea.
Please, give me some thoughts where to search the problem.. I am totally confused.
I am using MacOSx, Unity 5.5.0/5.5.1, latest Firebase Unity SDK (v1.1.2)
The reason was that firebase database package automatically changed from .NET Subset to .NET option. Changing back solved the problem. But anyway, that means we can't use firebase storage + database in same iOS project in Unity.. That's bad
Firebase Developer here. I'm sorry you encountered this error and I can confirm this was a regression from our initial build in January. This issue has since been resolved in the latest version of Firebase Storage for Unity (3.0.0.0) released for general availability for mobile at GDC.
The latest version will work with the full .Net SDK which is also required for the realtime database in Unity.

Xamarin Active Directory using native library, storyboard issue

I'm using the Active Directory Authentication Library as found here I've then created a binding project in Xamarin and then created some login code to manage logins to our app via ADAL.
Everything was working fine until I moved the app to a Unified app. Ever since doing that when I try to authenticate, I get the following error:
The required resource bundle could not be loaded. Please read the ADALiOS readme on how to build your application with ADAL provided authentication UI resources.
I have the required storyboards as part of the main iOS app, but for some reason the ADAL library can't seem to find them in the main bundle.
Any insight greatly appreciated!
James, did you try ADAL v3? It supports Xamarin natively, without the need of using bindings against the native ADALs. Although bindings are technically possible, we consider ADAL v3 to be the main way in which we support Xamarin integration.
Please see https://azure.microsoft.com/en-us/documentation/samples/active-directory-dotnet-native-multitarget/ for an example. ADAL v3 is still in preview, but we are working hard to release it ASAP.
For the record, for whatever reason, just adding the Storyboard to the iOS Xamarin project doesn't seem to work any more. If you add the compiled ADALiOS.bundle from the ObjC library to you Xamarin project, it will work.
You add it by selecting add files from folders in Xamarin Studio and selecting the folder directly above the .bundle file in the output tree.
Makes sense I guess.

installing AWS ios sdk in swift project

I'm trying to add the AWS SDK to my xcode project that is written in swift.
I followed these steps: http://mobile.awsblog.com/post/Tx2AA7ZHB1FK0G1/Version-2-of-the-AWS-SDK-for-iOS-Developer-Preview to create a Bridge-Header file, and add the SDK itself to my project.
The problem is that when I try to build the app I get an error now... the Bridge Header cannot be imported because one of the files in the AWS SDK (AWSModel.h) has an error. This file tries to import Mantle/Mantle.h, and the error reads "Mantle/Mantle.h file not found"
do I need to add this file to my project as well? If so, how would I go about doing that? The only frameworks I'm using are Facebook SDK, and I would like to add AWS as well.
There is a working sample app on GitHub. You should follow README and see if you can compile the app. It should help you understand how to set up the project.

how to add plugin without cli in cordova 3.5.0 iOS

I am not using cli for my cordova project ,i got the cordova 3.5.0 project from there site and integrated with my project.All the custom plugins created by me is working fine.But the API's like device is not accessible.I have added the CDVDevice to config.xml but still i can't able to access the device object.
So please help me to solve this problem.
In order to correctly working the Cordova requires you to have cordova_plugins.js file near the cordova.js. That file contains registration of the JS API.
The easiest part is use Plugman to install plugins inside your custom project, that way, it will handle all work on creation of cordova_plugins.js.
Official Cordova documentation for the Plugman
See the possible related answer Cordova 3.5 embedded webview with plugins where I put more insights about how you could modify cordova_plugins.js in case you desperately need this, but I would recommend you to use Plugman.

Resources