davide-scalzo / react-native-mixpanel

A React Native wrapper for Mixpanel tracking
MIT License
455 stars 195 forks source link

MixPanel.set() not working on iOS or Android, same with push notifications on iOS #240

Open SamyOptimize opened 4 years ago

SamyOptimize commented 4 years ago

I managed to integrate the library with my current project.

In-app messages work for iOS and Android, and notifications work on an Android emulator. But I can't get Push Notifications to work on iOS. I followed the official guide, created an SSL production and development APN certificate and uploaded both to my MixPanel project. I've used expo's Notification library to retrieve the device APN token and passed it to Mixpanel.addPushDeviceToken(token.data) after i have called Mixpanel.identifiy(userid). But it doesn't want to add the $ios_devices key to my mixpanel profile, based on what's suggested here I tried using Mixpanel.set({$ios_devices:token.data}) but that also hasn't worked even when trying to use set twice based on #196, not even on Android. We're already using @segment/analytics-react-native for analytics and segment/analytics-react-native-mixpanel from before and we have our users' profile set up with that. Could this be a cause for the issues?

I've hit a roadblock trying to solve these, so I hope I can find some help here.

0hio-creator commented 4 years ago

Make sure you are using a device. Push notification will not work on a simulator. There are no apns tokens on emulators.

There are posts with instructions on registering tokens in the appdelegate.m https://github.com/davodesign84/react-native-mixpanel/issues/182

I did the registering in js with react native firebase I did it via js https://github.com/davodesign84/react-native-mixpanel/issues/234

zaarheed commented 4 years ago

@SamyOptimize did you have any luck with getting Mixpanel.set() to work? My events are being tracked fine but none of my user properties. Using React Native