botframeworkskypedeveloperskype-bots

Hero card button with Action type as Open url doesn't work on all skype clients


I have a very standard code picked up from the GitHub examples like this:

HeroCard postAnalysisCard = new HeroCard()
{
    Buttons = new List<CardAction>
    {
        new CardAction(ActionTypes.PostBack, "Show me previous polls", value: "showprevious"),
        new CardAction(ActionTypes.PostBack, "Show me more statistics regarding this question", value: "ShowStats"),
        new CardAction(ActionTypes.OpenUrl, "Show me more about this topic", value: "http://bing.com/search?q=" + question.Substring(0, queryIndex)),
        new CardAction(ActionTypes.PostBack, "Help", value: "Help")
    }
};

But the OpenUrl action doesn't seem to work on all Skype clients. It works on Windows desktop but not on Android.

Is this a known issue? If yes, what is the workaround to have a consistent behavior?


Solution

  • The actual issue was unescaped special characters in the url. Escaping the string solves the issue.