AppLovin / AppLovin-MAX-Flutter

MIT License
50 stars 29 forks source link

Request for AppLovin MAX Plugin #2

Closed elkhalifte closed 1 year ago

elkhalifte commented 2 years ago

many developpers are waiting for this plugin .

thomasmso commented 2 years ago

Hi @elkhalifte - we have been working on other high-priority projects in the meantime. We will look into this again in December.

MrDeeKey commented 2 years ago

Yeah! I hope so too!

elkhalifte commented 2 years ago

@MrDeeKey you can use my applovin max plugin https://github.com/elkhalifte/flutter_applovin_max , ihave forked it from https://github.com/ioridev/flutter_applovin_max and fixed issues. you can add it like that

flutter_applovin_max:
    git:
      url: https://github.com/elkhalifte/flutter_applovin_max.git
thomasmso commented 2 years ago

Thanks @elkhalifte for the stopgap - we'll have a plugin out by EoY (it'll be my personal Christmas project ;)) and that will have built-in optimization for higher revenue impact. I'll leave issue re-open for now until then.

HPN0412 commented 2 years ago

@elkhalifte

@MrDeeKey you can use my applovin max plugin https://github.com/elkhalifte/flutter_applovin_max , ihave forked it from https://github.com/ioridev/flutter_applovin_max and fixed issues. you can add it like that

flutter_applovin_max:
    git:
      url: https://github.com/elkhalifte/flutter_applovin_max.git

Sorry @elkhalifte I'm try using this repository and my project occur this error

D/AppLovinSdk(14869): [AppLovinSdk]
D/AppLovinSdk(14869): ========================================
D/AppLovinSdk(14869): =====AppLovin SDK=====
D/AppLovinSdk(14869): ===SDK Versions===
D/AppLovinSdk(14869): Version: 10.3.5
D/AppLovinSdk(14869): Plugin Version:
D/AppLovinSdk(14869): Ad Review Version:
D/AppLovinSdk(14869): ===Device Info===
D/AppLovinSdk(14869): OS: 10 (Q - API 29)
D/AppLovinSdk(14869): GAID: <Enable verbose logging to see the GAID to use for test devices - https://monetization-support.applovin.com/hc/en-us/articles/236114328-How-can-I-expose-verbose-logging-for-the-SDK>
D/AppLovinSdk(14869): Model: Android SDK built for x86
D/AppLovinSdk(14869): Locale: en_US
D/AppLovinSdk(14869): Emulator: true
D/AppLovinSdk(14869): WVVC: 373018518
D/AppLovinSdk(14869): Tablet: false
D/AppLovinSdk(14869): ===App Info===
D/AppLovinSdk(14869): Application ID: ...........................
D/AppLovinSdk(14869): Target SDK: 30
D/AppLovinSdk(14869): ExoPlayer Version: -1
D/AppLovinSdk(14869): ===SDK Settings===
D/AppLovinSdk(14869): SDK Key:
D/AppLovinSdk(14869): Mediation Provider: max
D/AppLovinSdk(14869): TG: 90
D/AppLovinSdk(14869): Test Mode On: true
D/AppLovinSdk(14869): Verbose Logging On: false
D/AppLovinSdk(14869): ===Privacy States===
D/AppLovinSdk(14869): Please review AppLovin MAX documentation to be compliant with regional privacy policies.
D/AppLovinSdk(14869):
D/AppLovinSdk(14869): Age Restricted User - No value set
D/AppLovinSdk(14869): Has User Consent - No value set
D/AppLovinSdk(14869): "Do Not Sell" - No value set
D/AppLovinSdk(14869): ========================================
D/AndroidRuntime(14869): Shutting down VM
E/AndroidRuntime(14869): FATAL EXCEPTION: main
E/AndroidRuntime(14869): Process: ...................................., PID: 14869
E/AndroidRuntime(14869): java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
E/AndroidRuntime(14869):    at com.applovin.impl.mediation.e.a(Unknown Source:14)
E/AndroidRuntime(14869):    at com.applovin.impl.mediation.MediationServiceImpl.collectSignal(Unknown Source:28)
E/AndroidRuntime(14869):    at com.applovin.impl.mediation.b.b$2.run(Unknown Source:26)
E/AndroidRuntime(14869):    at android.os.Handler.handleCallback(Handler.java:883)
E/AndroidRuntime(14869):    at android.os.Handler.dispatchMessage(Handler.java:100)
E/AndroidRuntime(14869):    at android.os.Looper.loop(Looper.java:214)
E/AndroidRuntime(14869):    at android.app.ActivityThread.main(ActivityThread.java:7356)
E/AndroidRuntime(14869):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(14869):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/AndroidRuntime(14869):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
I/Process (14869): Sending signal. PID: 14869 SIG: 9
Lost connection to device.

Do you know about this issue? Glad to have your help.

elkhalifte commented 2 years ago

Hello @HPN0412 can you show me how you are showing banner ads.

try something like this:

BannerMaxView(
                              (AppLovinAdListener? event) => print(event),
                              BannerAdSize.banner,
                              "unit ad here",
                              "unique key string")

make sure you use different unique key string if you have multiple BannerMaxView inside your app.

superkeka commented 2 years ago

SDK Key:

It looks like the Applovin SDK key is empty

elkhalifte commented 2 years ago

@superkeka you should initialize the plugin on app start.

leon6003 commented 2 years ago

Hi @elkhalifte ,

where do i put

lutter_applovin_max: git: url: https://github.com/elkhalifte/flutter_applovin_max.git

and which issues are fixed ?

johnmollaghan commented 2 years ago

Any update on this Applovin Fllutter Plugin? Will it support bidding for Facebook Audience Network? Thanks

thomasmso commented 2 years ago

Hi, sorry but the Flutter plugin has been prioritized to Q2 as we are handling the MoPub transition for Q1. Feel free to use the non-official plugin for now until then. When our plugin releases it will have support for all networks and best practices, yielding higher CPMs.

johnmollaghan commented 2 years ago

Hi Thomas,

Which Unofficial plugin would you recommend? Do you know if it would support bidding for Facebook Audience Network?

Thanks

John

On Wed, 26 Jan 2022 at 01:00, Thomas So @.***> wrote:

Hi, sorry but the Flutter plugin has been prioritized to Q2 as we are handling the MoPub transition for Q1. Feel free to use the non-official plugin for now until then. When our plugin releases it will have support for all networks and best practices, yielding higher CPMs.

β€” Reply to this email directly, view it on GitHub https://github.com/AppLovin/AppLovin-MAX-Flutter/issues/2#issuecomment-1021754427, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQJZVSGTDAXGK47QRHJM6LUX5BUPANCNFSM5GGT67QQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

thomasmso commented 2 years ago

There's one mentioned earlier in the thread - since we don't support it officially, I would not be able to comment further on it.

johnmollaghan commented 2 years ago

Ok, I can try that.

On Wed 26 Jan 2022, 08:55 Thomas So, @.***> wrote:

There's one mentioned earlier in the thread - since we don't support it officially, I would not be able to comment further on it.

β€” Reply to this email directly, view it on GitHub https://github.com/AppLovin/AppLovin-MAX-Flutter/issues/2#issuecomment-1021990948, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQJZVSJNBI4R7ILRCGNNJDUX6ZIZANCNFSM5GGT67QQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

johnmollaghan commented 2 years ago

I am with Appodeal at the moment. I am not able to use Google Ads as my account was terminated by Google. I have no idea why as I was not in violation, just one of those things.

I was wondering would Applovin be a good alternative to Appodeal.

With Appodeal I am using Facebook Audience Network and also the ads that Appodeal serve (these include Applovin but I don't need an account or an app, I use the ads they get from Applovin I think)

If I went to Applovin Max and just used Applovin and Facebook (with bidding), would that give me a high fill rate or would I need more networks?

I don't want to have to create apps across lots of networks as I have a lot of apps.

Thanks

On Wed, 26 Jan 2022 at 08:55, Thomas So @.***> wrote:

There's one mentioned earlier in the thread - since we don't support it officially, I would not be able to comment further on it.

β€” Reply to this email directly, view it on GitHub https://github.com/AppLovin/AppLovin-MAX-Flutter/issues/2#issuecomment-1021990948, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQJZVSJNBI4R7ILRCGNNJDUX6ZIZANCNFSM5GGT67QQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

thomasmso commented 2 years ago

Generally speaking the more the merrir, but it also depends on the geos your main users are in. A lot of networks we support are geo specific (e.g. Yandex for Russia). I'm not able to comment further on recommendations.

Nikolaisd commented 2 years ago

Hi John. (I am not part of the Applovin team, but a user of their products).

I would recommend reaching out to their customer support directly on their website regarding your questions, they reply promptly and even helped me set up my mediation and recommended ways of improving CPM and fill rates. I am very happy with my experience with Applovin. I switched from AdMob and was able to improve CPM and fill rates. I am running seven networks in my waterfall.

Just waiting for the Flutter plugin so I can migrate all my users from Swift to a new Flutter version, as the non-official plugin does not implement best practices, and does not offer as much control.

thomasmso commented 2 years ago

Hi @Nikolaisd - Appreciate all the positive feedback. Which customer support channel are you referring to? The Flutter plugin is on the back of my mind for a while now, but we're tied with higher-priority projects with all the publishers migrating over to our platform from MoPub.

Nikolaisd commented 2 years ago

Great work deserves positive feedback. I was referring to support@applovin.com.

When I first signed up for MAX one had to "request access", and I had a few skype meetings with a Mary K. regarding this, she later helped with the above mentioned. You also promptly helped when I had the issues with mute.caf and its static noise on iOS a few years ago. So all round great help.

I could imagine the MoPub migration being a lot of work.

thomasmso commented 2 years ago

@Nikolaisd - Awesome, I'll forward it to my teammates who handle that alias, the mute.caf issue (I actually still recall it as well), and Mary K.

Nikolaisd commented 2 years ago

@thomasmso I am working on a fork of the above mentioned Flutter plugin, and adding more control to it. I had a quick question i was hoping you could help with. The iOS Max documentation states that impression level revenue is in USD in the didPayRevenue callback, will it always be returned in USD?

thomasmso commented 2 years ago

Correct, will always be USD

ioridev commented 2 years ago

I can also transfer the repository.

ioridev commented 2 years ago

@elkhalifte If you fix any of my unofficial plugins, send me a pull request and I'll update it. Thanks.

ioridev commented 2 years ago

When the official plugin is released, I plan to discontinue my plugin. So you can transfer package ownership if you wish.

w0ts0n commented 2 years ago

Just another +1 that I need this working for our app. Would prefer not to use 3rd party. Hopefully you can get to this soon.

Vollinator commented 2 years ago

@thomasmso do you have any updates for us? I am really looking forward to the official SDK.

Thanks!

thomasmso commented 2 years ago

Unfortunately not - we're still actively working on transitioning the thousands of publishers from MoPub over to MAX. After that migration ends we will pick this up.

Vollinator commented 2 years ago

Unfortunately not - we're still actively working on transitioning the thousands of publishers from MoPub over to MAX. After that migration ends we will pick this up.

Okay, thanks for your answer! πŸ‘

Vollinator commented 2 years ago

@thomasmso sorry for disturbing again. Is there any planned releasedate of the official SDK for Flutter?

Thanks!

thomasmso commented 2 years ago

Getting to it soon, now that the MoPub migration has settled. No hard ETA but likely this summer.

Nikolaisd commented 2 years ago

I am also looking forward to the official Flutter SDK being released.

@Vollinator But in the meantime the previously mentioned package by @ioridev does work. I am currently running it on a live production app with no issues.

Unfortunately it is missing a few things such as revenue callback, setting GDPR flag, and running multiple different ad unit ids, but I manage for now.

Vollinator commented 2 years ago

@Nikolaisd I have some problems with the package like performance, banner ads for ios, missing native ads and some more. In principle, it is a nice package, but unfortunately there are no more updates.

What is the advantage of running multiple different ad unit ids? Is it like multiple ids for banner ads?

johnmollaghan commented 2 years ago

I am currently using the AppoDeal Flutter plugin. It allows me to link to Facebook (Meta) and it uses AppLovin too. Would Applovin Max be better from a revenue point of view? Anyone else used both to be able to compare? Don't want to rewrite chunks of the app only to discover no difference between them.

On Wed, 4 May 2022 at 10:58, Nikolai Schultz @.***> wrote:

I am also looking forward to the official Flutter SDK being released.

@Vollinator https://github.com/Vollinator But in the meantime the previously mentioned package by @ioridev https://github.com/ioridev does work. I am currently running it on a live production app with no issues.

Unfortunately it is missing a few things such as revenue callback, setting GDPR flag, and running multiple different ad unit ids, but I manage for now.

β€” Reply to this email directly, view it on GitHub https://github.com/AppLovin/AppLovin-MAX-Flutter/issues/2#issuecomment-1117131836, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQJZVQQ74Q2SNXGTO6GGZ3VIJC4RANCNFSM5GGT67QQ . You are receiving this because you were mentioned.Message ID: @.***>

davidgalarza commented 2 years ago

Any update?? We're really waiting for a long time for the oficial package.

vishalknishad commented 2 years ago

Hey @thomasmso, Interested to know whether any work has started on this.

thomasmso commented 2 years ago

@vishalknishad - Going to dig out some time this weekend and begin

canewsin commented 2 years ago

@thomasmso Does Official plugin uses native Dart only Widgets API or Same as Platform Views with Webview as other ads plugins, Currently Flutter had become main stream and supports more platforms, but why all these plugins uses native views instead of Dart Widgets API.

thomasmso commented 2 years ago

@canewsin - So far, it's programmatic only. Release after will take advantage of Platform Views or Widgets API - not sure on the tech requirements / preferences for which yet though, any insights would be appreciated

laurentiu0 commented 2 years ago

Is there an ETA for the launch? @thomasmso

hkpatel201 commented 2 years ago

Is there any update for the official plugin? As waiting for longtime πŸ™‡

leatdev commented 2 years ago

please when the official plugin will be out ? @thomasmso

thomasmso commented 2 years ago

Have the initial version here: https://github.com/AppLovin/AppLovin-MAX-Flutter/pull/6

Will publish the flutter package shortly after

thomasmso commented 2 years ago

To integrate mediated networks - you'll have to follow instructions here in the native projects (Android docs, iOS docs).

I've seen some other plugins automatically bundle these networks with it, which causes several issues:

  1. Some networks have specific integration instructions (such as cleartext traffic), and
  2. By bloating your app with networks that you don't use, your performance suffers as those SDKs may still take up device resources
Vollinator commented 2 years ago

Thank you very much, I love it! Could you give us please a quick introduction how to implement the library from this repo into the flutter application?

thomasmso commented 2 years ago

Plugin is live! Let me knowΒ if there are any issues! Will add support for banner/MREC via Platform Views or Widgets APIs later.

pub.dev page: https://pub.dev/packages/applovin_max docs: https://dash.applovin.com/documentation/mediation/flutter/getting-started/integration

medalawi commented 2 years ago

Congrats big thanks to you @thomasmso πŸ‘and to AppLovin team πŸ‘, I have one question about where to paste this file AppLovinQualityServiceSetup-ios.rb? I mean what is the path ? is it "my_flutter_project/ios/Runner/AppLovinQualityServiceSetup-ios.rb" ? Thank you.

thomasmso commented 2 years ago

@medalawi - Thank you :) You should place the AppLovinQualityServiceSetup-ios.rb file in my_flutter_project/ios/AppLovinQualityServiceSetup-ios.rb. Note that it is only necessary if you want to enable Ad Review.

johnmollaghan commented 2 years ago

It is fantastic that there is now an Applovin Max Flutter plugin. I am using AppoDeal at the moment but would like to try Applovin Max also to see which would best suit my apps. Appodeal is fine but I am earning through their Applovin account, not my own.

I am hoping that you or others on this group could answer a few short questions please?

1) If I am just using Apploxin Max and Meta (Facebook), will I get a good fill rate? With Appodeal I am mainly making money from BidMachine, Applovin and Meta, I want to make sure I am still getting good fill with Applovin Max?

2) Does Applovin Max have a market place to make sure all requests are filled?

3) Has anyone experience with both Appodeal and Applovin Max? The ads in Appodeal can be annoying, lots of game ads. Does Applovin Max have a better spread of ads outside of games?

laurentiu0 commented 2 years ago

I've tested it. It looks like Rewarded video ads never call the onAdReceivedRewardCallback, but only the onAdHiddenCallback. I've tested it with AppLovin Ads, Applovin_Exchange Ads, AdColony Ads and Vungle Ads.

Is there a problem, @thomasmso ? The method is called but the callback is not image

Found the issue: This was thrown - type 'int' is not a subtype of type 'String' This fixed the issue: image