Support Forum
duplicate resource error
<declare-styleable name="TaboolaWidget">
<attr format="string" localization="suggested" name="publisher"/>
<attr format="string" localization="suggested" name="mode"/>
<attr format="string" localization="suggested" name="placement"/>
<attr format="string" localization="suggested" name="page_type"/>
<attr format="string" localization="suggested" name="target_type"/>
<attr format="string" localization="suggested" name="url"/>
<attr format="boolean" localization="suggested" name="auto_resize_height"/>
<attr format="boolean" localization="suggested" name="scroll_enabled"/>
<attr format="boolean" localization="suggested" name="item_click_enabled"/>
error: duplicate value for resource 'attr/mode' with config ''.
Posted by Armen over 4 years ago
error itms-90171 invalid bundle structure
Hi,
we're using TaboolaSDK 2.6.0 on iOS via CocoaPods.
Everything seems to work perfectly, however when we try to upload a build to the App Store, we get the following error concerning some resources within the TaboolaSDK:
error itms-90171 invalid bundle structure: the binary file ...Frameworks/TaboolaSDK.Framework/TaboolaSDKResource.Bundle/TaboolaSDKResource is not permitted. Your app can't contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles.
You can see a screenshot here https://ibb.co/smdc501
Any idea on how to fix this?
Thanks
Posted by Pasquale Puzio over 3 years ago
can you help to solve the NullPointerException
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.taboola.android.TaboolaWidget.removeView(android.view.View)' on a null object reference
at com.taboola.android.GLHelper$ClearRenderer$1.run + 54(GLHelper.java:54)
at android.os.Handler.handleCallback + 815(Handler.java:815)
at android.os.Handler.dispatchMessage + 104(Handler.java:104)
at android.os.Looper.loop + 207(Looper.java:207)
at android.app.ActivityThread.main + 5816(ActivityThread.java:5816)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 789(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main + 679(ZygoteInit.java:679)
Posted by rena.w about 4 years ago
gradle error while using Android SDK 2.8.0 or 2.8.1
Hi -
We are getting the following error while trying to upgrade to 2.8.0 or 2.8.1
```
> Task :app:processDebugManifest FAILED
[com.taboola:android-sdk:2.8.1] /Users/jenkins/.gradle/caches/transforms-2/files-2.1/77fdf33b9b8bd0b1c455fdf83ef81be1/jetified-android-sdk-2.8.1/AndroidManifest.xml:14:9-65 Error:
Missing 'package' key attribute on element package at [com.taboola:android-sdk:2.8.1] AndroidManifest.xml:14:9-65
[com.taboola:android-sdk:2.8.1] /Users/jenkins/.gradle/caches/transforms-2/files-2.1/77fdf33b9b8bd0b1c455fdf83ef81be1/jetified-android-sdk-2.8.1/AndroidManifest.xml Error:
Validation failed, exiting
```
What should we do?
Posted by Leon F almost 3 years ago
Error when upgrading from Android v2 to v3: "E/TBLWebUnit: setUnitExtraProperties got unrecognized property."
I'm currently upgrading from v2 to v3 in an Android App, but cannot see any taboola feed.
These errors are thrown in the logs:
> TBLWebUnit: setUnitExtraProperties got unrecognized property. key = mediatedVia
> TBLWebUnit: setUnitExtraProperties got unrecognized property. key = isUsedInTaboolaWidget
How can I resolve these errors?
Should the taboola feed be visible nevertheless, and I'm missing out on something else?
My taboola code looks like this:
build.gradle:
```
//Include the Taboola SDK binary
implementation 'com.taboola:android-sdk:3.6.3'
//Taboola: Include the following dependencies (mandatory)
implementation 'androidx.browser:browser:1.4.0'
```
Application.kt:
` Taboola.init(TBLPublisherInfo("[my-published-id]"))`
ViewController.kt:
```
{
private var taboolaPage: TBLClassicPage? = null
private var taboolaUnit: TBLClassicUnit? = null
fun init()
{
if (taboolaPage == null)
{
taboolaUnit = findViewById<TBLClassicUnit>(R.id.taboolaView)
// Dark mode disabled for now
// taboolaUnit?.setUnitExtraProperties(HashMap<String, String>().apply { put("darkMode", "true") })
taboolaPage = Taboola.getClassicPage("[my-url]", "article ")
taboolaPage?.addUnitToPage(
taboolaUnit,
"Below Article Thumbnails",
"thumbnails-a",
TBL_PLACEMENT_TYPE.PAGE_BOTTOM,
object :
TBLClassicListener()
{
// None of the callbacks are being called
override fun onItemClick(
placementName: String?,
itemId: String?,
clickUrl: String?,
isOrganic: Boolean,
customData: String?
): Boolean
{
return true
}
override fun onTaboolaWidgetOnTop() {}
override fun onAdReceiveSuccess() {}
override fun onAdReceiveFail(error: String?) {}
override fun onResize(height: Int) {}
override fun onUpdateContentCompleted() {}
override fun onEvent(actionType: Int, data: String?) {}
})
}
}
private fun refreshView()
{
taboolaUnit?.fetchContent()
}
}
```
taboola_wiget.xml (I've also tried the way without declaring TBLClassicUnit via XML)
```
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:taboola="http://schemas.android.com/apk/res-auto"
android:id="@+id/taboolaWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.taboola.android.TBLClassicUnit
android:id="@+id/taboolaView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/elementBackground"
taboola:tb_mode="thumbnails-a"
taboola:tb_page_type="article"
taboola:tb_placement="Below Article Thumbnails"
taboola:tb_publisher="[my-publisher-id]"
taboola:tb_target_type="mix"
taboola:tb_url="[my-url]" />
</FrameLayout>
```
Any help would be appreciated.
Thanks!
Simon
Posted by Simon Ludwig over 1 year ago
Getting 400 in Native widget request
I am integrating Taboola native widget in my application in a list.
Every third item need to be the Taboola view
1. I have created a TBLNativePage and TBLNativeUnit instances like this
Note - same properties are used in your sample
val properties = PlacementInfo.widgetProperties()
val nativeTaboolaPage = Taboola.getNativePage(properties.pageType, properties.pageUrl)
val requestData = TBLRequestData().setRecCount(1)
taboolaNativeUnit = nativeTaboolaPage.build(properties.placementName,TaboolaAdProvider.publisherInfo, requestData,
object : TBLNativeListener() {
override fun onItemClick(
placementName: String?,
itemId: String?,
clickUrl: String?,
isOrganic: Boolean,
customData: String?
): Boolean {
println("Taboola | onItemClick | isOrganic = $isOrganic")
return super.onItemClick(placementName, itemId, clickUrl, isOrganic, customData)
}
})
2. In ViewHolder I have fetched recommendation with this unit
taboolaNativeUnit.fetchRecommendations(object : TBLRecommendationRequestCallback {
override fun onRecommendationsFetched(recommendationsResponse: TBLRecommendationsResponse?) {
// add data to view
}
override fun onRecommendationsFailed(throwable: Throwable?) {
// Getting 400 Bad Request here
}
})
But I am getting 400 error code in network request with message -
HTTP ERROR 400
Problem accessing /apiHandler/1.2/json/sdk-tester-rnd/recommendations.multiple-get. Reason:
The source.type [article] is not supported
URL -
https://api.taboola.com/1.2/json/sdk-tester-rnd/recommendations.multiple-get?device.id=04af5eac-4ea5-4ada-a69a-132a5dc3adc3&placement1.available=true&ad=%7B%22sdkd%22%3A%7B%22appv%22%3A%225.5.0%22%2C%22appid%22%3A%22com.homepage.news.android.dev%22%2C%22sdkt%22%3A%22Taboola%20Android%20SDK%20-%20API%22%2C%22os%22%3A%22Android%22%2C%22osv%22%3A%2210%22%2C%22sdkv%22%3A%223.5.2%22%2C%22app%22%3A%22HomePage%20News%22%2C%22model%22%3A%22Xiaomi%20POCO%20F1%22%2C%22lng%22%3A%7B%22main%22%3A%22eng%22%2C%22locale%22%3A%22en_IN%22%2C%22dsplng%22%3A%22English%22%2C%22sim%22%3A%22in%22%2C%22netw%22%3A%22in%22%2C%22kbd%22%3A%5B%22%22%5D%7D%2C%22kotlin%22%3Atrue%2C%22androidx%22%3Atrue%2C%22net%22%3A%22wifi%22%2C%22mem%22%3A%225767008%22%2C%22scr%22%3A%7B%22wd%22%3A1080%2C%22ht%22%3A2027%7D%7D%7D&user.opt_out=false&source.id=%2F&app.type=mobile&placement1.name=Widget%20without%20video&source.type=article&req_id=cdb0b553-40f4-41a4-af79-61c00d47142e&source.url=https%3A%2F%2Fblog.taboola.com&app.apikey=c4c6a04f0b48c7992ff477c89a28ef8d41932d12&placement1.organic-type=mix&user.session=v2_ab99edabbcddf419ff23cdf341124161_04af5eac-4ea5-4ada-a69a-132a5dc3adc3_1651576349_1651576349_CNawjgYQ5OxKGL7ihcnu5ZasBSABKAUwZziY0QpA8I8QSIb33ANQod0VWABggwNo_cXPy5zUwd5pcAE&app.name=HomePage%20News&placement1.rec-count=1&placement1.visible=false&view.id=1651578149421
Please let me know what is missing here or where I am creating the wrong request.
Note. For same adapter Classing Widget (XML) is working fine
Posted by Nikhil Kumar Agarwal over 1 year ago
In iOS app adding taboola in table view as tast cell cause the table view to scroll up automatically.
Hi,
In our iOS app we have used tabolla SDK. The page where we used taboola is a table view and we are adding taboola when user reaches the bottom of the table view. But while we add taboola cell to the table view as the last cell and reload the table, table view automatically scroll up. This scroll up effect is happening only on iPhone 6 and iPhone 6s. Please let us know if there is any solution for this.
Posted by Rupam Bharat over 1 year ago
Could you help me to solve the NullPointerException ?
java.lang.NullPointerException:
at com.taboola.android.OnScrollChangedListenerImpl.<init> (OnScrollChangedListenerImpl.java:23)
at com.taboola.android.js.WebViewManager.initScrollChangeListener (WebViewManager.java:149)
at com.taboola.android.js.WebViewManager.onAdIdRetrieved (WebViewManager.java:141)
at com.taboola.android.js.WebViewManager.access$300 (WebViewManager.java:34)
at com.taboola.android.js.WebViewManager$4.onAdIdRetrieved (WebViewManager.java:123)
at com.taboola.android.js.TaboolaJs$3.onIdRetrieved (TaboolaJs.java:423)
at com.taboola.android.utils.AdvertisingIdClient$2$2.run (AdvertisingIdClient.java:117)
at android.os.Handler.handleCallback (Handler.java:808)
at android.os.Handler.dispatchMessage (Handler.java:101)
at android.os.Looper.loop (Looper.java:166)
at android.app.ActivityThread.main (ActivityThread.java:7425)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:245)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:921)
Posted by Frank ding over 4 years ago
Cannot customize click item event handler
Hi,
I have implemented iOS classic SDK, and in function "didClickPlacementName" i have return false so that i can handle event by my own as per documentation.
But Taboola sdk is opening that link along with my handler.
Let me know, how i can stop taboola to handle event.
Thanks & Regards,
Ankit Sabharwal
Posted by Ankit Sabharwal over 1 year ago
Show/hide "Sponsored Links by ..."
Hi there!
I was wondering if there is any way to configure the TaboolaView from iOS side to obtain the "Sponsored Links by Taboola" or if the way to do it is by asking to Taboola account manager.
Thanks!
Posted by David over 1 year ago