Uh oh! We couldn’t find any match.

Please try other search keywords.

Bixby Developer Center

Guides

2019 January - March

Note

Internal platform changes that are not visible to capsule developers will be communicated via internal status updates.

19B Capsule SDK Release Notes

Updated: Feb 12, 2019

Deprecated Labels in Bixby Views

VIV-24700

Within Bixby Views, we've deprecated the following text style labels:

  • Label_M
  • Label_M_Soft
  • Label_L
  • Label_L_Soft

New Requirement for Time within Transaction Flows

VIV-24224

If you have transactional workflows within your capsule, and if you are using the time key within activity, such as within structures, you must now ensure it is of type or subtype BaseDate or BaseDateTime.

Change in Ordinal Selection Pattern

If you're using ordinal selection patterns as part of hands-free list navigation, be aware that we've renamed the viv.core.SelectionOrdinal pattern label to viv.core.OrdinalSelector.

Old

 ordinal-selection-patterns {
pattern ("(first)[v:viv.core.SelectionOrdinal:1]")
pattern ("(first)[v:viv.core.SelectionOrdinal:1] one")
pattern ("that (first)[v:viv.core.SelectionOrdinal:1] one")

pattern ("yes (first)[v:viv.core.SelectionOrdinal:1]")
pattern ("yes (first)[v:viv.core.SelectionOrdinal:1] one")
pattern ("yes that (first)[v:viv.core.SelectionOrdinal:1] one")
}

New

 ordinal-selection-patterns {
pattern ("(first)[v:viv.core.OrdinalSelector]")
pattern ("(first)[v:viv.core.OrdinalSelector] one")
pattern ("that (first)[v:viv.core.OrdinalSelector] one")

pattern ("yes (first)[v:viv.core.OrdinalSelector]")
pattern ("yes (first)[v:viv.core.OrdinalSelector] one")
pattern ("yes that (first)[v:viv.core.OrdinalSelector] one")

pattern ("result number (one)[v:viv.core.CardinalSelector:1]")
}

You can alternatively use the viv.core.CardinalSelector label to indicate a numbered result and its value, as shown in the example above.

19A Capsule SDK Release Notes

Updated: January 30, 2019

New OAuth 'authorization.bxb' File

VIV-24083

We've updated the way in which you configure OAuth authorization. You must now use an authorization.bxb file that defines the OAuth 2.0 access scope a user can give a provider:

authorization {
user {
oauth2-authorization-code (providerId) {
authorize-endpoint (...)
client-id (...)
client-secret (...)
scope (...) // optional
token-endpoint (...)
revoke-endpoint(...) // optional
login-button-label(...) // optional
}
}
global {
oauth2-client-credentials (providerId) {
client-id (...)
client-secret (...)
scope (...) // optional
token-endpoint (...)
}
}
}

In the previous method that is now deprecated, you specified OAuth authorization through your endpoints declaration (endpoints.bxb). You could specify exactly one type of authorization, which is automatically applied to all endpoints. If some of your endpoints required a different authorization, you could overwrite it using authorization-override.

With the authorization.bxb file, you can specify one user scoped authorization (currently oauth2-authorization-code) and one globally scoped authorization (currently oauth2-client-credentials). You no longer need to explicitly use authorization-override.

Note

You must place the authorization.bxb file within the capsule root folder, not within the resources folder.

No authorization is applied to an endpoint automatically. An endpoint that needs authorization needs to be tagged with authorization (User) or authorization (Global) depending on which authorizations are needed:

endpoints {
action-endpoints {
action-endpoint (OAuthUser) {
remote-endpoint (https://example.com) {
method (GET)
}
authorization (User)
}

action-endpoint (OAuthGlobal) {
remote-endpoint (https://global.example.com) {
method (GET)
}
authorization (Global)
}
action-endpoint (OAuthNone) {
remote-endpoint (https://internal.example.com) {
method (GET)
}
}
}
}

Read more about Authorizing Access with OAuth.

Custom OAuth Grant Types

VIV-23598

You can now use a custom grant type when using OAuth in your capsule. The oauth2-custom key is helpful when your service does not use standard grants provided with OAuth 2.0.

authorization {
user {
oauth2-custom (providerId) {
authorize-endpoint (...) //optional
client-id (...)
client-secret (...)
grant-type (...)
login-button-label (...) //optional
revoke-endpoint (...) //optional
scope (...)
token-endpoint (...)
}
}
global {
...
}
}

Conditionals for Minimum Cardinality Inputs

When declaring required inputs, you can now specify an on-empty block and use conditionals to either prompt the user or halt execution:

input (myInput) {
type (MyType)
min (Required) {
on-empty {
if (condition) {
prompt | halt
}
}
}
}

Bixby Views Support for 'payment-selection'

VIV-23973, UI-2341

Bixby Views now supports the new payment-selection component in cases where you need to confirm a transaction or verify a payment from users.

Payment selection component

This new component creates a payment UI for users so that they can complete a transaction.

18X Capsule SDK Release Notes

Updated: January 15, 2019

Bixby Views Support for 'image'

VIV-23024, UI-2277

Bixby Views now supports the new image component in cases where you want to include a standalone image within a compound card or section within a content container.

You can specify the image URL, optionally the size, and whether an image should be cropped.

preview of image using Bixby Views