Skip to content

Commit

Permalink
added v2 Events in ionic3
Browse files Browse the repository at this point in the history
  • Loading branch information
sequoiaat committed Sep 28, 2018
1 parent a1d8265 commit 1b26156
Show file tree
Hide file tree
Showing 8 changed files with 170 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,28 @@
cordova.define("branch-cordova-sdk.Branch", function(require, exports, module) {
var exec = require("cordova/exec");
var deviceVendor = window.clientInformation.vendor;
var deviceVendor = (typeof window.clientInformation != 'undefined' && typeof window.clientInformation.vendor != 'undefined') ? window.clientInformation.vendor : "unknownVendor";
// SDK Class
var API_CLASS = "BranchSDK";

const standardEvent = {
STANDARD_EVENT_ADD_TO_CART: "ADD_TO_CART",
STANDARD_EVENT_ADD_TO_WISHLIST: "ADD_TO_WISHLIST",
STANDARD_EVENT_VIEW_CART: "VIEW_CART",
STANDARD_EVENT_INITIATE_PURCHASE: "INITIATE_PURCHASE",
STANDARD_EVENT_ADD_PAYMENT_INFO: "ADD_PAYMENT_INFO",
STANDARD_EVENT_PURCHASE: "PURCHASE",
STANDARD_EVENT_SPEND_CREDITS: "SPEND_CREDITS",
STANDARD_EVENT_SEARCH: "SEARCH",
STANDARD_EVENT_VIEW_ITEM: "VIEW_ITEM",
STANDARD_EVENT_VIEW_ITEMS: "VIEW_ITEMS",
STANDARD_EVENT_RATE: "RATE",
STANDARD_EVENT_SHARE: "SHARE",
STANDARD_EVENT_COMPLETE_REGISTRATION: "COMPLETE_REGISTRATION",
STANDARD_EVENT_COMPLETE_TUTORIAL: "COMPLETE_TUTORIAL",
STANDARD_EVENT_ACHIEVE_LEVEL: "ACHIEVE_LEVEL",
STANDARD_EVENT_UNLOCK_ACHIEVEMENT: "UNLOCK_ACHIEVEMENT"
}

// Branch prototype
var Branch = function Branch() {
this.debugMode = false;
Expand All @@ -14,6 +33,12 @@ var Branch = function Branch() {
function execute(method, params) {
var output = !params ? [] : params;

if (method == "getStandardEvents") {
return new Promise(function promise(resolve, reject) {
resolve(standardEvent);
});
}

return new Promise(function promise(resolve, reject) {
exec(
function success(res) {
Expand Down Expand Up @@ -136,6 +161,28 @@ Branch.prototype.sendCommerceEvent = function sendCommerceEvent(
return execute("sendCommerceEvent", args);
};


Branch.prototype.getStandardEvents = function getStandardEvents() {
return execute("getStandardEvents");

};

Branch.prototype.sendBranchEvent = function sendBranchEvent(
action,
metaData
) {
var args = [action];
if (!action) {
return executeReject("Please set a standard event");
}

if (metaData) {
args.push(metaData);
}

return execute("sendBranchEvent", args);
};

Branch.prototype.createBranchUniversalObject = function createBranchUniversalObject(
options
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,12 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
event.currency = [metadata objectForKey:key];
}
else if ([key isEqualToString:@"shipping"]) {
event.shipping = [metadata objectForKey:key];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.shipping = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"tax"]) {
event.tax = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.tax = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"coupon"]) {
event.coupon = [metadata objectForKey:key];
Expand All @@ -262,7 +264,8 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
event.eventDescription = [metadata objectForKey:key];
}
else if ([key isEqualToString:@"revenue"]) {
event.revenue = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.revenue = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"searchQuery"]) {
event.searchQuery = [metadata objectForKey:key];
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,28 @@
cordova.define("branch-cordova-sdk.Branch", function(require, exports, module) {
var exec = require("cordova/exec");
var deviceVendor = window.clientInformation.vendor;
var deviceVendor = (typeof window.clientInformation != 'undefined' && typeof window.clientInformation.vendor != 'undefined') ? window.clientInformation.vendor : "unknownVendor";
// SDK Class
var API_CLASS = "BranchSDK";

const standardEvent = {
STANDARD_EVENT_ADD_TO_CART: "ADD_TO_CART",
STANDARD_EVENT_ADD_TO_WISHLIST: "ADD_TO_WISHLIST",
STANDARD_EVENT_VIEW_CART: "VIEW_CART",
STANDARD_EVENT_INITIATE_PURCHASE: "INITIATE_PURCHASE",
STANDARD_EVENT_ADD_PAYMENT_INFO: "ADD_PAYMENT_INFO",
STANDARD_EVENT_PURCHASE: "PURCHASE",
STANDARD_EVENT_SPEND_CREDITS: "SPEND_CREDITS",
STANDARD_EVENT_SEARCH: "SEARCH",
STANDARD_EVENT_VIEW_ITEM: "VIEW_ITEM",
STANDARD_EVENT_VIEW_ITEMS: "VIEW_ITEMS",
STANDARD_EVENT_RATE: "RATE",
STANDARD_EVENT_SHARE: "SHARE",
STANDARD_EVENT_COMPLETE_REGISTRATION: "COMPLETE_REGISTRATION",
STANDARD_EVENT_COMPLETE_TUTORIAL: "COMPLETE_TUTORIAL",
STANDARD_EVENT_ACHIEVE_LEVEL: "ACHIEVE_LEVEL",
STANDARD_EVENT_UNLOCK_ACHIEVEMENT: "UNLOCK_ACHIEVEMENT"
}

// Branch prototype
var Branch = function Branch() {
this.debugMode = false;
Expand All @@ -14,6 +33,12 @@ var Branch = function Branch() {
function execute(method, params) {
var output = !params ? [] : params;

if (method == "getStandardEvents") {
return new Promise(function promise(resolve, reject) {
resolve(standardEvent);
});
}

return new Promise(function promise(resolve, reject) {
exec(
function success(res) {
Expand Down Expand Up @@ -136,6 +161,28 @@ Branch.prototype.sendCommerceEvent = function sendCommerceEvent(
return execute("sendCommerceEvent", args);
};


Branch.prototype.getStandardEvents = function getStandardEvents() {
return execute("getStandardEvents");

};

Branch.prototype.sendBranchEvent = function sendBranchEvent(
action,
metaData
) {
var args = [action];
if (!action) {
return executeReject("Please set a standard event");
}

if (metaData) {
args.push(metaData);
}

return execute("sendBranchEvent", args);
};

Branch.prototype.createBranchUniversalObject = function createBranchUniversalObject(
options
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,12 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
event.currency = [metadata objectForKey:key];
}
else if ([key isEqualToString:@"shipping"]) {
event.shipping = [metadata objectForKey:key];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.shipping = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"tax"]) {
event.tax = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.tax = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"coupon"]) {
event.coupon = [metadata objectForKey:key];
Expand All @@ -262,7 +264,8 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
event.eventDescription = [metadata objectForKey:key];
}
else if ([key isEqualToString:@"revenue"]) {
event.revenue = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.revenue = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"searchQuery"]) {
event.searchQuery = [metadata objectForKey:key];
Expand Down
5 changes: 3 additions & 2 deletions examples/ionic3/config.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.eneff.branch.ionic3" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<branch-config>
<branch-key value="key_live_gdyoTb1FlA8TQmJ6Ly05XamhxznRaZGf" />
<branch-key value="key_test_hnCYNwKiRvxgl86FyL343hbcsEk9BtZ8" />
<uri-scheme value="branchionic3" />
<link-domain value="4m4z.app.link" />
<link-domain value="mp4z.app.link" />
<ios-team-release value="PW4Q8885U7" />
</branch-config>
<name>Ionic3</name>
Expand Down Expand Up @@ -87,6 +87,7 @@
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="1.1.19" />
<plugin name="cordova-plugin-ionic-keyboard" spec="2.0.5" />
<plugin name="branch-cordova-sdk" spec="^3.0.1" />
<engine name="ios" spec="~4.5.4" />
<engine name="android" spec="~7.0.0" />
</widget>
2 changes: 2 additions & 0 deletions examples/ionic3/src/pages/home/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ <h2>Welcome to Ionic!</h2>
update any existing page or create new pages.
</p>
<button ion-button block (tap)='BranchShare();'>Share</button>
<button ion-button block (tap)='BranchStandardEvent();'>LogStandardEvent</button>
<button ion-button block (tap)='BranchCustomEvent();'>LogCustomEvent</button>
</ion-content>
53 changes: 51 additions & 2 deletions examples/ionic3/src/pages/home/home.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { NavController } from "ionic-angular";
templateUrl: "home.html"
})
export class HomePage {
constructor(public navCtrl: NavController) {}
constructor(public navCtrl: NavController) { }

BranchShare() {
const Branch = window["Branch"];
Expand All @@ -27,7 +27,7 @@ export class HomePage {
}
};

Branch.createBranchUniversalObject(buo).then(function(res) {
Branch.createBranchUniversalObject(buo).then(function (res) {
// optional fields
var analytics = {
channel: "facebook",
Expand All @@ -53,4 +53,53 @@ export class HomePage {
res.showShareSheet(analytics, properties, message);
});
}

BranchStandardEvent() {

const Branch = window["Branch"];
Branch.getStandardEvents().then(function success(res) {
var event = res.STANDARD_EVENT_ADD_TO_CART;

var metadata = {
transactionID: '12344555',
currency: 'USD',
revenue: 1.5,
shipping: 10.2,
tax: 12.3,
coupon: 'test_coupon',
affiliation: 'test_affiliation',
description: 'Test add to cart event',
searchQuery: 'test keyword',
customData: {
"Custom_Event_Property_Key1": "Custom_Event_Property_val1",
"Custom_Event_Property_Key2": "Custom_Event_Property_val2"
}
};
Branch.sendBranchEvent(event, metadata).then(function success(res) {
alert("Branch Event success " + res);
}).catch(function error(err) {
alert("Branch Event " + err);
});
}).catch(function error(err) {
alert("Get Standard Event " + err);
});
}

BranchCustomEvent() {
const Branch = window["Branch"];
var event = "Test Custom Event";

var customData = {
customData: {
"Custom_Event_Property_Key1": "Custom_Event_Property_val1",
"Custom_Event_Property_Key2": "Custom_Event_Property_val2"
}
};

Branch.sendBranchEvent(event, customData).then(function success(res) {
alert("Branch Event success " + res);
}).catch(function error(err) {
alert("Branch Event " + err);
});
}
}
9 changes: 6 additions & 3 deletions src/ios/BranchSDK.m
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,12 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
event.currency = [metadata objectForKey:key];
}
else if ([key isEqualToString:@"shipping"]) {
event.shipping = [metadata objectForKey:key];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.shipping = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"tax"]) {
event.tax = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.tax = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"coupon"]) {
event.coupon = [metadata objectForKey:key];
Expand All @@ -262,7 +264,8 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
event.eventDescription = [metadata objectForKey:key];
}
else if ([key isEqualToString:@"revenue"]) {
event.revenue = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
event.revenue = [NSDecimalNumber decimalNumberWithString:value];
}
else if ([key isEqualToString:@"searchQuery"]) {
event.searchQuery = [metadata objectForKey:key];
Expand Down

0 comments on commit 1b26156

Please sign in to comment.