Replying to Avatar miljan

I think it’s fair to say that we broke new ground with our iOS remote signer. People have been trying to build something like this for a long time (even predating Nostr) and afaik all those attempts have been shut down by Apple. Some of our well informed users are concerned that our implementation breaks Apple’s rules and that Primal might get banned from the App Store. I’ll share our experience here so that other builders can benefit from it.

First and foremost: we didn’t try to sneak this feature in. We provided a detailed explanation to the app store review team outlining exactly what we are doing and how. The technical tldr is: the only way to keep your iOS app running in the background is to play sound or dox user location. There is a history of developers trying to hack their way in by playing silent audio tracks or attempting to trick the reviewers (and confuse the users) in other ways.

The key to our success was that we actually built a polished ambient sound feature for our signer. Some users might actually want ambient sound for their remote sessions, so we took great care to pick the appropriate sounds and build polished UI that enables users to control those sounds via the dynamic island or the live activity UI on the lock screen. We also designed an informative sound opt in screen at the beginning of the session. This is important: the user is fully informed and totally in control every step of the way. I am not sure, but it might be helpful that Primal was already a multimedia app so this feature doesn’t feel out of place.

In any case, that’s how we did it; hope it helps other builders. 🫡

nostr:nevent1qvzqqqqqqypzp4sl80zm866yqrha4esknfwp0j4lxfrt29pkrh5nnnj2rgx6dm62qyfhwumn8ghj7ur4wfcxcetsv9njuetn9uq3jamnwvaz7tmswfjk66t4d5h8qunfd4skctnwv46z7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z7qpq4tuly878tn4nv2gdh08dl25lkkw7perpx82nqezkr8ftfs392tjst7jqg4

can i generate a connection string to paste into an app rather than scan or paste a string into primal?

Reply to this note

Please Login to reply.

Discussion

Yes, click the "Use keyboard instead" button on the scan screen.

To clarify, we don't yet support generating the bunker:// string that you can paste into the remote app

is there a uri scheme or something that apps should be using to "trigger" the device's signer? i think this is a great feature, but in reality a lot of people are just trying to use another nostr app on the same device so the qr scanner and even the keyboard option feel a bit clunky and not the best ux flow for such a scenario

Yes, you can easily trigger the signer by using the standard nostrconnect:// uri scheme. That's what a "Login with Nostr" button should do.

We even added support for a convenient "callback" parameter, so Primal will redirect back to your app immediately after establishing the remote connection. If it's a browser app, simply use callback=https://[your_app_login_progress_page] to get redirected back to your app.

nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqy08wumn8ghj7mn0wd68yttjv4kxz7fwv3jhyettwfhhxuewd4jsqgplwuxkt5a8vj5utj6s8tsj8e3wcavc45p4mqmw92qs7wrh5azmys9f0hy6 implemented this flow for some of his web apps; it works great. Derek, maybe you could share a quick video of this in action?

cool, if you know of any web or ios apps that work this way id like to test 😬

ooook. as long as ios recognizes the qr it allows you to tap it to switch to primal. that is slick. thanks!

https://nostr.sudocarlos.com/ca3fbcf8e41ae53f3e9294df3c5bdb9b333344e112c6433136d3c61f8c720cff.mp4