Forum Discussion

EnTerr's avatar
EnTerr
Roku Guru
10 years ago

What's the toll of 'festing "bs_libs_required=roku_ads_lib"?

This question is going to sound strange but read on, i'll give the reason for asking at the end. We know from RTFM that
"Roku Advertising Framework" wrote:

:!: The following line must be placed in the manifest file for any applications using the Roku Ad Framework library:
bs_libs_required=roku_ads_lib

My question is what is the "toll" (the price, cost) of manifesting that for an app which may not be using RAF?

Since it's an opt-in, i am guessing there is some price to be paid - in time or RAM or /tmp disk - or else everybody will be getting that feature "toll-free"^ already.

Why do i care? Well the thing is the framework i am using (Marmalade) has a rather rigid build process targeting Roku platform. In particular it has a baked-in manifest template in which it does substitutions from a fixed list of pre-defined UI form entries. I found where the template is hidden and i can add a "bs_libs_required=roku_ads_lib" to it but that will be "hard-coded" and apply to all Roku projects. Which makes switching between projects with and without RAF an exercise with extra manual steps. Or i can just always manifest it, if it's cheap enough...

(^) in case one wonders where did i come with the "toll" expression, it's in my head from "toll-free bridging" between NS (NextStep / Objective C) and CF (core foundation / pure C) APIs of Apple OSX/iOS world.

3 Replies

  • RokuKC's avatar
    RokuKC
    Roku Employee
    "EnTerr" wrote:
    ...
    My question is what is the "toll" (the price, cost) of manifesting that for an app which may not be using RAF?

    Since it's an opt-in, i am guessing there is some price to be paid - in time or RAM or /tmp disk - or else everybody will be getting that feature "toll-free"^ already.
    ...


    While ideally you wouldn't list RAF as a dependency of an app that isn't using it, it shouldn't add any significant overhead.

    The RAF code is only compiled with the application if the app includes:
    Library "Roku_Ads.brs"

    in one of the app's .brs files.

    And of course you only pay the additional runtime overhead if you actually instantiate RAF via:
    adIface = Roku_Ads()
  • "RokuKC" wrote:
    While ideally you wouldn't list RAF as a dependency of an app that isn't using it, it shouldn't add any significant overhead.

    Thanks, that's a relief. I was clear on the other points. So i can just imagine - if i will - the cost of the manifesting bs_libs_required being just time&resources of mounting a fs? Close enough?
  • RokuKC's avatar
    RokuKC
    Roku Employee
    "EnTerr" wrote:
    "RokuKC" wrote:
    While ideally you wouldn't list RAF as a dependency of an app that isn't using it, it shouldn't add any significant overhead.

    Thanks, that's a relief. I was clear on the other points. So i can just imagine - if i will - the cost of the manifesting bs_libs_required being just time&resources of mounting a fs? Close enough?


    Yes.