Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
belltown
Roku Guru

Re: SDK documentation: links to fix, missing/broken/etc

In the Fields section of the Scene Graph Audio component in the Scene Graph XML Reference, errorMessage should say errorMsg.

(PS. rNB: fixed)
0 Kudos
EnTerr
Roku Guru

Re: SDK documentation: links to fix, missing/broken/etc

Needs to document somewhere that NUL (U+0000) characters are not supported in String and roString - i.e. cannot be embedded, internalized or externalized. In particular importing external entity with embedded \0 (by means of reading text file, parsing JSON, URL transfer or byte array) in all likelihood will result in the text ended prematurely at the first \0 occurrence.

See viewtopic.php?f=34&t=97717 thread for discussion.
0 Kudos
EnTerr
Roku Guru

Re: SDK documentation: links to fix, missing/broken/etc

fixed.
roBitmap doc and examples need updating to show that "PHY:/" prefix is now required,
see https://forums.roku.com/viewtopic.php?f=34&t=98497 for discussion
0 Kudos
destruk
Streaming Star

Re: SDK documentation: links to fix, missing/broken/etc

The FastVideoStart.zip sample file has some files in it saved as "Read Only" -
just an FYI - if we're trying to learn from this and edit the sample files they should not be saved as read-only as a courtesy to those trying to learn.
The manifest is fine but it appears everything else needs the read-only flag toggled to edit.

https://sdkdocs.roku.com/download/attac ... 813&api=v2
0 Kudos
destruk
Streaming Star

Re: SDK documentation: links to fix, missing/broken/etc

In Simple_Grid_with_Details_and_Video.zip and also in Simple_Grid_with_Video.zip
In components/screens/loadingindicator.brs -

Function getParentWidth() As Float
If m.top.getParent()<>invalid And m.top.getParent().width<>invalid
Return m.top.getParent().width
Else
Return 1270
End If
End Function

Shouldn't that return 1280 instead of 1270 if the parent is invalid?
0 Kudos
destruk
Streaming Star

Re: SDK documentation: links to fix, missing/broken/etc

For Roku Global Search, the non-TMS feed validator xsd needs to be updated to match the SDK documentation --
https://sdkdocs.roku.com/download/attac ... 356&api=v2

Specifically - the License values -
"The type of license terms for the video content item. Must be one of the following (can either be initial capitalization or all lowercase):
free
Free
rental
Rental
purchase
Purchase
subscription
Subscription"

The xsd only allows for all lowercase.


Also on the metadata charts -
https://sdkdocs.roku.com/display/sdkdoc/Roku+Search

series/originalAirDate --- Optional --- Optional but very important. We recommend that you provide this.
episode/airDate --- Optional --- Optional but recommended. This is helpful for matching and such.

It would be nice to have a sample value for these in the chart like we see for the birthday/deathday of an actor or cast member.  The xsd says it will accept either YYYY/MM/DD or MM/DD/YYYY
0 Kudos
destruk
Streaming Star

Re: SDK documentation: links to fix, missing/broken/etc

Along the same lines, it mentions short-form content will not be indexed, but it doesn't define what short-form content is.  Roku support says any content less than 15 minutes long.  Can that be noted?
0 Kudos
destruk
Streaming Star

Re: SDK documentation: links to fix, missing/broken/etc

GetPartialUserData

This would be better if it was more consistent.
GetPartialUserData("email") returns email - that is ok
GetPartialUserData("firstname") returns firstname - that is ok
GetPartialUserData("lastname") returns lastname - that is ok
GetPartialUserData("city") returns city - that is ok
GetPartialUserData("state") returns state - that is ok
GetPartialUserData("country") returns country - that is ok

GetPartialUserData("zipcode") returns zip -- WHY not zipcode?
GetPartialUserData("phonenumber") returns phone -- WHY not phonenumber?
GetPartialUserData("street")  returns street1 and street2 -- suggest you add a request value of GetPartialUserData("street1,street2") for consistency.

It's like prior history where some screens use "SetPort" while others use "SetMessagePort", and no screen supported both methods, and then you tried fixing it in newer firmware but didn't release the firmware update for all devices IIRC.
0 Kudos
destruk
Streaming Star

Re: SDK documentation: links to fix, missing/broken/etc

The online SDK Wiki appears to have removed SetPort from all pages except ifSocketAddress -- however, RokuMarkN stated -
"You can use SetPort on non-legacy devices. You don't need to test for legacy and call SetMessagePort."

It's probably another reason you want to erase all the older components - just I hope you are more careful with coding in the future.  If routines are buried away in the firmware where none of us can modify them - like roChannelStore, or your array sorting, and you screw them up without proper QA testing and push them into the wild, like the few remaining gridscreen bugs you aren't going to ever fix, then it hurts everybody.  Why does it take 7+ seconds to do a purchase with the Roku Billing system anyway?  If any delay in our channel code we submit for certification of 3 seconds requires a 'Busy" dialog or animation, then the roChannelStore component should require the same simply for consistency.
0 Kudos
tim_beynart
Channel Surfer

Re: SDK documentation: links to fix, missing/broken/etc

RAF documentation for the Ad Structure is not consistent with the example in ServerStitchedAdSDK1Sample.
IN https://sdkdocs.roku.com/display/sdkdoc/Integrating+the+Roku+Advertising+Framework#IntegratingtheRokuAdvertisingFramework-AdStructure, the pods element does not document a tracking array. However, in the example code the pods contain an empty tracking array.
This is confusing. Will RAF honor this undocumented array? BTW I'm implementing RAF for server side ad insertion.

From the sample code, in a file called MixedSttitchedAds.json
[
  {
    "ads": [...],
    "duration": 90,
    "rendersequence": "preroll",
    "rendertime": 0,
    "tracking": [],
    "viewed": false
  },


From the wiki:

adPods : [
  viewed : Boolean,
  renderSequence : "preroll" | "midroll" | "postroll",
  duration : Float (in s),
  renderTime : Float (in s),
  backfilled : Boolean,
  ads:[...]
  ]

(edit)
Furthermore, the "required" adserver parameter for the ad object is missing from the example JSON:
      {
        "companionads": [...],
        "duration": 30,
        "streamformat": "brightline",
        "streams": [
          {
            "mimetype": "application/json",
            "url": "https://a.brightline.tv/?id=ROKU_RAF_1&ver=%%SDK_VER%%&cb=%%CACHEBUSTER%%&mblist=2450X,2500X"
          }
        ],
        "tracking": [...]
      }
0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.