Please deliver tvOS IMA Client SDK as CocoaPod

169 views
Skip to first unread message

Steven Barnett

unread,
Oct 8, 2019, 1:17:15 PM10/8/19
to Interactive Media Ads SDK
My company creates software to facilitate video streaming -- streaming software (like OBS or Shadowplay), transcode and distribution services (like Red5 or Wowza), and players (like VideoJS or jwPlayer). Unlike the software listed, our company provides added value by controlling the entire stack: we can inject metadata into the video on one end then read and react to this metadata on the other end, allowing for events to by synchronized with the stream (ad breaks, score display, interactive content, etc)

Currently we have about 20 clients who have requested iOS applications, and we've had to build these applications for them in-house manually. We have a common code base which handles all of our business logic, extracting and reacting to metadata, and then we perform asset swaps and add additional functionality as requested by the clients. As you can imagine, this is very tedious and doesn't scale well. We wish to release a library that clients can use to build their own applications without assistance, the same way we provide a JavaScript library for clients to embed a player on their websites.

For ad display, we currently rely on the IMA SDK. Therefore one of our apps currently looks like this:

-> App
 |-> IMA SDK

And with our new library solution it to looks like this:

-> App
 |-> Our Library
 |-|-> IMA SDK

The problem is that this is a nested framework, which is not supported by iOS. Normally to circumvent this dependency issue, people rely on CocoaPods or Carthage. I can create a library and declare the Google IMA SDK as a dependency. Then anyone building an app using my library who runs "pod install" will have the Google IMA SDK automatically downloaded and included into their own project as a top-level framework, creating the following layout:

-> App
 |-> Our Library
 |-> IMA SDK

This works for iOS, because it's available as a CocoaPod. However for tvOS this is not the case. In order to add tvOS support to our library, we must link the tvOS framework manually. This prevents us from building a framework library and instead requires we distribute source code to be included in client applications directly, adding a lot of setup overhead and complexity.

If the tvOS IMA SDK were available as a CocoaPod, all of these troubles would melt away an we could just say "use CocoaPods"

IMA SDK

unread,
Oct 8, 2019, 5:48:26 PM10/8/19
to steven....@blueframetech.com, ima...@googlegroups.com
Hi Steven,

Thank you for reaching out to us. The IMA for tvOS library is also available on cocoapods. You can add the line below to your podfile, your project should build successfully:

pod 'GoogleAds-IMA-tvOS-SDK', '~> 4.0'

Regards,
Arnaud Casame
IMA SDK Team

ref:_00D1U1174p._5001UKMblD:ref

Fernando Martínez

unread,
Oct 9, 2019, 4:41:00 AM10/9/19
to Interactive Media Ads SDK
Hi Arnaud,
I saw there is a GoogleAds-IMA-tvOS-SDK 4.1.0 that supports tvOS13, I can see it here in this link https://developers.google.com/interactive-media-ads/docs/sdks/tvos/history
But with cocoapods I can only see 4.0.5.
pod 'GoogleAds-IMA-tvOS-SDK', '~> 4.0.5' works

pod 'GoogleAds-IMA-tvOS-SDK', '~> 4.1.0' does not work.

Do you know when is this going to be available?

Regards,

Fernando Suárez Martínez
iOS / tvOS Developer
zattoo.com – #watchyouwant

Steven Barnett

unread,
Oct 9, 2019, 11:34:29 AM10/9/19
to Interactive Media Ads SDK
So after adding that to a Podfile I immediately received this error when running "pod install":

Analyzing dependencies
[!] Unable to find a specification for `GoogleAds-IMA-tvOS-SDK (~> 4.0)`

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.

This was coupled with the facts that:
  1. "GoogleAds-IMA-tvOS-SDK" doesn't show up in the search on https://cocoapods.org
  2. The official Google documentation for both the client side (https://developers.google.com/interactive-media-ads/docs/sdks/tvos-client-side/) and DAI (https://developers.google.com/interactive-media-ads/docs/sdks/tvos/quickstart) SDKs on tvOS says to download and manually install the framework file, as opposed to the iOS IMA SDK (https://developers.google.com/interactive-media-ads/docs/sdks/ios) which says to use CocoaPods
These three facts led me to assume there was no such CocoaPod. After running "pod repo update" and reinstalling, however, the invisible and undocumented pod was installed.

Would it be possible to fix the Google documentation, and also look into why CocoaPods does not list the tvOS SDK?

IMA SDK

unread,
Oct 9, 2019, 2:32:54 PM10/9/19
to steven....@blueframetech.com, ima...@googlegroups.com
Hi Fernando,

We currently have no ETA on when the tvOS v4.1.0 will be made available on cocoapods. However, you can keep an eye on our tvOS release notes page and our blog for updates regarding this feature.


Regards,
Arnaud Casame
IMA SDK Team

ref:_00D1U1174p._5001UKMblD:ref

Fernando Martínez

unread,
Oct 10, 2019, 5:54:29 AM10/10/19
to Interactive Media Ads SDK
Thank you

Roman Podymov

unread,
Oct 29, 2019, 6:46:27 AM10/29/19
to Interactive Media Ads SDK
Hello Fernando.

GoogleAds-IMA-tvOS-SDK 4.1.0 is available via CocoaPods. Add pod 'GoogleAds-IMA-tvOS-SDK', '~> 4.1.0' to your Podfile.

Best regards,
Roman.
Reply all
Reply to author
Forward
0 new messages