index.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import {
  2. NativeModules,
  3. DeviceEventEmitter,
  4. Platform
  5. } from 'react-native';
  6. let UMengModule;
  7. if(Platform.OS === 'ios') {
  8. UMengModule = NativeModules.UMengIOSModule;
  9. } else {
  10. UMengModule = NativeModules.UMengAndroid;
  11. }
  12. export default class UMeng {
  13. static addNotificationClickListener(cb) {
  14. if (!cb) {
  15. return;
  16. }
  17. DeviceEventEmitter.addListener("UMengPushClickListener", (content) => {
  18. cb(content);
  19. });
  20. }
  21. static getDeviceToken(cb){
  22. if(!cb){
  23. return;
  24. }
  25. UMengModule.deviceToken((deviceToken)=>{
  26. cb(deviceToken);
  27. });
  28. }
  29. static onPageBegin(pageName) {
  30. UMengModule.onPageBegin(pageName);
  31. }
  32. static onPageEnd(pageName) {
  33. UMengModule.onPageEnd(pageName);
  34. }
  35. static onEventWithMap(eventId, params) {
  36. UMengModule.onEventWithMap(eventId, params)
  37. }
  38. static onEvent(eventId){
  39. UMengModule.onEvent(eventId);
  40. }
  41. static onEventWithLabel(eventId, label){
  42. UMengModule.onEventWithLabel(eventId,label);
  43. }
  44. static onEventWithMapAndCount(eventId, params, du){
  45. UMengModule.onEventWithValue(eventId, params, du);
  46. }
  47. }