AppLovin / AppLovin-MAX-Unreal

16 stars 5 forks source link

Error while building in unreal engine 4.27 #13

Closed awsproserve closed 1 year ago

awsproserve commented 1 year ago

MAX Plugin Version

1.1.2

Unreal Engine Version

4.27

Device/Platform Info

IOS

Current Behavior

I install the plugin to unreal engine and while trying to build the application I get the following error below. Been trying for all this week and still no avail, any help in the right direction would be greatly appreciated. Thanks - Sarah

image

Expected Behavior

The game/application should build successfully without error, and package successfully

How to Reproduce

  1. First lets down load the plugin. I navigate to the GIT repo, and download the plugin folder image

  2. Go to your downloads and find the folder we just downloaded and copy the plugin from the plugin folder image

  3. Put the applovin max plugin in your projects plugin folder image

  4. Find your [yourgame/appname].target.cs file within your project folder, open with text editor and add the following below

    // Add compiler argument to support building on macOS with Xcode 13.3+ bOverrideBuildEnvironment = true; AdditionalCompilerArguments = "-Wno-unused-but-set-variable";

image

  1. Add AppLovinMAX as a dependency to the PublicDependencyModuleNames array inside of your app’s .Build.cs file:

Add AppLovinMAX as a dependency to the PublicDependencyModuleNames array inside of your app’s .Build.cs file: for example: PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AppLovinMAX" });

Screenshot of me adding it to my app, our public dependency module name line is formatted by default different than yours, so I used it the way my project has it in in default with adding the applovin, input core, engine, and coreuobject. and I also tired it with your exact formate. see below | V image

(I just noticed that after I save this file and re open it, my changes save to the run.build.cs file, however when I try to package the app, and it fails, I go back to the run.build.cs file and it reverts back to default, is that expected? see below for the default that it reverts back to

image

now I try it exactly the way you have it in your instructions, and tried building package and still not working. it still also reverts back to default when package fails.

image

  1. Update your app’s Info.plist in Unreal’s Project Settings with network-specific identifiers. See the SKAdNetwork documentation for instructions.

image

  1. Open your project, to go file > package > IOS
image
  1. After few seconds, I get the following error

to suppress this warning. UATHelper: Packaging (iOS): Couldn't find PLCrashReporter in folder 'lib-Xcode-13.4.1', using default 'lib-Xcode-12.4' UATHelper: Packaging (iOS): Compiling against OS Version 12.0 [minimum allowed at runtime] UATHelper: Packaging (iOS): Parsing headers for run UATHelper: Packaging (iOS): Running UnrealHeaderTool "/Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/run.uproject" "/Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Intermediate/Build/IOS/run/Shipping/run.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -absl og="/Users/caataiwi/Library/Logs/Unreal Engine/LocalBuildLogs/UHT-run-IOS-Shipping_2.txt" -installed UATHelper: Packaging (iOS): 2022-11-19 02:18:44.600 UnrealHeaderTool[80304:7868319] [UE4] Looking for binary: ../../../Engine/Programs/UnrealHeaderTool/Config/BinaryConfig.ini UATHelper: Packaging (iOS): LogInit: Display: Loading text-based GConfig.... UATHelper: Packaging (iOS): Reflection code generated for run in 4.5829604 seconds UATHelper: Packaging (iOS): Compiling with iPhoneOS SDK 15.5 UATHelper: Packaging (iOS): Zip file: /Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Binaries/IOS/run-IOS-Shipping.dSYM.zip UATHelper: Packaging (iOS): Adding PostBuildSync action UATHelper: Packaging (iOS): IOSPlugin: Plugins/Runtime/AR/AppleAR/AppleARKit/Source/AppleARKit/AppleARKit_IOS_UPL.xml UATHelper: Packaging (iOS): IOSPlugin: Plugins/Marketplace/EasyAdsPro/Source/EasyAds/EasyAds_IOS_UPL.xml UATHelper: Packaging (iOS): IOSPlugin: Plugins/Marketplace/PsIronSource/Source/PsIronSource/IronSource_APL_IOS.xml UATHelper: Packaging (iOS): IOSPlugin: ../../../caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Plugins/AppLovinMAX/Source/AppLovinMAX/AppLovinMAX_UPL_IOS.xml UATHelper: Packaging (iOS): Writing manifest to /Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Intermediate/Build/Manifest.xml UATHelper: Packaging (iOS): ERROR: Unable to merge actions producing AppLovinSDK.embeddedframework.extracted: prerequisites are different PackagingResults: Error: Unable to merge actions producing AppLovinSDK.embeddedframework.extracted: prerequisites are different UATHelper: Packaging (iOS): ERROR: Action graph is invalid; unable to continue. See log for additional details. PackagingResults: Error: Action graph is invalid; unable to continue. See log for additional details. UATHelper: Packaging (iOS): Took 9.091533s to run mono, ExitCode=6 UATHelper: Packaging (iOS): UnrealBuildTool failed. See log for more details. (/Users/caataiwi/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-run-IOS-Shipping_2.txt) UATHelper: Packaging (iOS): AutomationTool exiting with ExitCode=6 (6) UATHelper: Packaging (iOS): RunUAT ERROR: AutomationTool was unable to run successfully. PackagingResults: Error: AutomationTool was unable to run successfully. PackagingResults: Error: Unknown Error LogSlate: Window 'Output Log' being destroyed LogSlate: Window 'Output Log' being destroyed

image

Additional note: When I remove the plugin and revert all my changes I made, I can successfully package the IOS and upload it to apples test flight.

If anyone can please help us with what we are doing wrong here. I want to note we have't yet implemented any blueprints or code specific to the plugin, we wanted to make sure that we can package the game after we installed the plugin to make sure nothing broke. Thanks in advance for any help you can provide. :)

Additional Info

No response

ritamsarmah commented 1 year ago

Hi @awsproserve, thank you for the detailed screenshots. I think this error may be due to the incorrect formatting in the Info.plist, since the added SKAdNetworkIdentifier items should be inside the array tag of SKAdNetworkItems, for example:

<key>SKAdNetworkItems</key>
    <array>
        <dict>
            <key>SKAdNetworkIdentifier</key>
            <string>...</string>
        </dict>
        <dict>
            <key>SKAdNetworkIdentifier</key>
            <string>...</string>
        </dict>
        <dict>
            <key>SKAdNetworkIdentifier</key>
            <string>...</string>
        </dict>
        </array>
ritamsarmah commented 1 year ago

You can also add the full SKAdNetworkItems into AppLovinMAX_UPL_IOS.xml if it's easier to format there

awsproserve commented 1 year ago

Hello @ritamsarmah you where right, when I tried to open up the info.plist file in Xcode, without opening in text, it threw me an error. I have used your suggested format and then it opened up successfully in Xcode. see screenshot below. I tried to build in iOS though and I got still the same error,

ERROR:

UATHelper: Packaging (iOS): AppLovin IOS Plugin found UATHelper: Packaging (iOS): Couldn't find PLCrashReporter in folder 'lib-Xcode-13.4.1', using default 'lib-Xcode-12.4' UATHelper: Packaging (iOS): Compiling against OS Version 12.0 [minimum allowed at runtime] UATHelper: Packaging (iOS): Parsing headers for run UATHelper: Packaging (iOS): Running UnrealHeaderTool "/Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/run.uproject" "/Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Intermediate/Build/IOS/run/Shipping/run.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -absl og="/Users/caataiwi/Library/Logs/Unreal Engine/LocalBuildLogs/UHT-run-IOS-Shipping_2.txt" -installed UATHelper: Packaging (iOS): 2022-11-21 12:52:49.242 UnrealHeaderTool[83952:8144251] [UE4] Looking for binary: ../../../Engine/Programs/UnrealHeaderTool/Config/BinaryConfig.ini UATHelper: Packaging (iOS): LogInit: Display: Loading text-based GConfig.... UATHelper: Packaging (iOS): Reflection code generated for run in 6.2245425 seconds UATHelper: Packaging (iOS): Compiling with iPhoneOS SDK 15.5 UATHelper: Packaging (iOS): Zip file: /Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Binaries/IOS/run-IOS-Shipping.dSYM.zip UATHelper: Packaging (iOS): Adding PostBuildSync action UATHelper: Packaging (iOS): IOSPlugin: Plugins/Runtime/AR/AppleAR/AppleARKit/Source/AppleARKit/AppleARKit_IOS_UPL.xml UATHelper: Packaging (iOS): IOSPlugin: Plugins/Marketplace/EasyAdsPro/Source/EasyAds/EasyAds_IOS_UPL.xml UATHelper: Packaging (iOS): IOSPlugin: Plugins/Marketplace/PsIronSource/Source/PsIronSource/IronSource_APL_IOS.xml UATHelper: Packaging (iOS): IOSPlugin: ../../../caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Plugins/AppLovinMAX/Source/AppLovinMAX/AppLovinMAX_UPL_IOS.xml UATHelper: Packaging (iOS): Writing manifest to /Users/caataiwi/Documents/Unreal Projects/KZ_4.27_Avatar_nov_17_max/Intermediate/Build/Manifest.xml UATHelper: Packaging (iOS): ERROR: Unable to merge actions producing AppLovinSDK.embeddedframework.extracted: prerequisites are different PackagingResults: Error: Unable to merge actions producing AppLovinSDK.embeddedframework.extracted: prerequisites are different UATHelper: Packaging (iOS): ERROR: Action graph is invalid; unable to continue. See log for additional details. PackagingResults: Error: Action graph is invalid; unable to continue. See log for additional details. UATHelper: Packaging (iOS): Took 12.747466s to run mono, ExitCode=6 UATHelper: Packaging (iOS): UnrealBuildTool failed. See log for more details. (/Users/caataiwi/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-run-IOS-Shipping_2.txt) UATHelper: Packaging (iOS): AutomationTool exiting with ExitCode=6 (6) UATHelper: Packaging (iOS): RunUAT ERROR: AutomationTool was unable to run successfully. PackagingResults: Error: AutomationTool was unable to run successfully. PackagingResults: Error: Unknown Error

image

awsproserve commented 1 year ago

screenshot of the error

image

awsproserve commented 1 year ago

Any other thoughts as to why im getting this error?

ritamsarmah commented 1 year ago

I noticed you have some other iOS plugins enabled, EasyAds, PsIronSource, etc. that could potentially conflict with our plugin—do you still encounter the issue after disabling all the other plugins? Have you also encountered this issue when trying to build our demo app?

awsproserve commented 1 year ago

I just disabled the applovin plugin to make sure its not an error with my application, and the iOS build was successful. let me disable the other plugins and remove thier code and see, will get back shortly

awsproserve commented 1 year ago

Hi @ritamsarmah I have disabled the other ad plugins, and it works now, thank you so much for your recommendations I was able to build IOS app successfully. Question, im looking at the blue prints from your sample project, im looking at all the blueprints, but im not seeing anywhere where I can ad a actual numeric banner id. Here are the blueprints im looking at

image

Im looking at the blueprints and I see where you can load, and show as per screenshot below, but where do I specify the numeric id at?

image

awsproserve commented 1 year ago

Also where is the banner ad going to be actually displayed? I dont see visually where it will show up. is this the placeholder for the banner ad? (as seen in the screenshot below?)

image

awsproserve commented 1 year ago

in summary, 1/ where do we specify the banner ad ids 2/ how can we visually place the banner ad on the screen? do we have control where the banner ad will show up, or will it show only at the top or the bottom of the screen, and if so how do we tell the banner ad where it should show itself.

ritamsarmah commented 1 year ago

The demo app currently only uses C++, so the actual functions being called are in BannerWidget.cpp. The blueprint functions in our plugin go by the same name as the C++ ones, so you'd be using Create Banner, which allows you to specify the ad unit ID and position.

You may like to check out our docs on how to work with banners, including the positioning options available: https://dash.applovin.com/documentation/mediation/unreal/ad-formats/banners

awsproserve commented 1 year ago

Many thanks, this was so very much helpful @ritamsarmah. We placed the blueprint code in our level blueprint by clicking the "open level blue print" as seen in screen shot section #1. The code we added to which is connected to a event begin play node as seen in section #2.

image

We where able to successful build the iOS file and load it into the App Store via testlight. When we download the application from test flight, the app launches on the launch screen for 1 second then crashes. would you be able to help us as to why its crashing. the below screenshot shows the crash code from AppleConnect. I sent the log to Xcode and you can see below:

image

I first tried the blueprint with a create banner node and show banner node and recieved the crash. then I reread the documentation and saw its required to add a background. I've also added a extra delay just in case the banner hasn't loaded yet for me to show. and its still crashing. would you be able to know why. Thanks again in advance :)

ritamsarmah commented 1 year ago

Would you be able to provide any crash logs? Could you check that you're initializing the SDK before calling any of the banner methods? You'll need to wait for the SDK to initialize before creating or showing banners.

awsproserve commented 1 year ago

Hi @ritamsarmah you where correct, we where not initializing the SKD before calling the banner ad, That is now resolved. We ran into another issue. is there a way we can make a action happen AFTER the interstitial ad is called, whats happening now is the player dies, and after they die they can choose to be revived but they have to watch an interstitial ad when they hit the retry button. the problem is when the interstitial ad is displaying the game continues on to restart while the interstitial ad is going on. Using other plugins they exposed in blueprint a way where we can wait until the interstitial ad is finished/ closed, and then have the an action happen immediatlly after, ie the player comes back to life. Whats happening now is while the interstitial ad is going on, the player comes back and dies again before the interstitial ad I even finished.

here is how our current setup for the interstitial blueprint, pls let us know if we can add anything to implement this solution, many thanks and happy thanksgiving :) image

awsproserve commented 1 year ago

here is an example of another plugin we used where it gave us the option to do a certain action, after the user closed the ad image

awsproserve commented 1 year ago

do you have something we can do with applovin that is similar?

ritamsarmah commented 1 year ago

Currently we only support event callbacks via C++ (e.g., binding to delegates like UAppLovinMAX::OnInterstitialDisplayedDelegate), though full blueprint support is something we are actively working on and plan to release very soon.

ritamsarmah commented 1 year ago

Hi @awsproserve, if you'd like to test out a version of the plugin with blueprint support, the feature is available under this branch.

awsproserve commented 1 year ago

Wonderful, thank you so much @ritamsarmah I'll test this out and let you know. Is there release notes I can read to see what is new so I can compare, or is it the call back support for blueprint, just so I know what to test.

ritamsarmah commented 1 year ago

No release notes or docs yet, since that feature branch is still being finalized (and interface is subject to potential changes), but just wanted to give you the chance to try it out with your integration.

It includes a new AppLovinMAXDelegate blueprint class with dynamic delegates for each event. I'd recommend using delegates to determine when the SDK initializes before loading any ads and when ads finish loading before showing them. Here's a basic example for creating/showing a banner:

Screen Shot 2022-11-29 at 2 30 34 PM
awsproserve commented 1 year ago

Perfect, thank you, whats the best way to update the plugin, should I just delete the old one and reinstall?

ritamsarmah commented 1 year ago

Yep, that should work!

NursultanNazarov commented 1 year ago

Perfect, thank you, whats the best way to update the plugin, should I just delete the old one and reinstall?

Hi. I see you also used EasyAdsPro. I'm currently using it. Why did you choose Applovin MAX? Is it better?

awsproserve commented 1 year ago

Perfect, thank you, whats the best way to update the plugin, should I just delete the old one and reinstall?

Hi. I see you also used EasyAdsPro. I'm currently using it. Why did you choose Applovin MAX? Is it better?

Because EasyAdsPro you have to use mediation with googleadmob, and I have alot of issues with google admob, well, not only me but if you just google the problems you run into with them its alot and painful, and there is no support what so ever from google. I was using meta directly before they converted to solely working with mediation partners, meaning you can't use them stand alone, so we plan to use meta audience network along with Applovin. So far our experience with Applovin has been wonderful. We had 64 apps running on meta before with no problem (native IOS and Android apps), when meta changed to only work with mediation parters we went to google admob and thats where we ran into alot of issues, so we are going to migrate all our apps to use applovin. Not many mediation partners support unreal engine as well, so this is great that they are compatible with unreal engine! Hope that answers your question, let me know if you have any others, would be happy to share my experience, as we have used alot of different services these past few years.

awsproserve commented 1 year ago

Yep, that should work!

wonderful trying this today, sorry been out sick, but im back today recovering slowly, will update you with my findings/experience.

awsproserve commented 1 year ago

Yep, that should work!

@ritamsarmah can you send me the link again/ give me access, when I try the previous link it give me error on that page. Thank you. this is the error I get

image
ritamsarmah commented 1 year ago

Oops, the branch got deleted since we just merged it in. You can test the plugin straight off the master branch.

Also as a disclaimer, the plugin on master still isn't an "official" versioned release, so we may make interface/name changes in the meantime until the next major version update (aiming for the beginning of next year). However, the functionality you need is all fully implemented. :smile:

awsproserve commented 1 year ago

thanks for the heads up! diving into this right now! Many thanks for all your help and support!!!! A++++

NursultanNazarov commented 1 year ago

Perfect, thank you, whats the best way to update the plugin, should I just delete the old one and reinstall?

Hi. I see you also used EasyAdsPro. I'm currently using it. Why did you choose Applovin MAX? Is it better?

Because EasyAdsPro you have to use mediation with googleadmob, and I have alot of issues with google admob, well, not only me but if you just google the problems you run into with them its alot and painful, and there is no support what so ever from google. I was using meta directly before they converted to solely working with mediation partners, meaning you can't use them stand alone, so we plan to use meta audience network along with Applovin. So far our experience with Applovin has been wonderful. We had 64 apps running on meta before with no problem (native IOS and Android apps), when meta changed to only work with mediation parters we went to google admob and thats where we ran into alot of issues, so we are going to migrate all our apps to use applovin. Not many mediation partners support unreal engine as well, so this is great that they are compatible with unreal engine! Hope that answers your question, let me know if you have any others, would be happy to share my experience, as we have used alot of different services these past few years.

Thanks for reply! I would like to know more about applovin and how to setup mediation there. Currently my game reached 2000+ downloads a day. The only reason I'm considering Applovin is Yandex Ads and Admob Bidding(it's performing very good, like 10-14$ eCPM even though my top countries aren't Tier1) support. My game's 5% audience is russians. Can we talk in discord? My username in Dicord

awsproserve commented 1 year ago

@ritamsarmah Hi, I can't seem to get the function called "Add AppLovin Max Delegate" how to I find this function, see screenshot.

image

awsproserve commented 1 year ago

I was able to setup everything else from your screenshot, except for the missing function for "Add AppLovin Max Delegate" image

awsproserve commented 1 year ago

I also am checking the demo app and also can't find the "Add AppLovin Max Delegate" function.

image
ritamsarmah commented 1 year ago

Hm, so currently AppLovin MAX Delegate is a blueprint component that needs to be instantiated and attached to a blueprint class, for example of an Actor.

Screen Shot 2022-12-01 at 2 38 41 PM
awsproserve commented 1 year ago

Hi @ritamsarmah Thanks for the response, im not sure if I am doing this correctly, please let me know. so this is what im doing.

Step 1: Create Blueprint, and choose actor component Step 2: I've named my blueprint AppLovinMaxDelegate image Step3: open the blueprint you just created, and create a function image

Step 4: from he function type in Add Applov.... image

Result, I am not able to see the AppLovin Max Delegate from the function im creating, as you have in your screenshot, Am I doing this right,

Many thanks in advance you've great such amazing help so far!!! :)

ritamsarmah commented 1 year ago

I'll admit I'm not too well-versed in blueprints, but I think my approach would be to have a new or existing Actor blueprint class that handles the AppLovin MAX related code, and add the AppLovin MAX Delegate (which is already an actor component) to it.

awsproserve commented 1 year ago

Hi, sorry im alittle confused. im trying to see how to create the "AppLovin MAX Delegate", and what code AppLovin Max related code that you refer to above should go inside the "AppLovin MAX Delegate" function that im creating?

awsproserve commented 1 year ago

to clarify my question, see whats highlighted in teal blue boxes, that is the applovin max code, image so the question remains, what goes inside the AppLovin Max Delegate actor or function that im creating? this screenshot above is the one you sent me, so im trying to see how can I create the AppLovin Max Delegate actor/function, and what do I put in it, since its not available by default when I search for it.

awsproserve commented 1 year ago

maybe you can send me your test file, and I can reverse engineer it from there to get the answer if that helps?

awsproserve commented 1 year ago

while packaging this latest plugin with the old configurations for initializing, banner, and interstitial, (the original instructions you gave me to create these, not the new ones because the new ones im missing the applovin max delegate actor/ function, but with the old configurations im getting red errors while packing the iOS package, starting with failed to initialize the plugin.

here are a few of the errors we have, not all of them but some of them, but I do believe they start with the first error below.

im guessing the old setup doesn't work no more and I need to conform with the new setup/configurations.

image

here are some other errors,

image image image image image image
ritamsarmah commented 1 year ago

Hi @awsproserve, you may try clearing all your cached build/intermediate directories before re-compiling and see if that gets rid of the errors.

I also apologize for the confusion about the integration. I'm taking some time to create a better example and write out some clearer instructions, and will report back once it's ready.

awsproserve commented 1 year ago

HI @ritamsarmah thanks so much that would be very much appreciated. We'll wait on those instructions. we cleaned the intermediate directories and we still come across the same errors, im assuming the new plugin has another method to initialize the plugin which is causing the errors as we are currenlty using the original instructions/ configurations.

awsproserve commented 1 year ago

Perfect, thank you, whats the best way to update the plugin, should I just delete the old one and reinstall?

Hi. I see you also used EasyAdsPro. I'm currently using it. Why did you choose Applovin MAX? Is it better?

Because EasyAdsPro you have to use mediation with googleadmob, and I have alot of issues with google admob, well, not only me but if you just google the problems you run into with them its alot and painful, and there is no support what so ever from google. I was using meta directly before they converted to solely working with mediation partners, meaning you can't use them stand alone, so we plan to use meta audience network along with Applovin. So far our experience with Applovin has been wonderful. We had 64 apps running on meta before with no problem (native IOS and Android apps), when meta changed to only work with mediation parters we went to google admob and thats where we ran into alot of issues, so we are going to migrate all our apps to use applovin. Not many mediation partners support unreal engine as well, so this is great that they are compatible with unreal engine! Hope that answers your question, let me know if you have any others, would be happy to share my experience, as we have used alot of different services these past few years.

Thanks for reply! I would like to know more about applovin and how to setup mediation there. Currently my game reached 2000+ downloads a day. The only reason I'm considering Applovin is Yandex Ads and Admob Bidding(it's performing very good, like 10-14$ eCPM even though my top countries aren't Tier1) support. My game's 5% audience is russians. Can we talk in discord? My username in Dicord MadaraAlmighty#3477

just sent you a friend request via discord muzzy#6387 @NursultanNazarov

ritamsarmah commented 1 year ago

Here are the instructions I had for creating a new actor to implement the AppLovin MAX Delegate. I've also included the final blueprint for reference here: Bp_AppLovinMAXDelegate.uasset.zip

  1. Create a new Actor blueprint class that will implement the event callbacks.
  2. Under the "Components" tab, click "Add Component" and search for "App Lovin MAX Delegate". I also made it the root component by dragging it up in that component hierarchy.
  3. Right-click on the new component, go to "Add Event", and select the event to implement, e.g., "Add OnSdkInitializedDynamicDelegate". You can also add the event from the "Details" tab.
  4. Implement the necessary logic branching off the newly created event node. Repeat for other ad events as needed.
  5. This actor can then be spawned in your desired blueprint class. (Make sure you're also initializing the SDK somewhere)
Screen Shot 2022-12-05 at 6 29 03 PM Screen Shot 2022-12-05 at 6 26 45 PM

In general, you'll want to listen for the OnSdkInitialized event before loading an ad (whether it is banner, interstitial, etc.), and listen for the corresponding On*AdLoaded event before attempting to show it. You should also listen to the On*AdFailedToDisplay to implement any retry logic/error handling as desired.

I believe you could try adding the AppLovin MAX Delegate component as just a variable in other blueprint classes and implement the events in a similar way, but this was the example I had time to get working. If you need further clarification or have other suggestions for better integration steps, feel free to let me know.

awsproserve commented 1 year ago

Many thanks for the instructions, question how do you get the little computer screen on the Event On initialized in the second screenshot, and what is its purpose? image

awsproserve commented 1 year ago

After setting it up as you described above, with the exception of the little computer screen icon that im missing as stated above when packaging I still get alot of red line errors related to the plugin, stating its not initialized properly starting with this error:

image

awsproserve commented 1 year ago

I have setup in my global instance a custom event to initialize when called as in screenshot below image

and on my first level blueprint in my begin play event, I call the custom event "custom event applovin initialize"

the custom event for initializing is connected to the event begin play in my first level blueprint image

thats how I initialized before with the previous version of your plugin

awsproserve commented 1 year ago

here is screenshot of my applovin delegate actor for reference

image
ritamsarmah commented 1 year ago

I'm not sure about the computer icon to be completely honest. I think it was a fluke mis-input during the screenshot, but it should not be necessary.

Did some further digging on the errors you mentioned—looks like this is actually due to us not providing default values for our USTRUCT properties (though I'm not sure why its not showing an error for me). I'll quickly fix that and let you know when its ready.

ritamsarmah commented 1 year ago

Hi @awsproserve, I've created a new branch with the fix for the errors you were encountering here: https://github.com/AppLovin/AppLovin-MAX-Unreal/tree/fix/default_ustruct_values

Would you mind trying that out (by copying the plugin from that branch) and letting me know if that fixes the issue?

awsproserve commented 1 year ago

Hello there @ritamsarmah thanks for uploading the new branch, im getting the same error. here are the errors im getting in the screenshots below, hope you have a wonderful day,

an a side note, thanks in advance for all your help. in getting this plugin to work, anything more we can do to help in this process please let us know

image image image