How do we set Page Name for Mobile Application Screen?
Right now we are using Mobile Services (Mobile Marketing) to generate SDK and implement with our native app. Right now, Page Name is generated be default without configuration. But if we need to edit the Page Name,
1. Can we edit it in Coding? If yes, please advice the variable and procedure.
2. Can we edit the Processing Rules at Mobile Marketing? Under standard variables, we are unable to see Page Name.
Setting the Page Name via SDK Code - As previously posted, Here are the Android and iOS SDK document entries for setting Page Name value in the trackState call. Both pages also show a similar note:
Can't set the Page Name in Mobile Services Interface - As far as I know, the Mobile Services has no documentation dedicated to the interface, other than examples/references mentioned in passing throughout the SDK documentation. Okay apparently there is some documentation (Managing your App). But looking through it, I did not find anything explicitly stating what you cannot set via this interface, or its limitations in general. But as you yourself from looking at all the availabile config vars in the interface, it's clearly not available in there!
[ADBMobile trackState:@"Page Name Here" data:nil];
Mobile Services Config
Currently there is no way to set the page name from the Mobile Services App Config interface. Variables configured within the Mobile Services interface ultimately generate regular Processing Rules (PRs). If you go to the PR config page in Adobe Analytics, you can see the rules (read only) set by them. However, the mobile services interface does not give you access to the full capabilities of creating your own PR in the regular PR interface, because.. reasons?
You can set/override the page name within the Processing Rule (PR) interface. Login to the Adobe Analytics (AA) interface, and navigate to Admin > Report Suites. Select your mobile app Report Suite Id (rsid) from the list. Then navigate to Edit Settings > General > Processing Rules. I'm not sure what your conditions or source of value is for page name, but to set the page name value, select "Page Name" from the relevant dropdown.
A couple of warnings about this method:
Warning #1: Your implementation may make trackAction calls or other non-page(state) view calls for various reasons. Usually the previous trackState page name is included in these requests, but the Adobe collection server strips it before moving to processing rules in the processing flow. This allows for the action to be associated with the underlying page(state), but not be recorded as a separate page(state) view. If you assign a value to Page Name, where it was previously stripped from pre-processing, downstream Adobe will record it as a full page view. Therefore, at a minimum, make a condition on your PR to only set (override) the Page Name value if it already exists.
Warning #2: Overriding the Page Name value via PR may cause funkiness in reports, particularly when breaking down Page Name by other dimensions or visa versa. As mentioned above, trackAction calls include the previous trackState call's page name, and Adobe strips it so that it won't count as a page view, but it still keeps it in a separate post-process var (not exposed to PR) to associate the trackAction data to the last trackState call. So if you override the Page Name value for the trackState call in a PR, then that new Page Name will be reported. Meanwhile upstream in the actual SDK code, the next trackAction call will still have that old Page Name value, so data will be associated with that Page Name value, not your PR-set value. There is nothing you can do about this within the PR. Therefore the recommended solution is to set it with the SDK code, and only use this solution (understanding the implications) if changing SDK code is not an option.