pendo-io / pendo-mobile-sdk

Pendo captures product usage data, gathers user feedback, and lets you communicate in-app to onboard, educate, and guide users to value
https://www.pendo.io
Other
57 stars 2 forks source link

App is not receiving in app messages, log says "screenContainer tag not found." #124

Closed skadambala closed 3 months ago

skadambala commented 3 months ago

Platform + Version iOS 17.0

Framework React Native using React Navigation

Describe the bug App is not receiving in app messages. I created a guide to send a message to few selected pages in the app. But while navigating to these pages on app, I do not see the message.

Looking at logs gives me this warning [rn-pendo-sdk] analyze (simple flow) screenId:Options. Original error: findScreenContainerRootTag - screenContainer tag not found.

Expected behaviour: App should receive in app messages as configured in guides.

MikePendo commented 3 months ago

Sounds like integration issue. Can you please share the snippet of your integration. From your description: you r trying to show guide on specific page?

skadambala commented 3 months ago

But I see these logs in when running via Xcode. ✅ Pendo Mobile SDK was successfully integrated and connected to the server. You can start adding guides to your app in our web console.

yes, I am trying to show guide on specific page of my app. I also see another log like this

[rn-pendo-sdk] State must not be null. any analytics on this screen would be ignored please refer to new installation instruction

Here is my integration snippet.

in App.tsx,

import { NavigationContainer } from '@react-navigation/native'; import { NavigationLibraryType, PendoSDK, WithPendoReactNavigation } from 'rn-pendo-sdk'

function initPendo() { const navigationOptions = { library: NavigationLibraryType.ReactNavigation }; const pendoKey = PENDO_KEY; PendoSDK.setup(pendoKey, navigationOptions); } initPendo();

const App: React.FC = (): React.JSX.Element => { const PendoNavigationContainer = WithPendoReactNavigation(NavigationContainer); return (

RNBootSplash.hide()} fallback={{'Loading...'}}>

);

MikePendo commented 3 months ago

@skadambala Can you put

const PendoNavigationContainer = WithPendoReactNavigation(NavigationContainer); Outside of the App function, just call it after the initPendo method

MikePendo commented 3 months ago

@skadambala Any progress on that?

skadambala commented 3 months ago

Adding the line outside app function did not help me. I still see screenContainer tag not found error.

MikePendo commented 3 months ago

@skadambala Can u share minimal sample project that represents the issue and we will debug it on our side

skadambala commented 3 months ago

After lot of attempts, upgrading react-navigation module from 6.1.7 to 6.1.17, my app started showing guides. You may close the issue.