[IOS]Missing fields using the 4.0 API on submit

filipet60049002

15-10-2015

Hi!

I making the migration from 2.X client to 4.x. I want to keep the old name fields so I'm mapping with the same keys on nsdictionary. It's generating a request similar to the next:


 ADBMobile Debug: Analytics - Successfully sent hit(ndh=1&t=xxxxxx&c.&prop75=D%3DUser-Agent&prop22=portfolio%3Ahome%3Achangenumber&channel=portfolio%3Ahome&eVar5=D%3Dc6&prop7=logged%20out&prop74=portfolio%3Ahome&eVar52=D%3DpageName&prop21=portfolio%3Ahome%3Achangenumber&prop6=xxxx&pageName=xxxx%3Aportfolio%3Ahome&prop28=iOS&userAgent=Mozilla%2F5.0%20%28iPhone%3B%20CPU%20iPhone%20OS%208_3%20like%20Mac%20OS%20X%29%20AppleWebKit%2F600.1.4%20%28KHTML%2C%20like%20Gecko%29%20Mobile%2F12F69&prop23=portfolio%3Ahome%3Achangenumber&timestamp=1431541341&prop5=Self%20Service&eVar23=D%3Dc28&prop19=Simulator&eVar8=D%3Dc9&eVar12=D%3Dc74&prop25=iOS%20APP%xxxxx%xxxxx%xxxxx%202.4.5&eVar62=D%3Dc19&a.&action=xxxxx%xxxxxx%3Ahome&OSVersion=iOS%208.3&DeviceName=x86_64&CarrierName=%28null%29&AppID=xxxxxxx%202.4.5%20%282.4.5%29&RunMode=Application&Resolution=640x1136&TimeSinceLaunch=629&.a&hier1=portfolio%3Ahome&.c&pev2=AMACTION%xxxxxx%3Aportfolio%3Ahome&ts=1431537741&pageName=xxxxxx%2F2.4.5&aid=xxxxxxx&ce=UTF-8&pe=lnk_o)

 

Some companies identity elements was replaced by xxxx.

On the platform all the fields are as unknown. Probably I'm missing this fields key. 

 

Thanks for your help.

Accepted Solutions (1)

Accepted Solutions (1)

steve_benedick

Employee

15-10-2015

Hey Filipe,

 

In order for your context data to be usable in your props, eVars, etc, it must have appropriate mappings.  Have you created processing rules to map your context data to the correct variables?  You can read more about processing rules here: https://marketing.adobe.com/resources/help/en_US/mobile/ios/proc_rules.html

 

Also, here is a migration guide that should help answer some questions as you transition from 2.x to 4.x: https://marketing.adobe.com/resources/help/en_US/mobile/ios/migration_v3.html

 

Hope this helps.

steve benedick

mobile software engineer

Adobe Marketing Cloud

Answers (3)

Answers (3)

steve_benedick

Employee

15-10-2015

Hey Filipe,

In case you're still looking for it, here is the documentation for how you can map your context data to custom variables via processing rules using Adobe Mobile Services:

https://marketing.adobe.com/resources/help/en_US/mobile/settings_custom_data.html

Hope this helps!

 

steve benedick

mobile software engineer

Adobe Marketing Cloud

filipet60049002

15-10-2015

Usually I don't dump at forums entries, but in this case will require for assistance since the documentation is not clear on importing old evar or proper to the new suite. 

Actually there is no entries at analytics, but they are being sent by the clients, I even can see them at bloodhound. 
 

Old clients works just fine. But since there is no 64bits support to old version I really need a solution to this.

filipet60049002

15-10-2015

Filipe Teixeira wrote...

Hi!

I making the migration from 2.X client to 4.x. I want to keep the old name fields so I'm mapping with the same keys on nsdictionary. It's generating a request similar to the next:


 ADBMobile Debug: Analytics - Successfully sent hit(ndh=1&t=xxxxxx&c.&prop75=D%3DUser-Agent&prop22=portfolio%3Ahome%3Achangenumber&channel=portfolio%3Ahome&eVar5=D%3Dc6&prop7=logged%20out&prop74=portfolio%3Ahome&eVar52=D%3DpageName&prop21=portfolio%3Ahome%3Achangenumber&prop6=xxxx&pageName=xxxx%3Aportfolio%3Ahome&prop28=iOS&userAgent=Mozilla%2F5.0%20%28iPhone%3B%20CPU%20iPhone%20OS%208_3%20like%20Mac%20OS%20X%29%20AppleWebKit%2F600.1.4%20%28KHTML%2C%20like%20Gecko%29%20Mobile%2F12F69&prop23=portfolio%3Ahome%3Achangenumber&timestamp=1431541341&prop5=Self%20Service&eVar23=D%3Dc28&prop19=Simulator&eVar8=D%3Dc9&eVar12=D%3Dc74&prop25=iOS%20APP%xxxxx%xxxxx%xxxxx%202.4.5&eVar62=D%3Dc19&a.&action=xxxxx%xxxxxx%3Ahome&OSVersion=iOS%208.3&DeviceName=x86_64&CarrierName=%28null%29&AppID=xxxxxxx%202.4.5%20%282.4.5%29&RunMode=Application&Resolution=640x1136&TimeSinceLaunch=629&.a&hier1=portfolio%3Ahome&.c&pev2=AMACTION%xxxxxx%3Aportfolio%3Ahome&ts=1431537741&pageName=xxxxxx%2F2.4.5&aid=xxxxxxx&ce=UTF-8&pe=lnk_o)

 

Some companies identity elements was replaced by xxxx.

On the platform all the fields are as unknown. Probably I'm missing this fields key. 

 

Thanks for your help.

 

Events, Props, eVars

If you've looked at the Methods and Classes, you are probably wondering where to set events, eVars, props, heirs, and lists. In version 4, you can no longer assign those types of variables directly in your app. Instead, the SDK uses context data and processing rules to map your app data to Analytics variables for reporting.

Processing rules provide you several advantages:

  • You can change your data mapping without submitting an update to the App Store.
  • You can use meaningful names for data instead of setting variables that are specific to a report suite.
  • There is little impact to sending in extra data. These values won’t appear in reports until they are mapped using processing rules.

See Processing Rules and Context Data.

Any values that you were assigning directly to variables should be added to the data NSDictionary instead. This means that calls to setProp,setEvar, and assignments to persistent context data should all be removed and the values added to the data parameter.

 

Also, we have heard that some of you are naming context data keys using the evar or prop number:

  1. "eVar1":"jimbo"
 

This might make it slightly easier when you perform the one time mapping in processing rules

Al the documentation indicates, that I should be able to use it directly on data, what maps are you talking about?