diff --git a/.circleci/config.yml b/.circleci/config.yml index 1616cad9..9f6aba9c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -66,7 +66,7 @@ jobs: command: sudo gem install cocoapods - run: - name: intall pods + name: install pods command: yarn sampleapp:ios:pod:install - run: diff --git a/apps/AEPSampleApp/android/app/src/main/AndroidManifest.xml b/apps/AEPSampleApp/android/app/src/main/AndroidManifest.xml index 8bd5d3d8..ad597fe8 100644 --- a/apps/AEPSampleApp/android/app/src/main/AndroidManifest.xml +++ b/apps/AEPSampleApp/android/app/src/main/AndroidManifest.xml @@ -6,22 +6,27 @@ + + + + - - - diff --git a/apps/AEPSampleApp/android/app/src/main/java/com/aepsampleapp/MainApplication.java b/apps/AEPSampleApp/android/app/src/main/java/com/aepsampleapp/MainApplication.java index 290f1077..8bfa878c 100644 --- a/apps/AEPSampleApp/android/app/src/main/java/com/aepsampleapp/MainApplication.java +++ b/apps/AEPSampleApp/android/app/src/main/java/com/aepsampleapp/MainApplication.java @@ -13,27 +13,25 @@ package com.aepsampleapp; import android.app.Application; -import android.content.Context; import com.adobe.marketing.mobile.AdobeCallback; -import com.adobe.marketing.mobile.Assurance; -import com.adobe.marketing.mobile.InvalidInitException; -import com.adobe.marketing.mobile.Lifecycle; +import com.adobe.marketing.mobile.Edge; import com.adobe.marketing.mobile.LoggingMode; import com.adobe.marketing.mobile.Messaging; -import com.adobe.marketing.mobile.MobileCore; -import com.adobe.marketing.mobile.Edge; -import com.adobe.marketing.mobile.edge.consent.Consent; +import com.adobe.marketing.mobile.Lifecycle; import com.adobe.marketing.mobile.Signal; import com.adobe.marketing.mobile.UserProfile; +import com.adobe.marketing.mobile.MobileCore; +import com.adobe.marketing.mobile.Assurance; +import com.adobe.marketing.mobile.edge.identity.Identity; +import com.adobe.marketing.mobile.edge.consent.Consent; +import com.adobe.marketing.mobile.InvalidInitException; import com.facebook.react.PackageList; import com.facebook.react.ReactApplication; -import com.facebook.react.ReactInstanceManager; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.soloader.SoLoader; -import java.lang.reflect.InvocationTargetException; import java.util.List; public class MainApplication extends Application implements ReactApplication { @@ -69,60 +67,26 @@ public ReactNativeHost getReactNativeHost() { public void onCreate() { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); - initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); MobileCore.setApplication(this); - MobileCore.setLogLevel(LoggingMode.DEBUG); - try { - UserProfile.registerExtension(); - com.adobe.marketing.mobile.Identity.registerExtension(); - com.adobe.marketing.mobile.edge.identity.Identity.registerExtension(); - Lifecycle.registerExtension(); - Signal.registerExtension(); - Edge.registerExtension(); - Consent.registerExtension(); - Messaging.registerExtension(); - Assurance.registerExtension(); - } catch (InvalidInitException e) { - e.printStackTrace(); - } - - MobileCore.configureWithAppID("your-app-ID"); - MobileCore.start(new AdobeCallback() { - @Override - public void call(Object o) { - MobileCore.lifecycleStart(null); - } - }); - } - - /** - * Loads Flipper in React Native templates. Call this in the onCreate method with something like - * initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); - * - * @param context - * @param reactInstanceManager - */ - private static void initializeFlipper( - Context context, ReactInstanceManager reactInstanceManager) { - if (BuildConfig.DEBUG) { - try { - /* - We use reflection here to pick up the class that initializes Flipper, - since Flipper library is not available in release mode - */ - Class aClass = Class.forName("com.aepsampleapp.ReactNativeFlipper"); - aClass - .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) - .invoke(null, context, reactInstanceManager); - } catch (ClassNotFoundException e) { + MobileCore.setLogLevel(LoggingMode.VERBOSE); + try { + Edge.registerExtension(); + Identity.registerExtension(); + Messaging.registerExtension(); + UserProfile.registerExtension(); + Lifecycle.registerExtension(); + Signal.registerExtension(); + Consent.registerExtension(); + Assurance.registerExtension(); + } catch (InvalidInitException e) { e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } } + MobileCore.configureWithAppID("YOUR-APP-ID"); + MobileCore.start(new AdobeCallback() { + @Override + public void call(Object o) { + MobileCore.lifecycleStart(null); + } + }); } } diff --git a/apps/AEPSampleApp/android/build.gradle b/apps/AEPSampleApp/android/build.gradle index de47bf80..a0e74a59 100644 --- a/apps/AEPSampleApp/android/build.gradle +++ b/apps/AEPSampleApp/android/build.gradle @@ -35,5 +35,8 @@ allprojects { maven { url 'https://www.jitpack.io' } mavenCentral() jcenter() + flatDir { + dirs project(':adobe_react-native-aepmessaging').file('libs') + } } } diff --git a/apps/AEPSampleApp/babel.config.js b/apps/AEPSampleApp/babel.config.js index 6403cbe5..84c39fdd 100644 --- a/apps/AEPSampleApp/babel.config.js +++ b/apps/AEPSampleApp/babel.config.js @@ -1,3 +1,4 @@ module.exports = { - presets: ['module:metro-react-native-babel-preset'] + presets: ['module:metro-react-native-babel-preset'], + plugins: ['react-native-reanimated/plugin'] }; diff --git a/apps/AEPSampleApp/extensions/EdgeIdentityView.tsx b/apps/AEPSampleApp/extensions/EdgeIdentityView.tsx index 424153bf..ea55d88a 100644 --- a/apps/AEPSampleApp/extensions/EdgeIdentityView.tsx +++ b/apps/AEPSampleApp/extensions/EdgeIdentityView.tsx @@ -45,6 +45,7 @@ const EdgeIdentityView = ({navigation}: NavigationProps) => { const [version, setVersion] = useState(''); const [identities, setIdentities] = useState(''); const [ecid, setECID] = useState(''); + const [urlvariables, setUrlVariables] = useState(''); Identity.extensionVersion().then(version => setVersion(version)); function getIdentities() { @@ -75,6 +76,14 @@ const EdgeIdentityView = ({navigation}: NavigationProps) => { }); } + function getUrlVariables() { + Identity.getUrlVariables() + .then(urlVariables => { + setUrlVariables(urlVariables); + console.log('AdobeExperienceSDK: urlVariables = ' + urlVariables); + }) + } + return ( @@ -84,9 +93,11 @@ const EdgeIdentityView = ({navigation}: NavigationProps) => {