import React, { useCallback, useEffect } from 'react'; import { Amplify, Notifications } from 'aws-amplify'; import { Button, Flex, Text } from '@aws-amplify/ui-react'; import { useInAppMessaging, withInAppMessaging, } from '@aws-amplify/ui-react-notifications'; import '@aws-amplify/ui-react/styles.css'; import config from './aws-exports'; const { InAppMessaging } = Notifications; Amplify.configure(config); const CustomBannerMessage = (props) => { return ( {props.header.content} ); }; function App() { const { displayMessage } = useInAppMessaging(); useEffect(() => { // sync remote in-app messages InAppMessaging.syncMessages(); }, []); const displayCustomBannerMessage = useCallback( () => displayMessage({ content: [{ header: { content: 'Hello World!' } }], id: 'Custom message', layout: 'TOP_BANNER', }), [displayMessage] ); // display custom message component on initial render useEffect(displayCustomBannerMessage, [displayCustomBannerMessage]); return ( ); } export default withInAppMessaging(App, { components: { BannerMessage: CustomBannerMessage }, });