Hello everyone,
I would like to know if there is any way that when you click the button on the chalk widget (Vuforia Studio) it will directly make the call, without having to click, open the application and still choose the person to call. In other words, click, it opens the application and makes the direct call without having to choose the person.
Thanks.
Hello @RG_10041320 ,
regarding your question, I think there is a way to call an user directly from Vuforia Studio project. But we need tohave information about the user e-mail. Another point is that the user should have already an account in chalk.(user should be able to answer the call) Another information what you need to know is the chalk account ID . This could be obtained from the CAC / Chalk Admin Centre) when you go to Account Information or Edit Info.
If you do not have access to the CAC then you can ask your companies chalk admin or open chalk case to request this id from the Tech Support team
I think, we can use the chalk widget only when you want to open chalk. Let we look on the widget properties e.g. we print the attributes to the console we can see that the link calling chalk is hard coded and so far I know we cannot change it at runtime "https://admin.vuforiachalk.com/call"
here I wnat to refer to a related post(Launching Chalk though URL)
Therefore we can use the hyperlink widget but this requires an click on the hyperlink wdiget. Another option is to use a javaScript code with window.location or window.location.ref
Another point is that we need to construct the required deep link where we will use the user e-mail (to call) and the chalk account id.
Deep links are a type of link that send users directly to an app instead of a website or a store. They are used to send users straight to specific in-app locations, saving users the time and energy locating a particular page themselves – significantly improving the user experience.
Deep linking does this by specifying a custom URL scheme (iOS Universal Links) or an intent URL (on Android devices) that opens your app if it’s already installed. Deep links can also be set to direct users to specific events or pages, which could tie into campaigns that you may want to run.
So , e.g the call of a chalk from Studio project could be done e.g. by following Javascript code:
///////////////////////////////////////////////////
function consructDeepLink() {
let retString= 'https://vuforiachalk.com/admin/call'+
'?recipient-email='+$scope.view.wdg['recipient-email']['text']+
'&business-id='+$scope.view.wdg['business-id']['text']+
'&recipient-role='+$scope.view.wdg['recipient-role']['text'];
return( encodeURI(retString));
}
///////////////////////////////////////////////////
// uses window.locaiton.ref
///////////////////////////////////////////////////
$scope.href = function () {
try{
$timeout( () => {window.location.href= consructDeepLink();
twx.app.fn.addSnackbarMessage( consructDeepLink() ,"twLogo");},500)
}
catch(e){alert('redir failed ' + e); }
}
///////// uses windows location //////////////
$scope.location = function () {
try{$timeout( () => {window.location=consructDeepLink();
twx.app.fn.addSnackbarMessage( consructDeepLink() ,"twLogo");
},500)
}catch(e)
{ alert('redir failed ' + e); }
}
//======================================================
In the example we will take the info for the e-mail , chalk account id and the recipient role form input widgets (but we can use any widgets , java variables or app parameters)
The recipient parameters is optional and could be omitted - in this case as default is used "remote" ( possible values "remote" or "local" )
Here in the example (picture above) the button will call the $scope.ref(); and this will open chalk with the specific chalk admin id and will start call to the user specified by the user e-mail. I tested this on IOS and was working fine. I think Android is ok. Please, pay attention that this could not work in Preview or on device where the chalk is not installed.
Hello @RolandRaytchev ,
Thanks for your answer, but I don't have my account id available, it doesn't show up.