bbnativeplayersdk

BB Native Player SDK public project homepage

View the Project on GitHub bluebillywig/bbnativeplayersdk

Outstream in the Native SDK

Outstream

When creating a player view, you supply a json embed URL and (optionally) an options dictionary. The json URL is similar to Blue Billywig’s standard outstream embed URL. Its only difference is the .json extension, e.g.: https://demo.bbvms.com/a/native_sdk_outstream.json .

A helper function exists for constructing it:

BBNativePlayer.createJsonEmbedUrl(baseUrl: "https://demo.bbvms.com", appIndicator: "a", appId: "native_sdk_outstream")

If the outstream ad needs to start collapsed and/or collapse on end, as per the adunit’s (root-) settings, this has to be allowed explicitly via embed option ‘allowCollapseExpand’ = true. Furthermore, the enclosing view needs to be unconstrained in the vertical direction; android:layout_height="wrap_content" and at most one of app:layout_constraintTop, app:layout_constraintBottom .

Some applications may require the ad’s media dimensions. Therefore, upon receiving didTriggerAdLoaded, the properties adMediaWidth & adMediaHeight can be retrieved, either directly from the player view via getApiProperty, or from the player API.

Other options that are relevant to pass in:

End screen

When the outstream ad doesn’t collapse on end, an end screen will be shown. The end screen will either show a placeholder or a companion ad. The companion ad must exist in the VAST and be of type mediumRectangle with the size 300 x 250. If there is no companion ad a placeholder will be shown.

The following AdUnit properties will be used to draw the end screen:

Note: on iOS the placeholder is not tappable as the iOS IMA SDK doesn’t expose the clickthrough url of the original ad. Set your placeholder text accordingly.

Unsupported

Some of the features of our web-based outstream offering are not (yet) supported in Native. For instance:

Pseudo-outstream

Click-To-Play & Ad-Only-AutoPlay

Again, when creating a player view, you supply a json embed URL and (optionally) an options dictionary. The json URL is similar to Blue Billywig’s standard player embed URL. Its only difference is the .json extension, e.g.: https://demo.bbvms.com/p/default_standard/c/2431946.json .

Thus, it supports various content types (clip, playlist, project), and playout configurations.

A helper function exists for constructing it:

BBNativePlayer.createJsonEmbedUrl(baseUrl: "https://demo.bbvms.com", appIndicator: "p", appId: "default_standard", contentIndicator: "c", contentId: "2431946")

Other options that are relevant:

Unsupported

Some of the features of our web-based player offering are not (yet) supported in Native. For instance: