1.0.2 • Published 9 months ago

insider-expo-config-plugin v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Insider Expo Config Plugin

Work in progress: iOS is not fully available yet, only the register of events

Dependencies

DependencyVersionDescription
react-native-insider^6.5.2The Insider SDK Version to be used with this config plugin version

Installation

npm install react-native-insider
expo install insider-expo-config-plugin

Configuration

On your app.json file:

{
    // ...
    "android": {
        // ...
        "googleServicesFile": "./assets/google-services.json" // add your google services json to enable push notifications
    },
    // ...
    "plugins": [
      // ...
      [
        "insider-expo-config-plugin",
        {
          "partner": "partner_name",
          "appGroup": "apple_app_group_id",
          "apnsEnvironment": "development|production"
        }
      ]
    ],
    }
    // ...
}

Android Push Notifications

Due to react-native limitations you must add an initialization to request permissions for push notifications in your react code:

const registerPushAndroid = async () => {
    const isAndroid = Platform.OS.toLowerCase() === 'android';
    if (!isAndroid) {
        return;
    }

    try {
        const { status: existingStatus } = await Notifications.getPermissionsAsync();
        let finalStatus = existingStatus;

        if (existingStatus !== 'granted') {
            const { status } = await Notifications.requestPermissionsAsync();
            finalStatus = status;
        }
        if (finalStatus !== 'granted') {
            alert('Failed to get push token for push notification!');
            return;
        }
        const token = (await Notifications.getDevicePushTokenAsync()).data;
        RNInsider.setHybridPushToken(token)
        console.log(token);

        return token;
    } catch (error) {
        console.log('Error:', error);
    }

}

const initializeInsider = async () => {
    console.log("Initializing Insider SDK");
    registerPushAndroid();
    RNInsider.init(
        "caaqui",
        "group.com.caaqui.insider.capacitor.demotest",
        () => {
            console.log("Insider SDK Initialized");
        }
    );
    // other initializations methods that fits your app
}
1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago