Code Monkey home page Code Monkey logo

godot-tapdaq's Introduction

Tapdaq plugin for Godot engine.

Register an account in Tapdaq https://www.tapdaq.com before using this module.

Installation

Use NativeLib Addon or NativeLib-CLI for installation.

Adapters

The core module has only SDK for Tapdaq mediation. For using any ad networks you should install specific adapters. For example install tapdaq-fan for Facebook Audience Network.

Usage

Wrapper on gd-script will be in your autoloading list. Use global name tapdaq anywhere in your code to use API.

API

loadBanner(id: String, isTop: bool, callback_id: int)

Load banner with specific zone ID. callback_id is instance_id from callback object.

loadInterstitial(id: String, callback_id: int)

Load interstitial with specific zone ID. callback_id is instance_id from callback object.

loadRewardedVideo(id: String, callback_id: int)

Load rewarded ad with specific zone ID. callback_id is instance_id from callback object.

bannerWidth(id: String) -> int

Returns current banner width. Returns 0 if there are no active banners.

bannerHeight(id: String) -> int

Returns current banner height. Returns 0 if there are no active banners.

showBanner(id: String)

Show banner with specific zone ID. The banner must be loaded before this call.

hideBanner(id: String)

Hide banner with specific zone ID.

removeBanner(id: String)

Completely remove banner view from the screen.

showInterstitial(id: String)

Show interstitial with specific zone ID. The interstitial must be loaded before call.

showRewardedVideo(id: String)

Show rewarded video ad with specific zone ID. The rewarded ad must be loaded before call.

Privacy settings

initWithGdpr(app_id: String, client_key: String, applies: bool, approval: bool)

Init SDK with GPDR status. If using Ogury plugin it can be done automatically.

updateGdprStatus(applies: bool, approval: bool)

Update GPDR status after initializing SDK

updateAgeRestrictedStatus(age_restricted: bool)

Update age restriction after initializing SDK

updateCCPAStatus(applies: bool, approval: bool)

Update CCPA status after initializing SDK

updateContentRating(rating: String)

Update content rating for AdMob (possible values: G, PG, T, MA )

updateUserId(uid: String)

Set custom user ID

Callbacks

When load ad you specified instance_id of callback object. This object can have methods to get callbacks from the SDK.

Rewarded video callbacks

_on_rewarded_video_ad_loaded(id: String)

_on_rewarded_video_ad_failed_to_load(id: String, error: String)

_on_rewarded_video_ad_opened(id: String)

_on_rewarded_video_ad_left_application(id: String)

_on_rewarded_video_ad_closed(id: String)

_on_rewarded_video_started(id: String)

_on_rewarded_video_completed(id: String)

_on_rewarded(id: String, reward: String, amount: int)

Banner callbacks

_on_banner_loaded(id: String)

_on_banner_failed_to_load(id: String)

_on_banner_failed_to_load(id: String, error: String)

_on_banner_shown(id: String)

Interstitial callbacks

_on_interstitial_loaded(id: String)

_on_interstitial_failed_to_load(id: String, error: String)

_on_interstitial_close(id: String)

godot-tapdaq's People

Contributors

drmoriarty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

godot-tapdaq's Issues

Does it work with Godot 3.4?

I got this error when compiling for Android target

Execution failed for task ':checkDebugAarMetadata'.
> Could not resolve all dependencies for configuration ':debugRuntimeClasspath'.
   > Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven2(http://android-sdk.tapdaq.com)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details. 

Documentation about how to use this

I want to load rewarded video. I am using the following function. What value should I provide for callback_id? How to use callback when the video is loaded? Please give a short example. Thanks

loadRewardedVideo(id: String, callback_id: int)

checkDebugAarMetadata FAILED when building

Hi

Thanks for creating these awesome plugins,
I'm using Godot 3.3.3, and this plugin working fine weeks ago
however, I try to build again today and got this issues when exporting to android

please advise

Thanks

Task :checkDebugAarMetadata
Using insecure protocols with repositories has been deprecated. This is scheduled to be removed in Gradle 7.0. Switch Maven repository 'maven2(http://android-sdk.tapdaq.com)' to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/6.7.1/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.

Task :checkDebugAarMetadata FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':checkDebugAarMetadata'.

Could not resolve all files for configuration ':debugRuntimeClasspath'.
Could not resolve com.adcolony:sdk:4.3.0.
Required by:
project : > com.tapdaq.sdk:TapdaqAdColonyAdapter:7.8.2
> Could not resolve com.adcolony:sdk:4.3.0.
> Could not get resource 'https://dl.bintray.com/mobilap/maven/com/adcolony/sdk/4.3.0/sdk-4.3.0.pom'.
> Could not GET 'https://dl.bintray.com/mobilap/maven/com/adcolony/sdk/4.3.0/sdk-4.3.0.pom'. Received status code 403 from server: Forbidden
> Could not resolve com.adcolony:sdk:4.3.0.
> Could not get resource 'https://adcolony.bintray.com/AdColony/com/adcolony/sdk/4.3.0/sdk-4.3.0.pom'.
> Could not GET 'https://adcolony.bintray.com/AdColony/com/adcolony/sdk/4.3.0/sdk-4.3.0.pom'. Received status code 403 from server: Forbidden
> Could not resolve com.adcolony:sdk:4.3.0.
> Could not get resource 'https://dl.bintray.com/ironsource-mobile/android-sdk/com/adcolony/sdk/4.3.0/sdk-4.3.0.pom'.
> Could not GET 'https://dl.bintray.com/ironsource-mobile/android-sdk/com/adcolony/sdk/4.3.0/sdk-4.3.0.pom'. Received status code 403 from server: Forbidden
Could not resolve com.applovin:applovin-sdk:9.14.6.
Required by:
project : > com.tapdaq.sdk:TapdaqAppLovinAdapter:7.8.2
> Could not resolve com.applovin:applovin-sdk:9.14.6.
> Could not get resource 'https://dl.bintray.com/mobilap/maven/com/applovin/applovin-sdk/9.14.6/applovin-sdk-9.14.6.pom'.
> Could not GET 'https://dl.bintray.com/mobilap/maven/com/applovin/applovin-sdk/9.14.6/applovin-sdk-9.14.6.pom'. Received status code 403 from server: Forbidden
> Could not resolve com.applovin:applovin-sdk:9.14.6.
> Could not get resource 'https://adcolony.bintray.com/AdColony/com/applovin/applovin-sdk/9.14.6/applovin-sdk-9.14.6.pom'.
> Could not GET 'https://adcolony.bintray.com/AdColony/com/applovin/applovin-sdk/9.14.6/applovin-sdk-9.14.6.pom'. Received status code 403 from server: Forbidden
> Could not resolve com.applovin:applovin-sdk:9.14.6.
> Could not get resource 'https://dl.bintray.com/ironsource-mobile/android-sdk/com/applovin/applovin-sdk/9.14.6/applovin-sdk-9.14.6.pom'.
> Could not GET 'https://dl.bintray.com/ironsource-mobile/android-sdk/com/applovin/applovin-sdk/9.14.6/applovin-sdk-9.14.6.pom'. Received status code 403 from server: Forbidden
Could not resolve com.ironsource.sdk:mediationsdk:7.0.3.1.
Required by:
project : > com.tapdaq.sdk:TapdaqIronsourceAdapter:7.8.2
> Could not resolve com.ironsource.sdk:mediationsdk:7.0.3.1.
> Could not get resource 'https://dl.bintray.com/mobilap/maven/com/ironsource/sdk/mediationsdk/7.0.3.1/mediationsdk-7.0.3.1.pom'.
> Could not GET 'https://dl.bintray.com/mobilap/maven/com/ironsource/sdk/mediationsdk/7.0.3.1/mediationsdk-7.0.3.1.pom'. Received status code 403 from server: Forbidden
> Could not resolve com.ironsource.sdk:mediationsdk:7.0.3.1.
> Could not get resource 'https://adcolony.bintray.com/AdColony/com/ironsource/sdk/mediationsdk/7.0.3.1/mediationsdk-7.0.3.1.pom'.
> Could not GET 'https://adcolony.bintray.com/AdColony/com/ironsource/sdk/mediationsdk/7.0.3.1/mediationsdk-7.0.3.1.pom'. Received status code 403 from server: Forbidden
> Could not resolve com.ironsource.sdk:mediationsdk:7.0.3.1.
> Could not get resource 'https://dl.bintray.com/ironsource-mobile/android-sdk/com/ironsource/sdk/mediationsdk/7.0.3.1/mediationsdk-7.0.3.1.pom'.
> Could not GET 'https://dl.bintray.com/ironsource-mobile/android-sdk/com/ironsource/sdk/mediationsdk/7.0.3.1/mediationsdk-7.0.3.1.pom'. Received status code 403 from server: Forbidden

Zone ID when loading and showing rewarded video ads

Hi

Thank you so much for creating this plugin, I've implement it and the SDK installation is successful
however when trying to load rewarded ads and show it I got nothing even though the setup in my tapdaq dashboard is correct
and the loadRewardedVideo function is called

could you please advise what need to be passed in zone for default placement ?
I've try to put "Default", "default", my tapdaq appID and also clientID but nothing works

image

image

Implement unity ads with other network failed to build

Hi

I got this error if I check admob, applovin, adcolony and UnityAds, if I uncheck unityads the build run successfully

image

here's the error I got :

Task :mergeDexDebug FAILED
D8: Cannot fit requested classes in a single dex file (# methods: 66560 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:131)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:118)
at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:444)
at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:335)
at org.gradle.workers.internal.AdapterWorkAction.execute(AdapterWorkAction.java:50)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:47)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:65)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:61)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.execute(NoIsolationWorkerFactory.java:61)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:56)
at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:215)
at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:210)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
at com.android.tools.r8.utils.t.a(:55)
at com.android.tools.r8.D8.run(:11)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:116)
... 34 more
Caused by: com.android.tools.r8.utils.AbortException: Error: null, Cannot fit requested classes in a single dex file (# methods: 66560 > 65536)
at com.android.tools.r8.utils.Reporter.a(:21)
at com.android.tools.r8.utils.Reporter.a(:7)
at com.android.tools.r8.dex.VirtualFile.a(:33)
at com.android.tools.r8.dex.VirtualFile$h.a(:5)
at com.android.tools.r8.dex.ApplicationWriter.a(:13)
at com.android.tools.r8.dex.ApplicationWriter.write(:35)
at com.android.tools.r8.D8.d(:44)
at com.android.tools.r8.D8.b(:1)
at com.android.tools.r8.utils.t.a(:23)
... 36 more

FAILURE: Build completed with 2 failures.

AndroidRuntime: java.lang.VerifyError: Verifier rejected class ru.mobilap.tapdaq.Tapdaq due to bad method void ru.mobilap.tapdaq.Tapdaq.<init>(org.godotengine.godot.Godot)

Tried this plugin on 3.2.4.rc

03-12 18:55:01.110  8157  8157 E AndroidRuntime: java.lang.VerifyError: Verifier rejected class ru.mobilap.tapdaq.Tapdaq due to bad method void ru.mobilap.tapdaq.Tapdaq.<init>(org.godotengine.godot.Godot) (declaration of 'ru.mobilap.tapdaq.Tapdaq' appears in /data/app/com.slabgames.game-1/base.apk:classes3.dex)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at java.lang.Class.classForName(Native Method)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at java.lang.Class.forName(Class.java:324)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at java.lang.Class.forName(Class.java:285)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at org.godotengine.godot.plugin.GodotPluginRegistry.loadPlugins(GodotPluginRegistry.java:141)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at org.godotengine.godot.plugin.GodotPluginRegistry.<init>(GodotPluginRegistry.java:63)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at org.godotengine.godot.plugin.GodotPluginRegistry.initializePluginRegistry(GodotPluginRegistry.java:95)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at org.godotengine.godot.Godot.onCreate(Godot.java:585)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.Fragment.performCreate(Fragment.java:2414)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1195)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.FragmentTransition.calculateFragments(FragmentTransition.java:1078)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:117)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2408)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2243)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:654)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at org.godotengine.godot.FullScreenGodotApp.onCreate(FullScreenGodotApp.java:61)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at com.godot.game.GodotApp.onCreate(GodotApp.java:46)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.app.Activity.performCreate(Activity.java:6323)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.app.ActivityThread.access$900(ActivityThread.java:153)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:148)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:5451)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
03-12 18:55:01.110  8157  8157 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Failed to get modified time for: com.tapdaq.sdk:TapdaqAdColonyAdapter:7.8.2.

Hello I am using godot 3.2.2.stable official. I installed your Nativelib library with AssetLib. I installed Tapdaq sdk. I want to use tapdaq tapdaq-adcolony and tapdaq-applovin. Tapdaq sdk seems to be connected.

Ekran Resmi 2021-05-01 22 40 34

But it does not show ads. When I install tapdaq-Applovin or tapdaq-applovin godot also
"Failed to get modified time for: com.tapdaq.sdk: TapdaqAppLovinAdapter: 7.8.2.
Failed to get modified time for: com.tapdaq.sdk: TapdaqAdColonyAdapter: 7.8.2.
tapdaq-adcolony uninstalled "
It gives an error so I may not be able to see ads. Thank you very much for your library.
As below in my Tapdaq settings. Thanks for all your help
Ekran Resmi 2021-05-01 22 49 12
Ekran Resmi 2021-05-01 22 49 39

ADs Not Showing

Ther is error in adb logcat
TAPDAQ_ERROR: No Adapters Found
08-12 15:18:12.439 30444 30444 E ru.mobilap.tapdaq.Tapdaq: Tapdaq init error: {"code":10,"message":"Tapdaq not initialised","subErrors":{"Mediation":[{"code":41,"message":"No adapters registered","subErrors":{}}]}}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.