Transcript
[ Music ]
[ Applause ]
>> Good morning and welcome to
Getting Ready for Business Chat,
I'm Dan and very shortly my
esteemed colleague Scottie will
be joining me on stage.
Last year at WWDC2017 Grant and
Scottie announced Business Chat
Developer Preview as a great new
feature of our Messages app, our
most popular app for Apple users
to securely and richly be able
to message with brands, consumer
brands, all around the world for
customer service and commerce.
We also launched our Apple
Business Register at
registered.apple.
com/business-chat as the
fundamental way for businesses
and customer service platform
providers, which I'm going to
call CSPs from now on to easily
submit their application of
interest for access to a
Business Chat account.
Since then we've had a ton of
interest with thousands of
businesses and developers
submitting applications for
Business Chat.
Thank you very much for the
overwhelming fantastic response
and thank you for your patience.
After a few months of working
closely with some major brands
and their CSP providers we
announced the public release of
Business Chat Beta in March.
Now when we announced this we
also announced that in order to
use Business Chat users had to
upgrade to these versions of
iOS, macOS and watchOS or later
in order to message with brands
using Business Chat.
And experienced some really rich
message conversation with great
showcase brands in the retail
sector, in finance, in
hospitality, and mobile services
supported by their CSP providers
like LivePerson, Salesforce,
Nuance, and InTheChat.
Hopefully you've had a chance to
actually experiment and play
with and, in fact, use some of
these great experiences with
these brands.
But in case you haven't just as
a quick reminder let me show you
an example where I can easily
start a conversation with
T-Mobile by swiping on the home
screen for iOS search, typing in
T-Mobile and then looking at the
search results, finding this
specific business preview,
tapping on the message button,
and immediately going into a
conversation with T-Mobile.
And in this example the T-Mobile
automated response clarifies
whether I'm a current customer
or not with a list picker, so I
tap on that, I get a choice, I
select Heck yeah.
And then now the automated
response wants to get me to
actually log in so we can get
into a lot of personal details
about my account.
I tap on the rich bubble, it
opens an iMessage app for
authentication, I enter my
credentials and I'm in.
All easily done within the
message conversation.
And so now I can continue to
have a very detailed
conversation about my account
and by the way, if I get really
busy and I have to leave to go
do something else when I get
back home or back to the office
I can pick right back up where I
left off on my Mac with the
Messages app.
Or if I'm busy and I'm on the go
I can receive and send Business
Chat messages from my Apple
watch.
Okay so that brings us to today
and I'm really excited to
announce that we're going to
open the doors significantly
wider to many more consumer
brands around the world and more
customer service platform
providers.
Very excited yes, thank you.
So let's look at some key steps
that I think are important that
we've learned that we want to
relay back to you about how to
get ready whether you're a CSP,
whether you're a consumer brand
or whether you're a brand
developer.
Starting with CSP providers.
There are two qualifying
criteria that we look at closely
when thinking about the
potential for a new CSP provider
for Business Chat and I'm going
to talk about those in a sec.
We also then once approved spend
and invest time with CSP
providers to help them get ready
to provide a great business chat
user experience and to get off
to a very fast start and we'll
talk about those quickly.
Starting with servicing medium
to large consumer brands.
For now, we're going to be very
focused on medium to large
consumer brands.
So as a qualified CSP you have
this base of customers and
you're providing them with a
platform solution that provides
contact management for these
brands, especially for
messaging.
And as a qualified CSP you have
these consumer brand customers
around the world in various
regions, whether it's North or
South America, whether it's
Europe, whether it's Japan,
Southeast Asia, Australia, New
Zealand or globally, but you do
have a base of these consumer
brands, medium to large consumer
brands around the world in one
or more regions.
And as a qualified CSP you
provide a fully featured
platform, so what do we mean by
that?
Well let's look at some major
features that we look for in
perspective CSPs that are going
to provide a great experience
for their customers with
Business Chat.
So starting with let's look at
this first example of an agent
console from LivePerson.
The LivePerson live engage
console has the opportunity
because of its built-in
capabilities for what we call
dynamic widgets.
And so a dynamic widget provides
the agent the capability to
populate with the right content
both image and text based on how
Business Chat operates based on
our API and built-in
functionality so that the agent
can simply tap on that to send
the payload down to me on my
iPhone when I'm communicating
with the Lowe's agent so that I
can make a simple selection
because I'm looking for smart
locks that support HomeKit.
Very easy to do, but the console
functionality is very important
to have this built in.
So then I'm ready to make a
purchase and I see oh, not my
HomeKit smart locks I see red
heeled shoes, thanks Scottie.
So now I guess I'm going to be
buying red heeled shoes.
So but in this case the same
thing an intelligent dynamic
widget that populates for the
agent the Apple Pay payload that
they can easily tap on again to
send the payload to me so that
all I have to do now is tap to
authenticate using Touch ID or
Face ID.
A very efficient, very powerful
way to implement Business Chat.
So let's talk about backend
systems, so backend systems
integration is also very
important.
Your platform must have APIs
that support your customers'
backend systems such as CRM,
scheduling, product inventory,
inventory ordering, order entry,
payment systems.
And in this example, it's a
Salesforce lightning service
console where because of a
previous conversation they had
my stable identifier, but
they've now -- I've identified
myself and they've now connected
me to a profile.
So now when I come back, the
agent CRM profile comes up and
they know about me so I can
start a very natural
conversation right off the bat.
And the agent has the ability to
pull from their engagement case
history all the previous
engagements I've had to again be
able to pull back some history
and go into a very fluid, easy
conversation with me-- super
important to have this backend
systems integration capability.
The next key point, intelligent
message routing.
So as you probably may recall
from last year, we announced
intent and group IDs as part of
the infrastructure support for
message payloads that are being
sent from me through the
business chat API to the
customer service platform
provider.
In this case, I may be searching
in the Maps app for a specific
location for Home Depot in Santa
Clara and I start the
conversation here by tapping on
the Message button.
And it sends and appends in the
intent and group ID the actual
address that I've started at.
And so this is important because
the intelligent routing of your
platform may need to be able to
based on your business rules
route this to the right agent
group perhaps on the West Coast
because of hours of operation.
But it also supports the agent's
ability to then know where I
started my journey and be able
to help me right away knowing
I'm probably interested about
that specific store location.
Okay lastly, quality of service
monitoring, QOS, very important
and so in this example with the
Nuance dashboard.
Your platform needs to be able
to monitor, analyze and provide
statistics, KPIs, important KPIs
for your business customers.
And so being able to monitor
Business Chat conversations by
agent and provide important
statistics and KPIs, like the
average response time for
Business Chat for agents, as
well as perhaps for commerce
type transactions in Business
Chat, the percentage conversion
rates, all about trying to
figure out how to increase their
productivity and increase my
level of customer satisfaction.
So your platform needs to
support this type of analytics.
So once again four key areas
that we look for when we think
about what qualifies as a great
customer service platform
provider for Business Chat.
Okay now that you've been
approved there's a couple of key
things that we're going to ask
you to do, one is to invest time
in training your sales and
systems engineers.
So we've created three modules
that we walk you through, all of
your sales and system engineers
wherever they are around the
world about general business
with working with Apple, about
implementation and lots of
details that we go into here
technically.
And then lastly, about how to
design great user experiences
and how to properly set yourself
up for a great marketing launch.
And then lastly, you need to get
ready and help your customers
get ready when it comes to
integrating great consumer brand
customers and all of their
interactions.
And so there's a couple of key
things that we want to highlight
here that we've learned.
Number one, believe it or not
once you become an approved CSP
platform you need to make sure
you let all your customers know
that you are and more
importantly, you need to get
them to come and register at
registered.apple.com and make
sure that they're selecting you
in the drop-down menu and
notifying you when they have
done that so that the two of you
can actually start working
together right from the start.
Second of all, in parallel you
should be already starting to
integrate to the Business Chat
API, starting an Apple Business
Register and then continuing to
test all of the payloads across
the networks to get ready for
helping your customers get ready
to launch.
And then lastly, you need to
start to develop and implement
some great use cases for your
customers and help them get to
the point where they're really
ready to actually launch
Business Chat.
Okay and then sorry one more
point, you do need to notify us
when you and your customer or
customers are ready for a launch
so that we can do a public
launch review, a final QA before
we turn you on and publicly
launch.
So again, these are a couple of
key qualifiers and some
important steps of investment
that you need to make as a
potential CSP around the world
for Business Chat.
So let's talk about the consumer
brand, some points about how to
get ready, steps to get ready
for launching Business Chat as a
consumer brand.
Number one, the one thing we
learned is that Business Chat is
an asynchronous, more
asynchronous like communication
method is a little different
from synchronous and so just to
make sure that everyone
understands what that means I'll
illustrate with a quick example
between Hilton and Marriott, a
couple of our partners.
I may start a conversation with
the hotel brand looking for a
common use case like loyalty
points.
And I may start that and have a
very synchronous communication
back and forth on a Wednesday,
but then I get distracted, I'm
doing other things so a couple
days go by before I come back.
This becomes more asynchronous
now in nature, but because of
the long-lived sessions of
Business Chat and because of the
stable identifier about me and
because I previously identified
who I am a new agent that picks
back up in this conversation
should pick back up right where
we left off, it's not about
starting over.
So it's a different etiquette
and so we've come up with some
great guidelines and some help
in documents to help get your
agents properly trained to be
able to manage these types of
conversations differently say
from what they may be used to in
live webchat synchronously.
You also need to adjust your
KPIs for measuring synchronous
versus asynchronous
communications.
Okay let's talk about
integrating Business Chat entry
points.
So as you probably remember with
Business Chat only users can
initiate a conversation and
therefore it's even more
important to make sure it's very
easy to discover ways in which
to start a Business Chat
conversation.
So there's two key groups that
I'm going to talk about, there's
Apple native entry points and
then there are your entry points
as a consumer brand.
Starting with Apple's native
entry points.
So when we announced the public
release of Business Chat Beta in
March we also announced the
native release of being able to
search for brands in Siri, in
Search, in Safari and in Maps.
And we made this very simple so
that you can go into Business
Chat, your Business Chat account
in Apple Business Register and
set up and configure these entry
points for your business.
And in case you haven't
experienced this again here's a
quick example where I would
start a search again on iOS on
the home screen with a simple
swipe down, I would type in
Discover the brand, I get the
search result, the business
search result for Discover, I
tap on the Business Chat button
and boom I'm right into my
conversation.
Very easy, three steps.
Or coming back to the same
search result I may tap on the
left side of the search result
and that opens up what we call
the full preview of the business
card, which has a lot of
important information that again
as a consumer brand you set up
in your Business Chat account in
Apple Business Register, such as
what to expect from your agents
or your automation with response
time to messages or your live
agents' hours of operations
dependent on where they are.
So these are all things that you
can set up in your account and
configure and update as required
in your Business Chat account.
So again, really important to be
taking advantage and setting up
all of these and getting ready
to launch in your Business Chat
account in Apple Business
Register.
But these are not as important
as your entry points and so by
your entry points we mean these
are the places in which your
customers are most commonly
engaging with you, it's your
content, it's your various
properties, whether it's
websites or apps.
This is where your touch points
are most valuable.
And so we've created the
Business Chat button which is an
API driven way to embed and
initiate an entry point for
Business Chat and it has a
unique URL embedded in it for
your business ID.
So let's look at some examples.
This is an example of how TD
Ameritrade has implemented the
Business Chat button in their
mobile website.
And so contextually they look
for opportunities where there's
the highest level of engagement,
where their customers typically
or prospects start to figure out
okay I want to do something but
I'm not sure exactly what to do.
And so they place the Business
Chat button there and it's
getting tremendous results
because then I can simply tap on
it in this contextual call to
action to talk to a TD
Ameritrade advisor and
immediately start a conversation
with them.
It's fantastic.
All right, so now let's look at
an example of an in-app
placement of a Business Chat
button.
1-800-Flowers in their app have
the Business Chat button placed
in a number of really important
areas again, but I may have
started a conversation with
1-800-Flowers a while ago and
because of my tray and because I
communicate with so many
different people that
conversation may have been
pushed way down in my message
tray.
So in fact you know I'm getting
old, I may have forgotten that I
actually had this conversation.
So I may have started a
conversation, looking for an
opportunity to buy flowers in
the 1-800-Flowers app and I spot
the Business Chat button and
then it comes back to me.
Oh my goodness all I have to do
is tap on that button and once
again it will bring back all the
previous conversation because of
its long-lived capabilities and
I'm already identified, the
agent welcomes me back and I can
right away get into a productive
conversation to order a new set
of flowers for my wife which are
probably way overdue at this
point.
All right, so let's talk about
phone calls.
There's a huge opportunity that
we're discovering with many
brands to be able to start to
deflect inbound phone calls to
your 1-800 contact centers.
Massive potential here for cost
savings and higher levels of
productivity.
And so the idea is at the top of
your IV or your call tree with
whatever options you're offering
in terms of getting into a queue
for a live agent you offer an
option to be able to have an SMS
text message sent to you if you
want to start a conversation in
Apple's Messages app.
And that SMS text message would
have an embedded link that all
they have to do again is tap on
it and it opens up the Business
Chat conversation right in their
Messages app.
Again, huge potential
opportunity to be deflecting a
significant amount of inbound
costly phone calls to a high
productive channel like Business
Chat.
Okay brand email.
So again very targeted because
you obviously have to target
this to specific Apple device
users that most brands track and
know who they are.
But a great opportunity where
1-800-Flowers is knocking it out
of the park being able to target
these emails, offer promotions,
remind them of an easy checkout
benefit with Apple Pay and again
select that button, tap on it
and away you go, you're into a
conversation.
Last key example I'm going to
touch on is QR codes.
And so there's lots of
opportunities that we're
starting to see pop up where
brands are using QR codes in
storefront windows to capture
attention, they're using them at
the checkout lanes, and they're
also using them at check-in at
hotels.
But this is a great example
where T-Mobile is in fact
exploring the opportunity to
create a post-sale relationship
by offering at the end of a
conversation in-store on the ID
badge of their in-store advisors
the opportunity to start a
conversation right there by
simply holding up your iPhone
with the built-in capabilities
of the camera to read the QR
code and start a conversation
even before you leave the store.
Great way to again personalize
that journey with your
customers.
All right, so super important
that is part of getting ready
for a launch that you've thought
through and found the most
valuable engagement touch points
with your customers and embedded
the Business Chat button as you
launch.
So next key step, two more
things.
One, preparing your logos
because they are well displayed
throughout the Business Chat
experience and so you have your
square logo and you have your
wide logo.
And so as a reminder in case you
haven't seen this, the square
logo shows up in a search
result, the square logo shows up
on your actual full business
card, it shows up in the message
tray so it easily, you know you
can scan easily and look for the
brand that you were
communicating with.
And then lastly, the wide logo
always the optimal choice to be
showing it at the top of every
business conversation to
reinforce your brand.
And it's easy to set up in your
Business Chat account once again
by simply going into your
account, tapping on the Brand
button, uploading your square
and wide logos and selecting
your background color.
Last key point, begin your app
planning early and by that we
mean as you develop your
Business Chat team make sure
you're pulling in the app team
at the same time.
The combined collaboration of
your two groups will deliver a
much more powerful result with
Business Chat user experiences,
largely because of the
opportunity to take advantage of
iMessage apps as part of that.
And so to that point, let's
start talking about the brand
developer and Scottie is going
to join me back up on stage to
walk us through that and other
great app development tools to
take advantage of for the best
Business Chat user experiences.
Scottie.
[ Applause ]
>> Thanks Dan.
So today I'm going to talk to
you about working with Business
Chat from the perspective of a
brand developer.
Now what do we mean by brand
developer.
It's not a developer with a
bunch of labels all over their
clothes.
Really what it is is we see
brand developers being in one of
three categories.
The first category is maybe
you're working with a CSP, a
customer service platform, and
you're working to deliver custom
iMessage extensions in-app
experiences for all of the
businesses that they work with.
The second group is maybe you're
a developer working with a
specific brand, a specific
company that's signed up to work
with Business Chat and you have
some great ideas of how you can
make iMessage apps tie into the
transcript to make a great
experience for the customers.
The third group we see as maybe
you're not working with anyone
at all, but you have some really
great ideas of how Business Chat
can come alive with some custom
iMessage apps.
In the past week we've heard
from a number of you and there's
really some exciting
opportunities here for some
great experiences that can
potentially be sold to customer
service platforms or brands.
We've also heard from a lot of
you from all the three
categories over the last year
and I want to thank you for
contacting us because we see
some real great potential and
some great user experiences that
will come into Business Chat
soon, so thank you.
Let's start talking about if you
even need an app at all.
So building custom iMessage apps
for Business Chat is great, but
we have some built-in
functionality already in every
iOS.
So these are the List Picker,
the Time Picker, and Apple Pay.
I went through these last year
in detail, but this year with
iOS 12 we heard your feedback
and we're adding one of the most
requested features which is
Authentication new in iOS 12.
Great.
So let me go through these now.
First, we have List Picker.
List Picker allows your business
to send down a list of products
grouped in sections, each
section can have a number of
different products and new in
iOS 11.3 and above we allow your
business to specify if a section
should be a multiple selection
or a single selection.
Now this is great for some
experiences, such as like trying
to order a pizza where maybe the
crust is only, you can only have
one crust on your pizza, one
crust type, but the toppings
you'd want to offer a range of
toppings the user can select
from.
So we allow that section to be
have a multiple selection, so
that's new in iOS 11.3.
Next, we have the Time Picker.
The Time Picker allows your
business to send a number of
preselected dates and times to
allow your user to select.
These also -- the Time Picker
also ties into your local
calendar store and will feature
certain conflicts that you may
have conflicting with the time
selected.
Once you've selected a time and
you've sent this back to the
business you can easily then add
the appointment to your own
calendar and even get directions
to the event if the company
specifies a location.
Next, we have Apple Pay.
There's those high heels again.
Apple Pay allows your business
to quickly and easily send the
payment request to your
customer.
The customer all they need to do
is tap that bubble, up comes an
Apple Pay sheet, they can
quickly Face ID, Touch ID and
right within Messages quickly
pay your business.
It really wouldn't be Business
Chat without Apple Pay.
Now new in iOS 12 we have the
Authentication plug-in.
This allows your business
quickly to allow you to log in
and then get great customer
information from your login.
So let me go through that a
little bit more right now.
It starts off in a conversation
when you get to that point where
maybe you need to get a little
bit more details from the
customer that would be provided
by their account.
Now as you see here, the
customer service agent will send
down an authentication request.
Their user can tap that to sign
in, up comes a sheet.
This sheet contains a link,
basically it's displaying the
business' OAuth website directly
in the Authentication plug-in.
The user can then tap in to one
of the fields and they can
simply enter in their username
and password if they have it
remembered or they can tap the
Password Lock icon which will
bring up a sheet of all the
saved passwords currently
already in your keychain.
The domain matched to the one
that is provided will be bubbled
to the top, you can then select
that.
The fields that we filled out.
And once you log in you can
basically get a response to the
business verifying that they're
logged in.
So that's great, but how does
this all work?
So let me go through that now.
As I mentioned, it starts off
with the CSP agent sending an
authentication request.
This includes two pieces of
really important information,
the first is a public key.
This public key is going to be
later used to encrypt the token
that you received from the
authentication request.
It also includes the URL of
where the OAuth webpage lives
and we'll go through that a
little bit more in a minute.
So this is where it starts, the
authentication request comes
down and it passes through, stop
on the way at Apple Business
Chat Server.
Now why do we do this?
This we added and we did a lot
of thinking about this about
adding security.
We want to make sure that your
business has authenticated user
to the proper OAuth website.
And for that we make sure it's
the proper information that
you've already as a business
registered through Apple
Register previously.
We verify also that the request
contains all the required
fields.
And then finally we deliver it
in your Messages app for the
customer.
From there as I showed you can
either type in the password
manually or access the system
keychain to pull out any stored
credentials that you may have.
From here the next step is we go
directly to your business server
to hit the OAuth website.
Now this can be existing or
potentially a little bit change
for Business Chat but it allows
you to carry the user through
your standard login flow,
including any extra additional
information, extra verification
fields, anything along those
lines.
At the end of OAuth your OAuth
returns a token, this is your
login token and there it's sent
back to the Messages app.
What we do next is we encrypt
that token so no one else can
see it with a public key that I
mentioned earlier that's
included in the request.
Now your token is encrypted and
it passes back up through the
Apple Chat Server which Apple
can't read and it lands back to
the agent.
Now at this time your agent may
have the private key to decrypt
that or your business may have
that private key depending on
the relationship and the
security that you've worked out.
We think a lot of people will
actually want to send this
encrypted token back to the
business to verify and decrypt
to make sure that this is in
fact the person who has just
recently logged in and once
you've decrypted it you can use
that to get all the important
customer information sent back
to the agent to help service
your account, such as your shoe
size or other order information.
So that's Authentication in iOS
12.
We think a lot of companies,
especially in healthcare and
financial services will really
like this.
And that's what we have for
built-in features, so you don't
have to write a single line of
code you can take advantage of
these by integrating with your
CSPs and your businesses today.
So next, you may want to take
this further and as I mentioned
we heard a lot of great examples
of how this can be done and some
really great innovative ways.
So today I'm going to talk for
your features how you can
leverage native iOS
functionality, some tips about
making your iMessage apps a
shared app architecture, and
talk a little bit about how to
make that experience great.
So remember with iMessage apps
you can really take advantage of
full native iOS frameworks and
code throughout the system, such
as a front facing camera.
Wouldn't it be great if you
could try out, have your users
send pictures of them using your
products, testing your products
or even seeing what kind of
situation they are working with
to help give better customer
support?
This is a whole new level of
interaction that you can have
with your customers by actually
seeing what they're
experiencing.
Remember we have MapKit allowing
your iMessage app to display a
map and then the business can
send down things such as places
that your business may be
operating in in a certain
region.
Or even providing information
such as drawing custom overlays
on the map to designate maybe
coverage areas or delivery
zones.
Taking advantage of ARKit
provides a really a whole new
level of interaction where
customers right from Business
Chat could try out seeing what
products may look like in their
natural environment right from
within Business Chat.
We think these are some really
powerful examples of using your
own custom iMessage app.
So by now you've probably
determined you want to do a
custom app, here's some things
you can do to get ready for
Business Chat.
First, we'll start by talking
about what it means to have and
leverage a shared app
architecture.
So your business, your brand may
already have a full-fledged iOS
app and when you're working on
your iMessage app as an
extension to that there's
certain things you can do to
really speed up that
development.
Your main app may have several
business logic classes, a whole
bunch of utility classes, even
custom views and view
controllers that you could
easily reuse in your iMessage
app.
All you have to do is add an
iMessage app target and then
check off those classes so
they're provided, also available
in your iMessage app.
Now sometimes code is not the
cleanest and by checking one
class you may have to pull a
whole bunch of other classes
that that represents so that's
not always the best way to go
about it and we think this is a
great opportunity where if your
classes aren't fully
encapsulated it's a great time
for you to potentially refactor
to get your specific business
logic into its own kind of
encapsulated place for much
better code in the future.
So that's shared core resources,
really you know adding your
iMessage app target to your
project, checking off a few
classes, you can get really far
really quickly.
Next, we have a shared
filesystem between your app and
your iMessage app.
And with that if your main app
has already downloaded of images
or files or anything important
that your app needs to do you
can reference them from your
iMessage app in Business Chat
without having to redownload
those and provides a much better
customer experience.
You can also go the other way
and save things from your
iMessage app back to the app so
then when you launch back to the
app that information is readily
available.
Now that's great for files that
are not really sensitive or need
to be secured, but if you have
those needs the system keychain
is also shared.
So if you were writing down
potentially even login
credentials or tokens from a
previous login in the app you
can quickly make use of those in
your iMessage app and have those
speed up your login process when
using Business Chat.
Even provide you know customer
data right when launching the
iMessage app.
Keep in mind, you can always go
from the iMessage app to your
main app.
So let's say you're in a
Business Chat conversation and
the user is navigating through
your iMessage app and there's
something that maybe your full
app would be a better experience
for you can provide a link, as
well as a deep link.
So you can go directly from the
iMessage app directly to the
full app right into the place or
maybe the product or the
information that they were
looking for with just one tap.
And keep in mind that once you
make these iMessage apps not all
your customers will have that
preinstalled on their device
right then or all their devices.
So if you run across this
scenario as we showed last year
as well a user just has to tap
the bubble, up comes an App
Store sheet where they can
quickly and easily download the
app and continue right there in
the iMessage conversation having
now downloaded that app and
iMessage app to your device.
So that's covering some great
ways that you can take advantage
of the shared app architecture,
a lot of the code and scenarios
that you've already built with
your main app.
Next, let's talk about the Chat
with Messages button API.
As Dan showed, this is a great
new API that allows your apps to
leverage this standard Apple
button now in iOS 11.3 and
above.
There's two ways to use this, we
have the BC Chat button in the
Business Chat framework which
you can use in your iOS apps and
there's a JavaScript version for
websites that'll be made
available to you as you sign up
through Apple Business Register.
Today I'll show you some code
examples of how to use the BC
chat button in your iOS apps.
So here we have an example
showing the first step I just
have to import the Business Chat
framework which is on the SDK.
Then I can go ahead and
instantiate a button of the BC
chat button and we allow you to
pass in some style information
depending on the look and feel
of your app, it may look better
with a light style or a dark
style.
Then this is a standard button
so I'm going to add a target.
And what you'll note here is
this is available on iOS and
macOS.
So if you're making Mac apps or
iOS apps you can take advantage
of this with even a shared code
to have this available across
your platforms.
Once I've configured the what's
going to happen when I tap the
button I can go ahead and add
this button to my views and
configure constraints and all
the things to make the button
look great.
Now that's putting the button in
the app.
So what happens when the user
taps the button?
Well from here as Dan mentioned
in his example he is showing an
address getting passed through.
In my example I'm showing here
that you can programmatically
define an intent.
Maybe the user is browsing
through your app and has landed
on a certain shoe product.
You could tack on the product
information so right when the
Business Chat conversation comes
alive the customer service agent
already knows the product that
you're referring to.
The group allows you to specify
potentially where to route on
the backend this conversation,
things like support or maybe
sales would be appropriate or
other as Dan showed, other
regional based kind of
specifications.
And then you can also even
specify some default text that
when the user lands on the
message conversation will be
automatically filled in on the
text field so all the user has
to do is hit Send.
Great, so now I've configured
these parameters and the next
step I do is I call the
BCChatAction to open the
transcript and provide the
business identifier which is
provided to you upon acceptance
into Business Chat through the
register.
I also send in the parameters so
they are taken up and sent.
At the end of the day once the
user taps that button they're
switched directly to Messages
into the conversation directly
with that business.
And the information with intent
and group are provided
automatically.
So that's Chat with Message
button API.
Next, I'm going to talk about
Sandbox testing.
Last year at WWDC we introduced
the Business Chat Sandbox.
Here's the URL and last year I
even gave a demo of how this
works and how you can make use
of this for your testing.
Here's a screenshot of the
design and what you see here is
we have tabs across the top
letting you try out all the
experiences of Business Chat
right from kind of pretending to
be a fake CSP or business.
Every one of you can log in and
do this today, you don't need
any approvals.
You basically can log in and get
started sending sample text
messages and instantiating all
of the different built-in
functionality.
As we showed last year you can
even test out your own custom
iMessage apps by using the My
App tab.
And new this year for iOS 12
we've added the Auth tab where
you can try out and play with
the new with the new Auth
functionality, including a
sample OAuth provided webpage
through the Business Chat
Sandbox which is great.
Or if you have your own OAuth
website already you could
override that and enter your own
so you can try it out and see if
it works with your business
setup.
So the Sandbox really allows you
to kind of see and feel this and
we really encourage you to use
this because you'll kind of,
you'll see the use case and
you'll feel how the use cases
interact.
We also think it's a great way
to demo this to maybe
decision-makers in your business
so they can make a great, kind
to fine-tune those experiences
before you go live.
So I can't stress enough how
valuable this Business Chat
Sandbox can be.
And finally let's cover some
best practices.
So as I covered, start with the
Sandbox, really see how these
experiences will look and feel,
try it out with some people.
You can have your you know
laptop set up with Sandbox on
one side and have someone on the
other side with the device
trying this interaction out.
Really valuable to kind of see
and feel how to build these
first-class customer
experiences.
Then think about enhancing your
app and adding a messages app to
that to really take that
experience even further.
Now I have a separate bullet
point about customizing that
user experience specifically
because we want to make sure
that you understand that
iMessage apps are not the full
apps.
They are specifically designed
for quick interactions that'll
add value and not be too
daunting for someone who is in a
conversation who just wants to
get stuff done with Business
Chat.
For that we recommend really
taking a look at all the things
you've done in the app and
what's appropriate in iMessage
apps, but also to custom tailor
it so they kind of fit and flow
into the user experience you're
looking for.
This is also a great way to
really stand out in Business
Chat and in your customer
service experiences.
Then as I mentioned, integrate
with your message API button, BC
chat button and add it to your
apps, into your websites and
your emails.
So that's some best practices,
that's what we would like you to
know about getting started as a
brand developer.
And now I'm going to hand it
back to Dan to finish this up.
[ Applause ]
Well done buddy.
Thanks Scottie, that was great.
And it's super exciting about
finally being able to launch the
OAuth authentication built-in
feature.
That is going to be huge because
we have a ton of demand coming
at us for that type of a
built-in functionality, so
that's very exciting.
All right, some key things.
First of all, we've covered a
lot of highlights today but
there's a lot of great
documentation and information
available to you at this link.
And so, please make note of it,
if you haven't it now you'll be
able to afterwards in the video.
But it will take you to lots of
different documentation that
will cover many of the things
we've talked about would but be
able to drill down much deeper
than that into our getting
started guides and best
practices, again being able to
get right into understanding how
to use Business Register, the
Sandbox which is critical of
course, and even last year's
video which we'd recommend you
revisit to just get again a good
primer.
And so I'm going to leave you
with this one important thought
that once again today for the
first time we're going to open
the door significantly wider to
medium to large consumer brands
around the world and new
qualified CSPs that can support
those medium to large consumer
brands.
And so just as a reminder, if
you feel you're a qualified CSP,
please come right away to Apple
Business Register and qualify by
registering and providing us
your information and we'll move
you through a very rapid process
now.
So we're speeding up the
approval process in Apple
Business Register.
If you're a consumer brand,
please again make sure you come
register, make sure you notify
and pick your CSP and then
notify your CSP that you've
selected them so you can start
working together rapidly and
start integrating.
And then lastly, if you're a
brand developer once again start
the planning process early, use
the Sandbox to start prototyping
the new OAuth authentication
built-in feature and all the
built-in features.
It will immediately help you
accelerate the ability to get to
a Business Chat launch faster.
And of course take advantage of
the opportunity to start
developing your iMessage app as
part of the Business Chat
experience.
On behalf of Scottie and I thank
you very much for your time
today and we'll leave you this
one last message that please go
start getting ready now to
launch Business Chat.
Thank you very much, have a
great afternoon.
[ Applause ]