Unmarked former Rangers youth centre-half Craig Halkett headed wastefully over from an early free-kick and Shankland fired straight at goalkeeper Jack Butland before Rangers had even threatened an attack.

Claudio Braga had also already given the tentative Rangers backline a few nervous moments before the summer arrival from Aalesunds set up his strike partner for the opening goal.

Rangers’ defence looked to be expecting the game to be halted for a hand ball as a neat flick from the Portuguese set up Shankland to fire low past Butland into the far corner.

Home winger Djeidi Gassama had made a mess of a shot in front of goal shortly before that, but that was a rare foray into the visiting penalty box.

Rangers’ response to going behind was equally uninspiring, their main threat coming from a curling cross-come-shot from Thelo Aasgaard turned on to the crossbar by Alexander Schwolow, while striker Bojan Miovski headed unconvincingly into the debutant goalkeeper’s arms.

Two substitutions and a half-time break later and Rangers were transformed.

Gassama curled a drive off the face of the far post, Schwolow pushed clear a powerful drive from Oliver Antman and fellow replacement Derek Cornelius prodded home only for the goal to be ruled out for a push on the goalkeeper.

Any hopes of a fightback was ended when Harry Milne went down under a challenge from Mohamed Diomande and, after a lengthy video assistant referee review, a penalty was awarded.

Although Shankland’s spot kick was saved by Butland, the striker slotted the rebound to leave the home side and their support stunned – and it could have been worse had Tómas Bent Magnússon not found the far post in the dying seconds.

More to follow.