Tap For Tap plugin crashing

Trying out the Tap For Tap plugin in the latest build (1120) and getting the following crash:

E/AndroidRuntime(28971): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.myapp.example/com.tapfortap.TapForTapActivity}; have you declared this activity in your AndroidManifest.xml?

E/AndroidRuntime(28971):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1618)

E/AndroidRuntime(28971):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)

E/AndroidRuntime(28971):     at android.app.ContextImpl.startActivity(ContextImpl.java:949)

E/AndroidRuntime(28971):     at android.app.ContextImpl.startActivity(ContextImpl.java:931)

E/AndroidRuntime(28971):     at android.content.ContextWrapper.startActivity(ContextWrapper.java:284)

E/AndroidRuntime(28971):     at com.tapfortap.TapForTap.showHTMLWebActivity(TapForTap.java:273)

E/AndroidRuntime(28971):     at com.tapfortap.TapForTap.showInterstitial(TapForTap.java:216)

E/AndroidRuntime(28971):     at com.tapfortap.Interstitial.show(Interstitial.java:121)

E/AndroidRuntime(28971):     at com.tapfortap.Interstitial$3$1.onFilePath(Interstitial.java:197)

E/AndroidRuntime(28971):     at com.tapfortap.DiskImageCache$1.onBitmapReady(DiskImageCache.java:82)

E/AndroidRuntime(28971):     at com.tapfortap.ImageCache$2.run(ImageCache.java:196)

E/AndroidRuntime(28971):     at java.lang.Thread.run(Thread.java:856)

W/ActivityManager(  377):   Force finishing activity com.myapp.example/com.ansca.corona.CoronaActivity

greenrift - I’m going to move this thread to the Tap for Tap forum.

For some reason the com.tapfortap.TapForTapActivity is not being included in the AndroidManifest.xml and I am not sure why. I just downloaded 1120 and it seems to work fine.

What version of android are you testing this app on?

Can you upload a build.settings and a sample main.lua that reproduces this issue?

Running it on Android 4.1 on a Galaxy Nexus.

------main.lua------

TAPTAP = “I_REMOVED_MY_ID_USE_YOUR_OWN”

taptap = require(“plugin.tapfortap”)

taptap.initialize(TAPTAP)

taptap.showInterstitial()

-----------end main.lua---------------

-------build.settings-------

– Supported values for orientation:

– portrait, portraitUpsideDown, landscapeLeft, landscapeRight

settings = {

    orientation = {

        default = “portrait”,

        supported = { “portrait”, }

    },

    iphone = {

        plist = {

            UIAppFonts =

                {

                    “arialrounded.ttf”

                },

            UIStatusBarHidden = true,

            UIPrerenderedIcon = true, – set to false for “shine” overlay,

            --UIApplicationExitsOnSuspend = true, – uncomment to quit app on suspend

            CFBundleIconFile = “Icon.png”,

            CFBundleIconFiles = {

                “Icon.png”,

                “Icon@2x.png”,

                “Icon-72.png”,

            },

            – iOS app URL schemes:

            CFBundleURLTypes =

            {

                {

                    CFBundleURLSchemes =

                    {

                        “fbXXXXXXXXXXXXXX”, – example scheme for facebook

                    }

                }

            }

       }

    },

    – Android permissions

    androidPermissions = {

        “android.permission.INTERNET”,

        “android.permission.ACCESS_NETWORK_STATE”,

                “com.android.vending.BILLING”,

    },

plugins =

    {

        – key is the name passed to Lua’s ‘require()’

        [“CoronaProvider.ads.admob”] =

        {

            – required

            publisherId = “com.coronalabs”,

        },

        [“plugin.tapfortap”] =

        {

            – required

            publisherId = “com.tapfortap”,

        },    },

}

-------end build.settings---------------

Looks like there is a conflict with the AdMob plugin. If I comment out

        – [“CoronaProvider.ads.admob”] =

        – {

        –     – required

        –     publisherId = “com.coronalabs”,

        – },

in the build.settings you provided, Tap for Tap seems to work fine. At the moment I am unsure what is causing this conflict and I will get a fix for it as soon as possible.

I confirm that this resolves the issue in my app.  I wonder if when using more than one plugin regardless if they are ad related it would cause the same problem…

Thanks for looking into it for me!

Hi guys - we realized there was an issue here that could cause conflicts btw the Tap for Tap and Admob plugins. That has been fixed and should be pushed out very soon.

Everyone,

This issue is fixed in daily build #1126, which is available today.

greenrift - I’m going to move this thread to the Tap for Tap forum.

For some reason the com.tapfortap.TapForTapActivity is not being included in the AndroidManifest.xml and I am not sure why. I just downloaded 1120 and it seems to work fine.

What version of android are you testing this app on?

Can you upload a build.settings and a sample main.lua that reproduces this issue?

Running it on Android 4.1 on a Galaxy Nexus.

------main.lua------

TAPTAP = “I_REMOVED_MY_ID_USE_YOUR_OWN”

taptap = require(“plugin.tapfortap”)

taptap.initialize(TAPTAP)

taptap.showInterstitial()

-----------end main.lua---------------

-------build.settings-------

– Supported values for orientation:

– portrait, portraitUpsideDown, landscapeLeft, landscapeRight

settings = {

    orientation = {

        default = “portrait”,

        supported = { “portrait”, }

    },

    iphone = {

        plist = {

            UIAppFonts =

                {

                    “arialrounded.ttf”

                },

            UIStatusBarHidden = true,

            UIPrerenderedIcon = true, – set to false for “shine” overlay,

            --UIApplicationExitsOnSuspend = true, – uncomment to quit app on suspend

            CFBundleIconFile = “Icon.png”,

            CFBundleIconFiles = {

                “Icon.png”,

                “Icon@2x.png”,

                “Icon-72.png”,

            },

            – iOS app URL schemes:

            CFBundleURLTypes =

            {

                {

                    CFBundleURLSchemes =

                    {

                        “fbXXXXXXXXXXXXXX”, – example scheme for facebook

                    }

                }

            }

       }

    },

    – Android permissions

    androidPermissions = {

        “android.permission.INTERNET”,

        “android.permission.ACCESS_NETWORK_STATE”,

                “com.android.vending.BILLING”,

    },

plugins =

    {

        – key is the name passed to Lua’s ‘require()’

        [“CoronaProvider.ads.admob”] =

        {

            – required

            publisherId = “com.coronalabs”,

        },

        [“plugin.tapfortap”] =

        {

            – required

            publisherId = “com.tapfortap”,

        },    },

}

-------end build.settings---------------

Looks like there is a conflict with the AdMob plugin. If I comment out

        – [“CoronaProvider.ads.admob”] =

        – {

        –     – required

        –     publisherId = “com.coronalabs”,

        – },

in the build.settings you provided, Tap for Tap seems to work fine. At the moment I am unsure what is causing this conflict and I will get a fix for it as soon as possible.

I confirm that this resolves the issue in my app.  I wonder if when using more than one plugin regardless if they are ad related it would cause the same problem…

Thanks for looking into it for me!

Hi guys - we realized there was an issue here that could cause conflicts btw the Tap for Tap and Admob plugins. That has been fixed and should be pushed out very soon.

Everyone,

This issue is fixed in daily build #1126, which is available today.

My build settings and main look like the post above, I’ve added TapForTap.jar to the libs folder, and I’ve even tried putting the “<activity android:name=“com.tapfortap.TapForTapActivity”/>” line into the Android Manifest myself; it builds fine, but then when I run it on the device, it crashes. I can’t find any warnings or errors about in the logs either. What am I missing?

sirnemo,

We (Corona Labs) didn’t write this plugin.  You need to contact Tap-for-Tap for support on how to integrate their plugin and library into your Android project.  I say that because we don’t know the specifics either.  That said, I’m thinking you have to include more than just the TapForTap.jar file.  You’ll likely have to include an additional JAR file that provides the Lua interface (ie: the Corona plugin interface) to the main TapForTap.jar file.  Again, I’m speculating here, but that is typically how it works.

You can find their contact information and find their Corona Enterprise source code and instructions here…

   http://docs.coronalabs.com/plugin/tapfortap/index.html#enterprise

If you feel that their instructions isn’t clear (and from the looks of things, they’re not), then let TapForTap know so that they can update their documentation.

Also, you can download all Corona plugin libraries, including Tap-for-Tap’s, here…

   http://developer.coronalabs.com/downloads/enterprise-daily-builds

Thanks for the response - turns out I flubbed up my own AndroidManifest, and that’s why I couldn’t see any Corona errors. I needed to add in a missing TapforTap lua file.

Now my issue is: interstitials aren’t showing up (black screen appears for half a second), but banners do. :-/

Interstitial ads are typically displayed via an Android activity.  That Tap-for-Tap activity tag that you’ve posted up above is probably needed to display the interstitial ad window.  I’m guessing, but try to add the activity tag into your AndroidManifest.xml file like shown below.  Based on their documentation, it also looks like you have to add the following Android permissions to your manifest file as well.
 

\<manifest ...\> \<uses-permission android:name="android.permission.INTERNET"/\> \<uses-permission android:name="android.permission.READ\_PHONE\_STATE"/\> \<uses-permission android:name="android.permission.ACCESS\_NETWORK\_STATE"/\> \<uses-permission android:name="android.permission.ACCESS\_WIFI\_STATE"/\> \<uses-permission android:name="android.permission.WRITE\_EXTERNAL\_STORAGE"/\> \<application ...\> \<activity android:name="com.tapfortap.TapForTapActivity"/\> \</application\> \</manifest\>