Launching my host app from SiriKit

In the handleSendPayment: method I'd like to call my app to ... actually handle sending the payment.

To do so, sometimes requires me to launch my app, rather than calling shared Framework from the Extension.

Siri will kindly tell me I need to launch the app, but then ... nothing.

No button, link or any other obvious way to actually launch said app.


I'm pretty sure this used to exist in Beta 1, but is not there for 2 or 3. Am I missing a step in making this Action be displayed?

Answered by pelau in 162627022

A paymentRecord needs to be added to the INSendPaymentIntentResponse during the confirmation step in order to see the "Open <<your app>>" during the handling step.

SiriKit is designed to complete the user's request within Siri. You're encouraged to complete the user's payment request in the handleSendPayment: method so that users can have a complete experience in Siri, which will work regardless of how a user is speaking to Siri. Keep in mind that users often activate Siri in a hands-free situation, where they can't tap on the screen to interact with your app.

But what about the case of a failure? There are two options .failure and .failureRequireappLaunch. Both of these now say "Sorry, please continue in the app". Why give the option if they do the same thing? There used to be this button to launch the app. Are we expecting the user to know they can say, launch app at the point without any prompting beside open in the app? That seems like a bad user flow hands free or now. The button used to say "Open the App" on the page, which at the very least let the user know they could say that and get to the app, now it just seems like they need to interact and manually launch the app.

Please file a radar with sample code for this, thanks.

I would love to unfornately Siri INSendPaymentsIntents has been broken for about a week. It is unable to call the handle method instead doing a websearch on the results from the confirm method. That I do have a Radar open for, if you want to address that one.

Accepted Answer

A paymentRecord needs to be added to the INSendPaymentIntentResponse during the confirmation step in order to see the "Open <<your app>>" during the handling step.

Launching my host app from SiriKit
 
 
Q