| 
							- #pragma once
 - 
 - #include "../JuceLibraryCode/JuceHeader.h"
 - 
 - #include "DemoAnalyticsEventTypes.h"
 - 
 - class MainContentComponent   : public Component,
 -                                private Button::Listener
 - {
 - public:
 -     //==============================================================================
 -     MainContentComponent()
 -     {
 -         crashButton.addListener (this);
 - 
 -         addAndMakeVisible (eventButton);
 -         addAndMakeVisible (crashButton);
 - 
 -         setSize (300, 200);
 - 
 -         StringPairArray logButtonPressParameters;
 -         logButtonPressParameters.set ("id", "a");
 -         logEventButtonPress = new ButtonTracker (eventButton, "button_press", logButtonPressParameters);
 -     }
 - 
 -     ~MainContentComponent()
 -     {
 -         crashButton.removeListener (this);
 -     }
 - 
 -     void paint (Graphics& g) override
 -     {
 -         g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));
 -     }
 - 
 -     void resized() override
 -     {
 -         eventButton.centreWithSize (100, 40);
 -         eventButton.setBounds (eventButton.getBounds().translated (0, 25));
 -         crashButton.setBounds (eventButton.getBounds().translated (0, -50));
 -     }
 - 
 - private:
 -     //==============================================================================
 -     void buttonClicked (Button*) override
 -     {
 -         // In a more advanced application you would probably use a different event
 -         // type here.
 -         Analytics::getInstance()->logEvent ("crash", {}, DemoAnalyticsEventTypes::event);
 -         Analytics::getInstance()->getDestinations().clear();
 -         JUCEApplication::getInstance()->shutdown();
 -     }
 - 
 -     TextButton eventButton { "Press me!" }, crashButton { "Simulate crash!" };
 -     ScopedPointer<ButtonTracker> logEventButtonPress;
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
 - };
 
 
  |