Styling for Web Chat - azure

The default styling for the Web Chat used to be identical to the Bot Emulator. Now, however, there seems to be significantly different default behavior for webchat. I have attached two images below illustrating the differences. My question is: does there exist a ready-made template that will make my Web Chat look and behave the same as the Bot Emulator? I'm aware of the ability to change the styling, but I'd like to make it identical to the Bot Emulator. Notice the difference in color and just general design. Thank you for your time.
Current Webchat
Bot Emulator

BotFramework Emulator is a downstream consumer of Web Chat. Previously, Emulator was not altering any default styling options, but changes were made around version 4.1 or 4.2, I believe. That is why Emulator and Web Chat previously looked identical. If you want your version of Web Chat to match the current look and feel of Emulator, you will need to copy the style options that the Emulator has implemented. Emulator's Web Chat Theme

Related

Set up Google Analytics to track a command line Node app

I'd like to use Google Analytics to track usage of a command line Node app. Tracking will be strictly opt-in. I'd like to track basic usage, plus which operating system and version of Node was used.
I've found the Measurement Protocol, but I'm wondering whats the best way to set up Google Analytics.
You can choose from Web or App - App seems the best fit, but then I'm sent to Firebase to set up an iOS, Android or Web app. None of these are correct. So is 'Web' the best way to track my app usage? Or is Google Analytics not the right approach?
Seems like the best approach is Google Measurement Protocol. There's a Node library for it.
Really Google Analytics is completely designed around web apps and more recently mobile apps, it has concepts like "page views" which don't make sense for CLIs, and Firebase Analytics is only for Android and iOS.
You might be able to shoehorn he CLI use case for some purposes. Alternatively, you could consider using a cloud database like Firebase real-time DB to capture your own events.
Google analytics really isnt designed for something like this. You have only two options web app where everything is page based. http://example.com/hello.php vs using a mobile app where everything is screen based. Home, about, help.
I have done this before with several console applications, a custom SSIS task (dll) and an arduino project. I chose mobile application mainly because i thought it was closer. I know of someone who did the same with an actions on google project.
In the end what you use will be up to you. Just consider what it is you want to track exactly and lay it out before you start.
If you choose mobile make sure you send Screen views and not page views. The Google analytics website is split you cant mix and match the hit type.
Workaround for createing moble account without firebase.
create a new web property on Google analytics type Web
create a new view under that web property type mobile.
We made Console Cat for this exact purpose! It's built from the ground up to track telemetry / analytics for CLIs including things like flags, command duration, version, etc.

actions on google demo code is not working on my android phone

I followed https://developers.google.com/actions/dialogflow/first-app tutorial and built my first google action. The action is working fine on my laptop browser in the test (Followed "Preview the App" section of the tutorial) environment. However, when I am trying to use this action on my phone by saying "OK Google talk to my first app". It's not working. Is it supposed to work on my phone as well? I have logged in with the same Gmail account on my phone also.
PS - I have posted the same question on "actions on google" google plus community google as well but I am not sure if that community is to post such questions or not. Therefore, I am posting it here also.
Thanks in advance!
Once you have enabled testing through the simulator, it should be available on all devices (mobile, speakers like Google Home, etc) with the same account your simulator is running in. Double check to make sure they're the same account.
In your case, however, you may be using the wrong invocation phrase. If you actually said what you did above, you need to say the exact same thing that you typed to invoke it.
If you haven't set a name in the configuration, then that phrase will be
Talk to my test app
Update
As you note in the comments - you also need to make sure you're running the Google Assistant, and not one of the other voice search components. The Google Assistant requires:
Android 6.0 or higher
Google app 6.13 or higher
Google Play services
1.5 GB of memory
720p screen resolution
Phone set to a supported language
As you probably already know you have to enable Web & App Activity, Device Information, Voice & Audio Activity in the Activity controls page.
Then you also have to be sure that the language of your agent is the same used by your google assistant.
I solved thanks this last step.
Hope this helps

Xamarin.Forms or Xamarin.Android/Xamarin.IOS

I am new to Xamarin and not sure if chose Xamarin.Forms to create a application for ios and android platform has a problem or not.
The application has some features below:
The application will be able to running some code in background without launching application by user.
The application can be launched by a href link or a notification.
The application is able to launch a builtin Camera application, and receive picture data from Camera application.
Thanks,
Bo
The features you are mentioning can be done with both. Actually, anything you can do on Xamarin.iOS and Xamarin.Android can be done with Forms. Because Forms is only an abstraction layer for the UI which is installed by a NuGet package.
Now, having that said when to use Forms or when to use iOS/Android? It is mostly about UI. Are you going to do some advanced or platform specific stuff is is easier to implement that with the platform specific project.
If you UI will be the same in both platforms and mostly consists of some lists and input fields, then that is a very good candidate for a Forms project.
Notice how I said it is easier to do in the platform specific projects. Again here, you can do anything in Forms as well by the means of Custom Renderers, it is just a bit harder to do.
Ideally try it out yourself and see what suits you best.
In regard with your need to execute code in the background. This will be tricky and is very dependent on the platform that you're on. You will definitely have to write platform specific code for that for which you can use the DependencyService to abstract it to your shared code.
However like AlancLui mentioned executing code in the background isn't something that is easy to do on mobile. On iOS it is restricted to accessing location data or playing music, but still your app needs to be running (in the background). Android has something called Services for this, which makes it a bit easier.

How to join an existing activity playing media in chrome app

So assuming you've already launched media on the receiver from an iOS/Android/Web app, how can another web app join this activity and control the media? I noticed that the cast API has a 'JOIN_ACTIVITY' in it, but there's nothing that currently uses it. Nor do you know the activity's ID to join it..
This is similar to How to check if a ChromeCast Session is already in progress however, this answer does not help to connect to an existing application
However, using the javascript API, even if you know your app is running I can't find a way to connect to it without re-launching
I managed to get some answers from the Google engineering team:
We allow clients to reconnect to the same session if they are launched
from the same origin (i.e. http://www.somedomain.com:80/). We don't
have the support in the V1 protocol stack to implement this across
multiple browsers. We can hard code something for V1 like mapping
origins to app ids, but it will still be some eng effort to add the
API support as well.
In short, the functionality from Android and iOS is currently missing from the Chrome SDK... hope it comes out soon.
EDIT: To update this, now that the official public SDK has been released, this is now supported!

My apps don't work on iOS 5. Do I have to remove them from app store?

I had a bunch of apps that worked great in iOS 4. None of them work in iOS 5 (thanks Apple). I haven't been developing recently, and I don't have the time or knowledge to make my apps compatible with iOS 5. My question is, is there a way to make the apps available only to people running iOS 4? or do I have to just remove them from the app store? I don't want people to download my apps and have them not work. Thanks.
I believe you can set such restriction for people who are downloading your app from a computer (the app won't show up in iTunes). However, if the user is viewing the store through their iDevice, I think they can find your app and download it nonetheless.
It should suffice to simply put in the description that the app won't work with iOS 5.
Or, perhaps you should take a little look into why is your app not working. Normally the problem is not so big.

Resources