+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/credentials"
+ "github.com/aws/aws-sdk-go/aws/session"
+ "github.com/aws/aws-sdk-go/service/mobileanalytics"
+type q map[string]interface{}
+type AnalyticsConfig struct {
+var ccAnalyticsConfig = AnalyticsConfig{
+func client() (*mobileanalytics.MobileAnalytics, error) {
+ creds := credentials.NewStaticCredentials(ccAnalyticsConfig.AccessKey,
+ ccAnalyticsConfig.AccessSecret, "")
+ cfg := aws.NewConfig().WithRegion(ccAnalyticsConfig.Region).WithCredentials(creds)
+ client := mobileanalytics.New(session.New(), cfg)
+func dummyEvent() *mobileanalytics.Event {
+ event := mobileanalytics.Event{}
+ eventType := "DUMMY_EVENT"
+ timestamp := time.Now().UTC().Format(time.RFC3339)
+ event.EventType = &eventType
+ event.Attributes = map[string]*string{
+ event.Timestamp = ×tamp
+func PostEvent(e *mobileanalytics.Event) {
+ fmt.Printf("posting event %+v\n", e)
+ fmt.Println("err in creating client")
+ pei := mobileanalytics.PutEventsInput{}
+ pei.Events = []*mobileanalytics.Event{
+ // The client context including the client ID, app title, app version and package
+ "client_id": "color-cloud-go",
+ "app_title": "color-cloud-go",
+ "app_version_name": "v3.0.1",
+ "app_version_code": "301",
+ "app_package_name": "com.variableinc.colorcloudgo",
+ "platform_version": "1.9",
+ "app_id": ccAnalyticsConfig.AppID,
+ ctxBytes, _ := json.Marshal(ctx)
+ ctxString := string(ctxBytes)
+ // fmt.Println("using JSON:")
+ // fmt.Println(ctxString)
+ pei.ClientContext = &ctxString
+ out, err := c.PutEvents(&pei)
+ fmt.Println("err in PutEvents")
+ fmt.Println("Post even success")
+ fmt.Printf("%+v\n", out)