MobiVM / robovm-robopods

55 stars 37 forks source link

Updated Google Mobile Ads to 7.42.2 #77

Closed obigu closed 4 years ago

obigu commented 5 years ago

I've generated bindings for Google AdMob 7.42.2 from scratch (with an empty .yaml) using the latest Bro-gen. Important considerations:

For these reasons this PR Should Not be merged (unless contributed to complete) but it's fully functional in case anybody wants to use the latest AdMob version.

dotw commented 5 years ago

@obigu I want to says thanks and this PR saves my time. I'm using GADRewardBasedVideoAd in my APP with this PR and it works perfectly.

SinaZK commented 5 years ago

How should i use and test your branch? is there any release file that i can use?

obigu commented 5 years ago

How should i use and test your branch? is there any release file that i can use?

You need to check it out and build it locally

pablitar commented 5 years ago

Hey there! Any plan tu support Google Mobile Ads 7.50.0? There is a warning of using a deprecated API when submitting the app to the App Store:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

If there is no plan, maybe I can create the bindings myself, with a little guidance (I'm almost new to iOS development).

Thanks in advance!

PS: Thanks @obigu for this PR. It worked flawlessly.

piotrros commented 4 years ago

Can you update admob to 7.52.0 ? Older admob is broken on iOS 13.. Interstitial is truncated from the bottom.

I've tried running bro-gen by myself and after a lot of struggle with installing all essential tools, I've hit the wall:

./bro-gen.rb /Users/piotr/Documents/pierdoly/robovm-bro-gen/generated /Users/piotr/Documents/pierdoly/robovm-robopods/google-mobile-ads/ios/src/main/bro-gen/google-mobile-ads.yaml 

Using libclang: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib
Clang version detected: [11, 0]
Processing /Users/piotr/Documents/pierdoly/robovm-robopods/google-mobile-ads/ios/src/main/bro-gen/google-mobile-ads.yaml...
./bro-gen.rb:1691:in `block in initialize': Unknown cursor kind 437 in enum at /var/folders/ds/dzclwb3x0_n50z4rglk1zdth0000gn/T/d20191118-24970-19sl622/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h.4.h:378:66 (RuntimeError)
    from /Library/Ruby/Gems/2.3.0/gems/ffi-clang-0.3.0/lib/ffi/clang/cursor.rb:255:in `block in visit_children'
    from /Library/Ruby/Gems/2.3.0/gems/ffi-clang-0.3.0/lib/ffi/clang/cursor.rb:258:in `visit_children'
    from /Library/Ruby/Gems/2.3.0/gems/ffi-clang-0.3.0/lib/ffi/clang/cursor.rb:258:in `visit_children'
    from ./bro-gen.rb:1678:in `initialize'
    from ./bro-gen.rb:2368:in `new'
    from ./bro-gen.rb:2368:in `block in process'
    from /Library/Ruby/Gems/2.3.0/gems/ffi-clang-0.3.0/lib/ffi/clang/cursor.rb:255:in `block in visit_children'
    from /Library/Ruby/Gems/2.3.0/gems/ffi-clang-0.3.0/lib/ffi/clang/cursor.rb:258:in `visit_children'
    from /Library/Ruby/Gems/2.3.0/gems/ffi-clang-0.3.0/lib/ffi/clang/cursor.rb:258:in `visit_children'
    from ./bro-gen.rb:2356:in `process'
    from ./bro-gen.rb:3349:in `block in <main>'
    from ./bro-gen.rb:3202:in `each'
    from ./bro-gen.rb:3202:in `<main>'

I didn't even change anything. After successful build I'd try replacing admob files with the latest ones.

obigu commented 4 years ago

@pablitar @piotrros Have you tried using this bindings with 7.50.0 or 7.52.0? I don't think the API has changed, they should be compatible.

@piotrros Make sure you update to the latest versions ffi (1.11.1) ffi-clang (0.6.0)

And that you use latest version of Bro Gen from https://github.com/dkimitsa/robovm-bro-gen

If you still have issues you can request help on MobiVM gitter https://gitter.im/MobiVM/robovm

piotrros commented 4 years ago

I still cannot get this working (I've updated to versions you mentioned), however I've used your advice and used your bindings. I had to also replace GoogleMobileAds.framework and attach other required frameworks. After that I had to add these lines in Info.plist.xml:

    <key>GADApplicationIdentifier</key>
    <string>ca-app-pub-XXXXXXXXXXXXXXXXXXXXX</string>
    <key>GADIsAdManagerApp</key>

and.. it's working! :)