Detect if on Articulate Mobile Player?

Feb 07, 2013

Is it possible to detect if a learner is using the Articulate Mobile Player, and if so, direct them to a different slide? I have an activity where I want the learner  to be able to email a variable and/or print the screen, however javascript is not compatible in the Mobile Player, so I'd like to redirect the learner to a slide that provides a pdf version of the activity to download and complete rather than showing them the slide with the activity, email and print options.

I know I could simply put a button on the same slide that prompts them to do this, but I wouldn't want them to complete the entire activity on the screen and not realize they can't print or email until the end. And I suppose I could also  put a pop-up layer in the beginning before they even begin the activity to download the pdf if they're on the Mobile Player, but that's a bit sloppy and they may not even realize that they're using the "Mobile Player."

Just a thought...it would be pretty cool if this were possible!

8 Replies
Alexandros Anoyatis

Hi Christina,

You could use the Javascript issue to your advantage.

A) Create a True/False variable, say isJScompatible with initial value of False.
B) Create a Javascript trigger that would change the initial isJScompatible trigger to True.

C) Create your branch as desired.

The AMP will not be able to process the Javascript trigger, so isJScompatible will remain false when the course runs on AMP. In ALL other cases, the value will immediately change to true.

Hope it helps,
Alex

Steve Flowers

Hi, Christina - 

Totally possible! Here's how I do it:

1. Create a variable called iOS with the default value of true.

2. Create a javascript trigger on your slide to set iOS to false.

var player=GetPlayer();

player.SetVar("iOS",false);

3. AFTER this trigger, setup your slide jump based on the condition of the iOS variable.

Since iOS / AMP doesn't support JavaScript, your variable will always be true. If you play through HTML5 or Flash based output, where JavaScript is supported, the variable will be false -- which lets your story know that it's not using the Articulate Mobile Player.

Christina Stephenson

Yaaay!!! i'm so excited!! I will definitely be testing this out!

I like the workaround to get past the issue of the mobile player not supporting JavaScript. Are there any similar workarounds for printing or emailing within the mobile player???

For printing, I'm using this JavaScript:

var player = GetPlayer();

var email=player.GetVar("UserEmail");

var subject="My Notes!";

var body_start=player.GetVar("Notes");

var mailto_link='mailto:'+email+'?subject='+subject+'&body='+escape(body_start);

win=window.open(mailto_link,'emailWin');

For emailing, I'm using this one:

window.print();

This discussion is closed. You can start a new discussion or contact Articulate Support.