Support Forum
In Mobile SDK v3 (Android), we dont have com.taboola.android.TaboolaWidget?
Hi,
I was looking at the documentation of Mobile SDK v3 (Android), and There was no mention of Native units.
When I check the sample - https://github.com/taboola/android-sdk-examples-3x
It was loading Taboola native widget programmatically unlike the Classic widget which has TBLClassicUnit. in XML also.
I have a few questions -
1. Are views like "TaboolaWidget" which are presented in V2 no longer in V3?
2. Can we add a Native unit using XML?
Posted by Nikhil Kumar Agarwal about 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
Android Taboola Classic Unit Implementation only loading single item
Hi,
I am loading tblclassicunit in the following way and I am getting only one view
layout structure
<ObservableScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:overScrollMode="never">
<FrameLayout
android:id="@+id/scroll_view_child"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false">
<LinearLayout
android:id="@+id/linearTaboolaContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="4dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingBottom="22dp"
/>
</FrameLayout>
</ObservableScrollView>
and I am inflating a tblClassic in this container
code that I am using is,
private void buildBelowArticleWidget(TBLClassicUnit tblClassicUnit, final int position, final HashMap<Integer, Boolean> nativePositions) {
tblClassicUnit
.setTargetType("mix");
//optional
if (!TextUtils.isEmpty(mWidgetProperties.get(Constants.PAGE_URL_KEY))) {
tblClassicUnit.setPageId(mWidgetProperties.get(Constants.PAGE_URL_KEY));
}
//used for enable horizontal scroll
HashMap<String, String> extraProperties = new HashMap<>();
extraProperties.put("enableHorizontalScroll", "true");
extraProperties.put("useOnlineTemplate", "true");
extraProperties.put("darkMode", "true");
tblClassicUnit.getLayoutParams().height = TBLSdkDetailsHelper.getDisplayHeight(tblClassicUnit.getContext());
TBLClassicPage tblClassicPage= Taboola.getClassicPage(mWidgetProperties.get(Constants.PAGE_URL_KEY), "article");
tblClassicUnit.setAutoResizeHeight(true);
enableFeedContentScrolling(true);
tblClassicUnit.setUnitExtraProperties(extraProperties);
HashMap<String, String> extraProperties1 = new HashMap<>();
extraProperties1.put("setFetchPolicy", "1");
tblClassicPage.setPageExtraProperties(extraProperties1);
TBLClassicListener tblClassicListener;
tblClassicListener=new TBLClassicListener() {
@Override
public void onTaboolaWidgetOnTop() {
super.onTaboolaWidgetOnTop();
Log.e("taboola","onTaboolaWidgetOnTop");
// enableFeedContentScrolling(false);
}
@Override
public void onAdReceiveSuccess() {
Log.e("taboola","onAdReceiveSuccess");
mLoadTaboolaListener.onTaboolaAdLoaded();
super.onAdReceiveSuccess();
}
@Override
public void onAdReceiveFail(String error) {
Log.e("taboola","onAdReceiveSuccess");
mLoadTaboolaListener.onTaboolaAdFailed();
super.onAdReceiveFail(error);
}
@Override
public void onResize(int height) {
super.onResize(height);
}
@Override
public boolean onItemClick(String placementName, String itemId, String clickUrl, boolean isOrganic, String customData) {
//return super.onItemClick(placementName, itemId, clickUrl, isOrganic, customData);
if (isOrganic) {
//do something
return false;
}
return true;
}
};
tblClassicPage.addUnitToPage(tblClassicUnit,mWidgetProperties.get(Constants.PLACEMENT_KEY),mWidgetProperties.get(Constants.MODE_KEY),TBL_PLACEMENT_TYPE.FEED,tblClassicListener);
// tblClassicPage.addUnitToPage(tblClassicUnit,"Feed without video","thumbs-feed-01", TBL_PLACEMENT_TYPE.FEED,tblClassicListener);
fetchIfRequired();
}
Posted by anu over 1 year ago
[iOS] How do I get my app to build on my M1 Mac (iOS Simulator) when Taboola is installed via Carthage?
I think the question says it all. I recently updated my machine, went to install the TaboolaSDK via Carthage, and got the error during build (for simulator):
This is a known issue, well described here: https://medium.com/@quentinfasquel/carthage-issues-xcode-12-xcframeworks-apple-silicon-etc-1c60d8635dbc
```
[email protected] iOS-App % ./carthage.sh bootstrap --platform iOS
*** No Cartfile.resolved found, updating dependencies
*** Downloading binary-only framework TaboolaSDK at "https://cdn.taboola.com/taboola-mobile-sdk/ios/carthage/TaboolaSDK.json"
*** xcodebuild output can be found in /var/folders/22/62ggb_8x21l87nh68dc2hm6w0000gp/T/carthage-xcodebuild.9PI6S7.log
*** Downloading binary-only framework TaboolaSDK at "https://cdn.taboola.com/taboola-mobile-sdk/ios/carthage/TaboolaSDK.json"
```
As far as I understand, 2 solution paths would be to support building .xcframeworks (and provide some support documentation about this issue), and/or additionally installing via Swift Package Manager (SPM).
Anyway, is there a way forward here?
I currently use the 'carthage.sh' script, given here: https://github.com/Carthage/Carthage/blob/master/Documentation/Xcode12Workaround.md
Where it explicitly says "this won't work on Apple Silicon" i.e. the simulator.
So I'm basically stuck.
Posted by Stephen O'Connor over 1 year ago
Android Native Implementation Question
I have a TaboolaWidget inside a RecyclerView. Right now the widget has a fixed height with a nested scroll to view all the overflowing ads. What I want is to make the widget's size to be as large as needed in order to fit all the ads WITHOUT having to use the nested scroll that the widget provides.
Thanks.
Posted by george over 1 year ago
How to get campaign level flowing details
Hi
I want to het flowing things through api
Campaign level page
1.campaign play/paused function
2.Changing Daily budget function
3.Daily Bid changing function
get a campaign page
1.get a campaign level sites block /unblock function
2.get a campaign level sites bid modifier
account level
i want to get account level
campaign name
click
actuall cpc
ctr
spend
account level block /block
Please guide me to fix this my issues
Posted by Nithu Shan almost 2 years ago
App Crashing After Update TaboolaSDK Version 2.6.2
Hi Im Vj after sdk Update app crashing . Error says (*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSBundle initWithURL:]: nil URL argument' *** First throw call stack: ( 0 CoreFoundation 0x00007fff23b98bde __exceptionPreprocess + 350 1 libobjc.A.dylib 0x00007fff503b5b20 objc_exception_throw + 48 2 Foundation 0x00007fff255ca87e +[NSBundle bundleWithURL:] + 0 +[NSBundle bundleWithURL:] + 45 0x00000001079bb22d -[TaboolaView htmlTemplate] + 119 0x00000001079bb037 -[TaboolaView fetchContentFromLocalTemplate] + 237)
Kindly looking to It
Posted by vijay about 2 years ago
Taboola Sdk not rendering to user
Hi i'm Vijay ,in recent Times Taboola SDK Can't rendering to the user ,Please explain it
I'm using Current Version (2.6.2)
Posted by Vijay about 2 years ago
Bid Strategy is what element on the API and what result is what
Hi I just wanted to confirm if i am correct on this:
In the interface,
Bid Strategy = Bid Type in API
and if yes:
Fixed Bid = FIXED in the API
Smart Bid = OPTIMIZE_CONVERSIONS in the API
?
https://developers.taboola.com/backstage-api/reference#campaign-bid-type
Otherwise please advise what attribute to take
Many thanks
Daniel
Posted by Daniel about 2 years ago