Skip to content

Commit

Permalink
added customerio native sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
prabrisha-rudder authored and sayan-rudder committed Feb 17, 2020
1 parent d18a7f0 commit 29bd7fb
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 1 deletion.
61 changes: 61 additions & 0 deletions integrations/CustomerIO/browser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import logger from "../../utils/logUtil";
class CustomerIO {
constructor(config) {
this.siteID = config.siteID;
this.apiKey = config.apiKey;

this.name = "CUSTOMERIO";
}

init() {
logger.debug("===in init Customer IO init===");
window._cio = window._cio || [];
let siteID = this.siteID;
(function() {
var a,b,c;a=function(f){return function(){window._cio.push([f].
concat(Array.prototype.slice.call(arguments,0)))}};b=["load","identify",
"sidentify","track","page"];for(c=0;c<b.length;c++){window._cio[b[c]]=a(b[c])};
var t = document.createElement('script'),
s = document.getElementsByTagName('script')[0];
t.async = true;
t.id = 'cio-tracker';
t.setAttribute('data-site-id', siteID);
t.src = 'https://assets.customer.io/assets/track.js';
s.parentNode.insertBefore(t, s);
})();
}

identify(rudderElement) {
logger.debug("in Customer IO identify");
let userId = rudderElement.message.userId ? rudderElement.message.userId : rudderElement.message.anonymousId;
let traits = rudderElement.message.context.traits ? rudderElement.message.context.traits : {};
if(!traits.created_at){
traits.created_at = (new Date()).getTime();
}
traits.id = userId;
window._cio.identify(traits);
}

track(rudderElement) {
logger.debug("in Customer IO track");

let eventName = rudderElement.message.event;
let properties = rudderElement.message.properties;
window._cio.track(eventName, properties);

}

page(rudderElement) {
logger.debug("in Customer IO page");

var name = rudderElement.message.name || rudderElement.message.properties.url;
window._cio.page(name, rudderElement.message.properties);

}

isLoaded() {
return !!(window._cio && window._cio.push !== Array.prototype.push);
}
}

export { CustomerIO };
3 changes: 3 additions & 0 deletions integrations/CustomerIO/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { CustomerIO } from "./browser";

export default CustomerIO;
4 changes: 3 additions & 1 deletion integrations/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import * as Braze from "./Braze";
import * as INTERCOM from "./INTERCOM";
import * as Keen from "./Keen";
import * as Kissmetrics from "./Kissmetrics";
import * as CustomerIO from "./CustomerIO";

let integrations = {
HS: HubSpot.default,
Expand All @@ -19,7 +20,8 @@ let integrations = {
BRAZE: Braze.default,
INTERCOM: INTERCOM.default,
KEEN: Keen.default,
KISSMETRICS: Kissmetrics.default
KISSMETRICS: Kissmetrics.default,
CUSTOMERIO: CustomerIO.default
};

export { integrations };

0 comments on commit 29bd7fb

Please sign in to comment.