Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Kachit/branch-sdk-go

Repository files navigation

Branch.io SDK GO (Unofficial)

Build Status Codecov Go Report Card Version Release License

Description

Unofficial Branch.io daily exports API Client for Go

API documentation

https://help.branch.io/developers-hub/docs/daily-exports

Installation

go get -u github.com/kachit/branch-sdk-go

Usage

package main

import (
    "fmt"
    "github.com/kachit/branch-sdk-go/v1"
    "time"
)

func main(){
    // Create a client instance
    cfg := branchio.NewConfig("Your Branch key", "Your Branch secret key")
    client, err := branchio.NewClientFromConfig(cfg, nil)
    if err != nil {
        fmt.Printf("config parameter error " + err.Error())
        panic(err)
    }
}

Get events ontology

ctx := context.Background()
dt := time.Date(2022, 1, 30, 0, 0, 0, 0, time.Local)
ontology, response, err := client.Export().GetEventOntology(ctx, dt)

if err != nil {
    fmt.Printf("Wrong API request " + err.Error())
    panic(err)
}

//Dump raw response
fmt.Println(response)

//Dump result
fmt.Println(ontology.Data.Install[0])
fmt.Println(ontology.Data.BranchCtaView[0])
fmt.Println(ontology.Data.Click[0])
fmt.Println(ontology.Data.Impression[0])
fmt.Println(ontology.Data.Open[0])

Get events data

ctx := context.Background()
events, response, err := client.Export().GetEventData(ctx, ontology.Data.Install[0])

if err != nil {
    fmt.Printf("Wrong API request " + err.Error())
    panic(err)
}

//Dump raw response
fmt.Println(response)

//Dump result
fmt.Println(events.Data[0].Id)
fmt.Println(events.Data[0].Timestamp.Value())
fmt.Println(events.Data[0].LastAttributedTouchDataTildeId.Value())
fmt.Println(events.Data[0].DeepLinked.Value())
fmt.Println(events.Data[0].FirstEventForUser.Value())
fmt.Println(events.Data[0].DiMatchClickToken.Value())
fmt.Println(events.Data[0].EventDataRevenueInUsd.Value())
fmt.Println(events.Data[0].EventTimestamp.Value())