Support Forum
Proguard warning com.taboola.android.homepage.HOME_PAGE_STATUS
After enabling shrinking resources and code obfuscation I get this warning:
Missing class com.taboola.android.homepage.HOME_PAGE_STATUS (referenced from: int com.taboola.android.homepage.TBLHomePage.mHomePageStatus
Is it possible to add it to proguard from your side?
Are any additional proguard rules needed?
Also taboola messes up with firebase initialization when the shrinking and obfuscation are enabled
Exception java.lang.ExceptionInInitializerError:
at com.google.firebase.perf.config.RemoteConfigManager.getInstance (RemoteConfigManager.java)
at com.google.firebase.perf.config.ConfigResolver.<init> (ConfigResolver.java:78)
at com.google.firebase.perf.config.ConfigResolver.getInstance (ConfigResolver.java:86)
at com.google.firebase.perf.application.AppStateMonitor.<init> (AppStateMonitor.java:98)
at com.google.firebase.perf.application.AppStateMonitor.getInstance (AppStateMonitor.java:87)
at com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.<init> (NetworkRequestMetricBuilder.java:92)
at com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.builder (NetworkRequestMetricBuilder.java)
at com.google.firebase.perf.network.FirebasePerfUrlConnection.instrument (FirebasePerfUrlConnection.java:186)
** at com.taboola.lightnetwork.protocols.http.HttpRequest.performRequest (HttpRequest.java:73)
at com.taboola.lightnetwork.protocols.http.HttpRequest.access$000 (HttpRequest.java)
at com.taboola.lightnetwork.protocols.http.HttpRequest$1.run (HttpRequest.java)**
at java.lang.Thread.run (Thread.java:1012)
Caused by java.lang.IllegalStateException:
at com.google.firebase.FirebaseApp.getInstance (FirebaseApp.java:179)
at com.google.firebase.perf.config.RemoteConfigManager.getInitialStartupMillis (RemoteConfigManager.java:91)
at com.google.firebase.perf.config.RemoteConfigManager.<init> (RemoteConfigManager.java:85)
at com.google.firebase.perf.config.RemoteConfigManager.<clinit> (RemoteConfigManager.java:52)
Posted by Valeriya Isakovich 21 days ago
Collection View Swift Issues
Hello I'm trying to implement a Taboola unit within a collection view but when I attempt to call the api to retrieve cell height for the generated Taboola unit to be fed into the layout it gives me maximum integer values for the collection view cell size do you all know why that is?
Posted by Sam 2 months ago
Placement specs
My team is looking to implement your Android SDK and I was hoping to find a link to the ad placement specs in terms of what ad units are available; size, perimeter, characters etc.
Posted by Chris 7 months ago
Text is clipped for list of items horizontally scrolling.
Hi,
Recently We migrated our android app from V2 to V3.
We found an inconsistency with text for items scrolling horizontally.
the size of the widget is not high enough to show the forth line of text.
I would provide picture if it's allowed.
For the V2 version the text is ellipsized at the third line.
Thank you,
Hesham
Posted by Hesham Fas 7 months ago
Is there a version of the SDK currently supporting M1?
Hi,
I have been trying to get Taboola working with M1. After lots of other framework updates, this is the last one I am working through. SPM support would be great as well. Please let me know the current state of things so we can make plans. I own an M1 Mac and so will all new employees. This prevents us from using simulators, which means our personal devices must be used by our employers. I really don't like doing this as you could imagine. If there is any other information you need from me, please let me know.
-Seth
Posted by Seth Rininger 8 months ago
Feed unit or widget unit with compositional layout
I'm integrating iOS SDK v3 in my iOS app.
I'm having UICollectionView(s) with it I want to attach the feed unit and/or the widget unit.
I followed the guide but I'm having compositional layout and diffable datasource for my UICollectionView.
I just want to ask how height should pass when creating compositional layout section for FeedUnit or WidgetUnit?
I tried to passing .estimated(100) for FeedUnit but it always stays 100 points of height.
Posted by Mrugesh Tank 8 months 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 12 months 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 about 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 about 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 about 1 year ago