Support Forum
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 almost 5 years 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
```
stephen-work@Stephens-M1-Pro 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 2 years ago
Why can I not see my latest post/comment?
Hi, all
There is a caching issue with the platform that hosts our Community.
As a result, new posts/comments might not be visible for you.
This issue is under investigation.
Our profuse apologies for the temporary inconvenience.
Mobile SDK community team
Posted by Taboola almost 4 years ago
Will the feed available in regional languages?
My application feed available in different languages, I want to show the taboola feed in that the user selected language. Will it serve the feed fir different languages.
Posted by Thirupathi Mukkera over 4 years 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 2 years 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 2 years 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 over 1 year 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 over 1 year ago
Is it possible to load Taboola in the background?
We want to load Taboola in the background - is it possible?
Posted by Leon almost 5 years ago