Expand my Community achievements bar.

Mobile SDK LifeCycle metrics are not being tracked.

Avatar

Level 2

Hello Community,

 

We are currently facing a weird issue with our mobile app tracking. we've noticed that most of the life cycle metrics are not being tracked as shown below. Nothing is actually being tracked other than "app users". This issue is only with our iOS app

 

vallus_0-1714586885614.png

 

We have verified the code and followed the instructions as mentioned in launch (screenshot below). We have also updated the sdk pods to the new versions (5.0):

vallus_1-1714587075908.png

We have also checked this documentation (https://developer.adobe.com/client-sdks/home/base/mobile-core/lifecycle/#add-lifecycle-to-your-app) to see if we are missing anything but we couldn't find any issue with the code.

 

The only thing which we noticed is different on our code vs the instruction is that in the below line of code where "additionalContextData:" mentioned as "nil". On the launch instructions, it is mentioned as "MobileCore.lifecycleStart(additionalContextData: ["contextDataKey": "contextDataVal"])" . 

vallus_2-1714587308926.png

 

Would really appreciate if someone can help me with debugging this issue. Thanks alot!

 

12 Replies

Avatar

Employee

Hey @vallus additionalConextData:nil shouldn't be the problem here as this is an optional parameter to pass a dictionary of additional data that will be attached to the lifecycle event.

 

I suspect it something else. Do you see any sort of errors in the debug logs? If we can get logs from the App it can provide more clarity on the issue. I would suggest to log client care ticket with Mobile Launch property details, configuration details and the debug logs. If you can create an Assurance session that would be helpful too.

 

Here's how you can setup Assurance - https://experienceleague.adobe.com/en/docs/platform-learn/implement-mobile-sdk/app-implementation/as...

 

Avatar

Community Advisor

Honestly, several years ago when our developers attempted to add context variables to our lifecycle calls on the ACP SDK they broke lifecycle metrics... we removed it and lifecycle started working again... 

 

We haven't yet gone back to trying to add context to Lifecycle again (other priorities).. 

 

So while it shouldn't be causing the problem, it might actually be the problem....

Avatar

Employee

I haven't tested passing additional context data in lifecycle calls, but if it breaks the lifecycle metrics then this is definitely something that can be checked internally. 

 

Avatar

Level 2

Thanks @Jennifer_Dungan and @fhusain for inputs!

I tried both contextData: nil and also with contextData key value pairs, but both dint fix the issue. Im still not sure what is causing the issue. 

Avatar

Employee

I think we would need logs, if configuration is correct then there must be something within the app blocking the calls. Apart from lifecycle calls, do you see any other data making to the reports from iOS App?

Avatar

Level 2

Yes, I can see all the variables being captured. For example: PageType, appType etc.., these are part of the state calls. 

vallus_0-1714671285204.png

 

Avatar

Community Advisor

What happens if you try:

 

MobileCore.lifecycleStart(null);

 

Does that make any difference?

Avatar

Level 2

We can try this but is this for iOS? We only have issue with our iOS app. 

Avatar

Community Advisor

Depending on your app? If you are using a shared code base it might be harder... but if you have separate iOS and Android versions then you should be able to make platform specific versions...

 

Of course, it it comes to needing context variables on your Lifecycle calls... that will be another challenge... but if you aren't using that now, and are just passing empty values... it's worth a shot?

 

Good Luck

Avatar

Level 2

Sorry, i meant the syntax which you've mentioned looks like is used for Android as per the documentation (https://developer.adobe.com/client-sdks/home/base/mobile-core/lifecycle/api-reference/)

 

Android:

vallus_0-1714674039297.png

iOS:

For iOS the syntax was mentioned as below. So, i'm just wondering if passing "null" would work for iOS swift.

vallus_1-1714674130818.png

 

Avatar

Employee

Can you double check the syntax? I  see some differences in the snippet that you have added in the question description. Can you double the check the parenthesis.

 

MobileCore.registerExtensions(extensions, {
MobileCore.configureWith(appId: self.LAUNCH_ENVIRONMENT_FILE_ID)

if appState != .background {
MobileCore.lifecycleStart(additionalContextData: nil)
}
})

Here's the sample code for the test app provided by Adobe to show the usage of Lifecycle extension - https://github.com/adobe/aepsdk-core-ios/blob/main/TestApps/TestApp_Swift/AppDelegate.swift

 

Avatar

Community Advisor

Ah, you are correct... I must have grabbed the wrong version...  I don't have access to our mobile app code, so I can't see what our syntax is...  

 

But I did find https://github.com/Adobe-Marketing-Cloud/aep-sdks-documentation/blob/master/foundation-extensions/mo...

 

And it still has:

ACPCore.LifecycleStart(null);

 

but maybe that's only for APC and not AEP??