Hello Jeff! It’s been a while since I was in this neck of the woods I’m catching up with all the updates from the last few months.
About deep links, I got them working with Button/Sharing/Link to current screen.
The long URL is not the end of the world but I tried to use the deep link generated on a desktop browser and it brings me to the app sign in page instead of the specific screen where the link originated from. Is it supposed to work only amongst users that have the same app or should it work as a regular URL that can be accessed by anyone, even if they do not have the app?
It would be a pretty big security risk if somebody could backdoor into an app with only a deep link that anybody can share and by bypassing the sign in. Seems normal to me.
Thank you @ThinhDinh & @Jeff_Hager Yeah, it makes sense that if the app requires to sign in…well you have to. Initially I thought it would link to a screen/page that is generic meaning non user customized. I need more coffee
Is there a way to automatically generate the deep link in Google Sheet whenever a new row is created, or to automatically guess the deep link for all items in a list using the RowID ?
One could then easily generate a QR Code in Google Sheets with a line like =image(“https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=”&A2) where A2 would contain the deep link.
Then we would only need a QR Code scanner built into Glide to be able to go to the items detail page by scanning its QR Code…
temp solution i hope till glide polishes up this feature a bit more. i’ve written a script that scrapes my app. it runs when a row is added to sheet then zapier shoots that long url to rebrandly to sexy it up. here’s a snippet to get started below. main thing to understand is how glide loads the list items. they use react virtualized (https://github.com/bvaughn/react-virtualized) it seems.:
var urls = ;
var names = ;
var p = 0;
var items = document.getElementsByClassName(‘tile-inner’);
var i;
for (i = 0; i < items.length; i++) {
items[p].click();
p++;
names[i] = document.evaluate(’/html/body/div[1]/div/div/div/div[2]/div[3]/div/div[3]/div/div[2]’, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
urls[i] = window.location.href;
}
Should this be working for a details page that’s linked from a button component? The URL does not change.
It works for my detail pages which are linked to inline lists, however. Both tabs have Row IDs.
Here’s a recording:
You can see in the first instance when viewing a business the URL changes, but for the promotions button, which is in details view. It doesnt.
But it won’t work for the page right before, with all the promotions listed?
Is it just components ON the details screen, but not the details screen itself?
I’m not sure, but it may not work because a button is still a top level, just like a button. Is the Link to Screen button pointing to the same sheet that contains the list of promotions? If so, you are on a custom designed detail layout of the first row in that sheet. In that case, you are not really viewing the details like you are when you click on the first list item. Because of that, glide wouldn’t really be able to determine if you meant to show the first promotion as the link to screen view or the actual first promotion details. You probably have two different views of that same first row and Glide would only want to show you details for a sub-level list item with the layout that actually is attached to the sheet throughout the app.
If instead you have a separate promotions sheet that has no content other than to be a placeholder for the link to screen button, then it’s probably still the same situation where you are only viewing a top level (like a tab), and due to the ability to independently design a top level link to screen/tab outside of the layout that’s attached to a sheet, glide can’t reliably show the correct view.