Can somebody please explain me what is the purpose of using Google Tag Manager (GTM) on an iOS app?
Currently I am working on an app which part of the legacy configuration resides on GTM but I cannot find any purpose of this.
I've read the documentation but I find it very confusing.
It mentions to add GoogleTagManager pod, add the json corresponding to your container and "preview" it with a Custom URL Schema.
The things that I dont understand are:
Why adding GoogleTagManager pod if you are not using it in your app, there is no import or anything like that
Why download the container (json file) and add it into your project. Based on the documentation, it doesnt mention anything about linking this json file with your actual xcode project.
How by using a custom URL Schema will test your container? On the documentation doesnt mention anything about handling this custom URL schema.
So based on the documentation I dont find any purpose of using GTM at all. The thing that for me makes sense is when login an event using Google Analytics, by calling Analytics.logEvent..., but this is Google Analytics, not GTM.
I will appreciate if someone can provide some information about this.
Thanks in advance.
Google Tag Manager is used, when you want to change some custom event data on the build which is already live(on App store) and you don't want to resubmit the new build just for the event. For more details you can refer this link.
Related
I've been trying to Add Attachments with a Google Calendar Addon using alternate runtimes (Not App scripts), but it seem it's either not documented anywhere or it's just impossible to do.
I'm wondering if anyone knows how this can be done returning proper JSON response from an alternate runtime, or is App Scripts the only option for adding attachments?
Thanks.
It should be possible to create Add ons with other runtimes as suggested by their official documentation.
There is also a quickstart that you can take a reference on how to create the add-on.
From the Calendar API events creation to add attachment it only supports Drive files. Sample codes in other languages on how to add the Drive files can be found here. There is also a thread utilizing Python and also wondering about the process of adding attachments.
Edit:
Would be a good idea to request a feature like that or update to the documentation for supported options:
https://developers.google.com/calendar/api/support
I'm trying to create a webview with the capability to block/redirect certain urls requested inside the webview (not just the page url, but also the requests sent from the page, think of it as what a browser extension is able to do).
After some research, the closest I get was this Swift/Obj-c approach of use NSUrlProtocol: https://www.raywenderlich.com/2292-using-nsurlprotocol-with-swift, and the doc of the native-webview-ext mentioned something about WKURLSchemeHandler https://github.com/Notalib/nativescript-webview-ext .
I'm new to mobile development and this feature is crucial for my project. I wonder if anyone has experience building this out in NativeScript, I hope I don't have to convince my team and my boss to write this in Swift instead :(.
As you see in the webview-ext plugin docs, it does support overriding resource urls. Refer the registerLocalResource method.
Just in case, even if that is not supported you don't have to write your whole project in Swift as you can always access all native apis from JavaScript / TypeScript itself, read more about it here.
I noticed a few changes in Colab URLs recently. Can someone confirm/clarify its correct meaning?
https://colab.research.google.com/notebook#fileId=xxx This is the original one, now not used much.
https://colab.research.google.com/notebooks/xxx.ipynb This is for official notebooks, such as welcome.ipynb and other examples for newcomers.
https://colab.research.google.com/drive/xxxxxx This is the most common scheme. It refers to a specific notebook in Google Drive by fileId.
https://colab.research.google.com/github/tensorflow/path/to/notebook.ipynb The newest one. It can refer to any notebook hosted on github.
https://colab.research.google.com/gist/yourname/xxxxxx/notebook.ipynb A notebook on GitHub Gist. You can save any Colab notebook there with Save a copy as a GitHub Gist... menu.
Am I missing any other URL scheme?
I am also curious about its URL parameters when you “Open in playground”:
forceEdit=true&offline=true&sandboxMode=true This is the default parameter setup. It seems to copy it to a temp file, then you can edit and run it without saving to your drive first.
I can also use just offline=true&sandboxMode=true, and it still works. So why `forceEdit=true’?
What’s the meaning of forceEdit, offline, and sandboxMode anyway?
update
The new sandbox scheme is just https://colab.research.google.com/drive/xxxxxxx#offline=true&sandboxMode=true
This is mostly correct- Colab is migrating away from the hashparam based URLs because they don't allow server-side redirects and the new ones are a bit cleaner.
The #fileId=xxx scheme is still used when opening files from drive.google.com, but this will start using the new scheme soon as well.
All old URLs will continue to work, but because of the server-side redirect we'd encourage using the new scheme.
The playground parameters are crufty and will most likely be changed at some point.
forceEdit allows editing, even if the notebook is not editable (vs the readonly view)
offline disables realtime collaboration.
I want to import a document from another app into my app like it's done in MS Outlook iOS app when you click the paperclip in an email. Then you get a list of apps (dropbox, google drive etc) + recent documents and you can select a document.
How is this done / do I need to use the app-extensions for this ?
thanks
Frank van Vliet
this is the scope of App Extensions. To add an App Extension to your Project you have to navigate to File -> New -> Target and the App Extension you are looking for is called Document Provider. Please first check the WWDC Video on best practice for App Extensions and the App Extension Programming Guide. It will help you to develop the understanding of this Feature.
EDIT:
Maybe I set you on the wrong track, but within the App Extension Programming Guide you could have found the answer to your Question. I'm using Xcode 7.0 Beta 4, but most of the following screenshots should look exactly the same in Xcode 6.*. First of all I started a new SingleView-Application written in Swift and added the Document-Provider Extension as a target to the Project as outlined above.
After building the application with the new Document Provider target I ended up starring confused onto the Share-Menu realising that we talked at cross purposes. The Documentation on this target is slightly muddled but after a while of testing and searching I realised that the thing you are looking for is the Document Picker, not the Document Provider. On this Page you can find the Relevant Chapter: Accessing Documents Link, where you can get examples for the Document Picker.
Since this will hopefully solve your Problem, I would like to shortly refer to the Document Provider and the overvalue it could add to your Application.
The Document Provider extension consists of two separate parts: the Document
Picker View Controller extension and the File Provider extension. The Document Picker View Controller extension provides your document provider’s user interface. The system displays this interface when the host app presents a document picker view controller for your document provider. This interface should let users browse through and select documents and destinations from inside your document provider. This extension can also perform basic import and export operations without any additional support.
from the App Extension Programming Guide as mentioned above
So the Document Provider is kind of an Import Feature as seen from another app. If you would implement a Document Provider Target for your Application, other Apps can access designated data. For example you could attach Files from your App to an E-Mail (left screenshot) or Open a File in Pages (right Screenshot).
When working with Files, this could be a nice feature for your users.
Also I would recommend using either a Share or a Action Extension.
Share extensions give users a convenient way to share content with other entities, such as social sharing websites or upload services. For example, in an app that includes a Share button, users can choose a Share extension that represents a social sharing website and then use it to post a comment or other content.
That doesn't sound exactly like the thing you want to achieve, but at the moment even Apple uses the Share Extension for all kinds of things.
An Action extension helps users view or transform content originating in a host app. For example, an Action extension might help users edit an image in a document that they’re viewing in a text editor. Another type of Action extension might let users view a selected item in a different way, such as viewing an image in a different format or reading text in a different language.
You said you want to import a document from another app into your app. This sounds handy. Lets assume a user opens a Document "loremIpsum.txt" in the iCloudDrive Application and wants to share it to your new app.
Now, you have to write the code to handle imported files when opened by the Document Picker, you could reuse this code to easily add a Action Extension to the Share-/Action-Menu. I hope this will help you and solves more than one problem.
Best regards
cr0ss
Online Addon Builder - How to display custom icon for the extension inside Firefox's Addon Manager?
I know that's a more general question and before I can even submit this someone is going to throw a link at me but I've been there trust me...
I've built my addon using the online addon builder but I'm not ready to submit it to AMO for review quite yet as I feel it needs more to be complete. I can't find specific information relevant to exactly what I want to do using to online addon builder. I've installed and configured the localized SDK that is utilized using a tool called cfx and of course theres tons of documentation!
The Question: What all notable values can be set using the package.json that determine how the addon is displayed inside Addon Manager? What notable material/configurations can't be set using package.json and how do I implement them?
I've removed all warning and errors from my code but I'm using a hardcoded path to a image whereas before I was passing it as an arguement within the PageMod object to a content script. Why? I'm not sure but I know one of you know how to configure the extension where I can specify chrome://ez-magnetz/data/icon16.png or somehing similar. Which is better than using a JUID in the path name that can change.
My widget has an icon but how do I specify a primary icon for the extension to be displayed in the AM? (package.json||chrome.manifest)
Using the latter of the two(chrome.manifest) how do I include that inside my addon so that its detected?(For the purpose of an Extension Icon using the online addon builder if possible)
Will someone please provide me with a chrome.manifest template for a basic addon?
Do I need the install.rdf and what has precedence over configuration is it like:
install.rdf>>>chrome.manifest>>>package.json
I noticed very similar settings amongst them.
I've been to XUL school I see that there is useful information it just seems outdated in the context of my addon.
I've read the basic info on the package.json and implemented simple prefs and of course the addon's description.
My understanding is that I've created a bootstrapped addon using
Mozilla's Online Addon Builder. Is that correct? The only thing I
wish to do now is to have a personal icon displayed for my extension
in the Addon Manager!
+ I'd like to know how I may have and option for users to donate on AMO!
Thanks for any help in advance
To add an icon, just follow these two steps:
upload the icon you want to use to the data directory of your add-on, eg 'data/icon.png'
Add the relative path to the png file as an extra JSON property in the add-on info dialog, for example this:
{
"icon": "data/icon.png"
}
See this screenshot for an example of what it should look like:
https://dl.dropbox.com/u/44296964/Screen%20Shot%202013-01-07%20at%202.15.49%20PM.png
Aside: please only ask one question per post.