Skip to content

Segment.io Integration

If you already use Segment inside your application and want to integrate Pointzi data with your segment data, then please follow the below instructions to ensure the Segment ID is linked to the Pointzi InstallID.

NOTE: Pointzi will store Segment's "Identify" Traits only, please filter out other events such as "Track". Pointzi supports Traits of the following types: String, Numeric, Datetime (a string in ISO-8601 format), These types map directly to Pointzi's Tags. Pointzi will ignore structures.

IOS

Swift: 

After Segment initialisation, during registration simply pass segment anonymousId into Pointzi register function

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 let segmentId = Analytics.shared().getAnonymousId()
    Pointzi.sharedInstance().registerInstall(forApp: <appkey>, segmentId: segmentId, withDebugMode: false) {
            Pointzi.sharedInstance().tagCuid(segmentId)
            Analytics.shared().identify("", traits: [
                "sh_cuid": segmentId,
                "email": "myuser@acme.com",
                "gender": "male",
                "phone": "+14088123123"
            ])
    }

If you didn't link segment during Pointzi registration and would like to do it at any other place in your application

1
2
3
4
5
6
7
8
  let segmentId = Analytics.shared().getAnonymousId()
  Pointzi.sharedInstance().tagCuid(segmentId)
  Analytics.shared().identify("", traits: [
                "sh_cuid": segmentId,
                "email": "myuser@acme.com",
                "gender": "male",
                "phone": "+14088123123"
    ])

Objc: 

After Segment initialisation, during registration simply pass segment anonymousId into Pointzi register function

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
NSString *segmentId = [[SEGAnalytics sharedAnalytics] getAnonymousId];
 [POINTZI registerInstallForApp:<appkey> withDebugMode:YES   segmentId:segmentId completion:^{
        [POINTZI tagCuid:segmentId];
        [[SEGAnalytics sharedAnalytics] identify:@""
                                        traits:@{
                                            @"sh_cuid": segmentId,
                                            @"email": "myuser@acme.com",
                                            @"gender": "male",
                                            @"phone": "+14088123123"
                                        }];

    }];

If you didn't link segment during Pointzi registration and would like to do it at any other place in your application

1
2
3
4
5
6
7
8
9
    NSString *segmentId = [[SEGAnalytics sharedAnalytics] getAnonymousId];
    [POINTZI tagCuid:segmentId];
    [[SEGAnalytics sharedAnalytics] identify:@""
                                              traits:@{
                                                  @"sh_cuid": segmentId,
                                                  @"email": @"afterregisteration@test.com",
                                                  @"firstName": @"Ganesh",
                                                  @"lastName": @"Faterpekar"
                                              }];

Android

1.After Segment initialisation, simply pass segment anonymousId into Pointzi/Streethawk register function

1
Pointzi.INSTANCE.init(getApplication, <appKey>,  "anonymousID");
Note to get your anonymousID you can do:
1
2
3
4
 com.segment.analytics.Analytics.with(MyActivity.this)
                .getAnalyticsContext()
                .traits()
                .anonymousId()

2.Pointzi/StreetHawk provides a ISHEventObserver to inform notification center about initialisation of SDK is done. Therefore, please register a notification as

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
public class MyActivity .... implements ISHEventObserver {
.......
Pointzi.INSTANCE.init(getApplication, "MyAppKey",  "anonymousID", this);
.......

@Override
public void onInstallRegistered(String installId){
}

@Override
public void onInstallRegisterError(String errorMsg) {
}

3.Please call segment api such as sending traits in the callback function onInstallRegistered

1
2
3
4
5
@Override
public void onInstallRegistered(String installId){
    com.segment.analytics.Analytics.with(MainActivity.this).identify(
            new com.segment.analytics.Traits().putName("Michael Bolton"));
}

Segment Destination Webhook

1.Go to your Segment Dashboard

2.Please add the below webhook URL in your segment destinations

1
    https://bison.streethawk.com/v3/hooks/segment/?app_key="Your Pointzi App Key"

3.Then add "Pointzi Auth Token" to Header as below

Pointzi Dashboard Settings

NOTE: To get the "Pointzi Auth Token" and "Pointzi App Key" go to the Pointzi Dashboard Settings and choose from the API Tab

Pointzi Dashboard Settings

You can find more auth token information at the following link https://dashboard.pointzi.com/docs/authentication/