Skip to content

Commit bc7d41d

Browse files
committed
chore: merge update
2 parents f85b764 + 1eb490e commit bc7d41d

File tree

8 files changed

+170
-15
lines changed

8 files changed

+170
-15
lines changed

examples/cordova1/platforms/android/app/src/main/assets/www/plugins/branch-cordova-sdk/src/index.js

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,28 @@
11
cordova.define("branch-cordova-sdk.Branch", function(require, exports, module) {
22
var exec = require("cordova/exec");
3-
var deviceVendor = window.clientInformation.vendor;
3+
var deviceVendor = (typeof window.clientInformation != 'undefined' && typeof window.clientInformation.vendor != 'undefined') ? window.clientInformation.vendor : "unknownVendor";
44
// SDK Class
55
var API_CLASS = "BranchSDK";
66

7+
const standardEvent = {
8+
STANDARD_EVENT_ADD_TO_CART: "ADD_TO_CART",
9+
STANDARD_EVENT_ADD_TO_WISHLIST: "ADD_TO_WISHLIST",
10+
STANDARD_EVENT_VIEW_CART: "VIEW_CART",
11+
STANDARD_EVENT_INITIATE_PURCHASE: "INITIATE_PURCHASE",
12+
STANDARD_EVENT_ADD_PAYMENT_INFO: "ADD_PAYMENT_INFO",
13+
STANDARD_EVENT_PURCHASE: "PURCHASE",
14+
STANDARD_EVENT_SPEND_CREDITS: "SPEND_CREDITS",
15+
STANDARD_EVENT_SEARCH: "SEARCH",
16+
STANDARD_EVENT_VIEW_ITEM: "VIEW_ITEM",
17+
STANDARD_EVENT_VIEW_ITEMS: "VIEW_ITEMS",
18+
STANDARD_EVENT_RATE: "RATE",
19+
STANDARD_EVENT_SHARE: "SHARE",
20+
STANDARD_EVENT_COMPLETE_REGISTRATION: "COMPLETE_REGISTRATION",
21+
STANDARD_EVENT_COMPLETE_TUTORIAL: "COMPLETE_TUTORIAL",
22+
STANDARD_EVENT_ACHIEVE_LEVEL: "ACHIEVE_LEVEL",
23+
STANDARD_EVENT_UNLOCK_ACHIEVEMENT: "UNLOCK_ACHIEVEMENT"
24+
}
25+
726
// Branch prototype
827
var Branch = function Branch() {
928
this.debugMode = false;
@@ -14,6 +33,12 @@ var Branch = function Branch() {
1433
function execute(method, params) {
1534
var output = !params ? [] : params;
1635

36+
if (method == "getStandardEvents") {
37+
return new Promise(function promise(resolve, reject) {
38+
resolve(standardEvent);
39+
});
40+
}
41+
1742
return new Promise(function promise(resolve, reject) {
1843
exec(
1944
function success(res) {
@@ -136,6 +161,28 @@ Branch.prototype.sendCommerceEvent = function sendCommerceEvent(
136161
return execute("sendCommerceEvent", args);
137162
};
138163

164+
165+
Branch.prototype.getStandardEvents = function getStandardEvents() {
166+
return execute("getStandardEvents");
167+
168+
};
169+
170+
Branch.prototype.sendBranchEvent = function sendBranchEvent(
171+
action,
172+
metaData
173+
) {
174+
var args = [action];
175+
if (!action) {
176+
return executeReject("Please set a standard event");
177+
}
178+
179+
if (metaData) {
180+
args.push(metaData);
181+
}
182+
183+
return execute("sendBranchEvent", args);
184+
};
185+
139186
Branch.prototype.createBranchUniversalObject = function createBranchUniversalObject(
140187
options
141188
) {

examples/cordova1/platforms/ios/Cordova1/Plugins/branch-cordova-sdk/BranchSDK.m

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,12 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
247247
event.currency = [metadata objectForKey:key];
248248
}
249249
else if ([key isEqualToString:@"shipping"]) {
250-
event.shipping = [metadata objectForKey:key];
250+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
251+
event.shipping = [NSDecimalNumber decimalNumberWithString:value];
251252
}
252253
else if ([key isEqualToString:@"tax"]) {
253-
event.tax = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
254+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
255+
event.tax = [NSDecimalNumber decimalNumberWithString:value];
254256
}
255257
else if ([key isEqualToString:@"coupon"]) {
256258
event.coupon = [metadata objectForKey:key];
@@ -262,7 +264,8 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
262264
event.eventDescription = [metadata objectForKey:key];
263265
}
264266
else if ([key isEqualToString:@"revenue"]) {
265-
event.revenue = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
267+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
268+
event.revenue = [NSDecimalNumber decimalNumberWithString:value];
266269
}
267270
else if ([key isEqualToString:@"searchQuery"]) {
268271
event.searchQuery = [metadata objectForKey:key];

examples/cordova1/platforms/ios/www/plugins/branch-cordova-sdk/src/index.js

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,28 @@
11
cordova.define("branch-cordova-sdk.Branch", function(require, exports, module) {
22
var exec = require("cordova/exec");
3-
var deviceVendor = window.clientInformation.vendor;
3+
var deviceVendor = (typeof window.clientInformation != 'undefined' && typeof window.clientInformation.vendor != 'undefined') ? window.clientInformation.vendor : "unknownVendor";
44
// SDK Class
55
var API_CLASS = "BranchSDK";
66

7+
const standardEvent = {
8+
STANDARD_EVENT_ADD_TO_CART: "ADD_TO_CART",
9+
STANDARD_EVENT_ADD_TO_WISHLIST: "ADD_TO_WISHLIST",
10+
STANDARD_EVENT_VIEW_CART: "VIEW_CART",
11+
STANDARD_EVENT_INITIATE_PURCHASE: "INITIATE_PURCHASE",
12+
STANDARD_EVENT_ADD_PAYMENT_INFO: "ADD_PAYMENT_INFO",
13+
STANDARD_EVENT_PURCHASE: "PURCHASE",
14+
STANDARD_EVENT_SPEND_CREDITS: "SPEND_CREDITS",
15+
STANDARD_EVENT_SEARCH: "SEARCH",
16+
STANDARD_EVENT_VIEW_ITEM: "VIEW_ITEM",
17+
STANDARD_EVENT_VIEW_ITEMS: "VIEW_ITEMS",
18+
STANDARD_EVENT_RATE: "RATE",
19+
STANDARD_EVENT_SHARE: "SHARE",
20+
STANDARD_EVENT_COMPLETE_REGISTRATION: "COMPLETE_REGISTRATION",
21+
STANDARD_EVENT_COMPLETE_TUTORIAL: "COMPLETE_TUTORIAL",
22+
STANDARD_EVENT_ACHIEVE_LEVEL: "ACHIEVE_LEVEL",
23+
STANDARD_EVENT_UNLOCK_ACHIEVEMENT: "UNLOCK_ACHIEVEMENT"
24+
}
25+
726
// Branch prototype
827
var Branch = function Branch() {
928
this.debugMode = false;
@@ -14,6 +33,12 @@ var Branch = function Branch() {
1433
function execute(method, params) {
1534
var output = !params ? [] : params;
1635

36+
if (method == "getStandardEvents") {
37+
return new Promise(function promise(resolve, reject) {
38+
resolve(standardEvent);
39+
});
40+
}
41+
1742
return new Promise(function promise(resolve, reject) {
1843
exec(
1944
function success(res) {
@@ -136,6 +161,28 @@ Branch.prototype.sendCommerceEvent = function sendCommerceEvent(
136161
return execute("sendCommerceEvent", args);
137162
};
138163

164+
165+
Branch.prototype.getStandardEvents = function getStandardEvents() {
166+
return execute("getStandardEvents");
167+
168+
};
169+
170+
Branch.prototype.sendBranchEvent = function sendBranchEvent(
171+
action,
172+
metaData
173+
) {
174+
var args = [action];
175+
if (!action) {
176+
return executeReject("Please set a standard event");
177+
}
178+
179+
if (metaData) {
180+
args.push(metaData);
181+
}
182+
183+
return execute("sendBranchEvent", args);
184+
};
185+
139186
Branch.prototype.createBranchUniversalObject = function createBranchUniversalObject(
140187
options
141188
) {

examples/cordova1/plugins/branch-cordova-sdk/src/ios/BranchSDK.m

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,12 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
247247
event.currency = [metadata objectForKey:key];
248248
}
249249
else if ([key isEqualToString:@"shipping"]) {
250-
event.shipping = [metadata objectForKey:key];
250+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
251+
event.shipping = [NSDecimalNumber decimalNumberWithString:value];
251252
}
252253
else if ([key isEqualToString:@"tax"]) {
253-
event.tax = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
254+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
255+
event.tax = [NSDecimalNumber decimalNumberWithString:value];
254256
}
255257
else if ([key isEqualToString:@"coupon"]) {
256258
event.coupon = [metadata objectForKey:key];
@@ -262,7 +264,8 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
262264
event.eventDescription = [metadata objectForKey:key];
263265
}
264266
else if ([key isEqualToString:@"revenue"]) {
265-
event.revenue = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
267+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
268+
event.revenue = [NSDecimalNumber decimalNumberWithString:value];
266269
}
267270
else if ([key isEqualToString:@"searchQuery"]) {
268271
event.searchQuery = [metadata objectForKey:key];

examples/ionic3/config.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version='1.0' encoding='utf-8'?>
22
<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">
33
<branch-config>
4-
<branch-key value="key_live_gdyoTb1FlA8TQmJ6Ly05XamhxznRaZGf" />
4+
<branch-key value="key_test_hnCYNwKiRvxgl86FyL343hbcsEk9BtZ8" />
55
<uri-scheme value="branchionic3" />
6-
<link-domain value="4m4z.app.link" />
6+
<link-domain value="mp4z.app.link" />
77
<ios-team-release value="PW4Q8885U7" />
88
</branch-config>
99
<name>Ionic3</name>
@@ -87,6 +87,7 @@
8787
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
8888
<plugin name="cordova-plugin-ionic-webview" spec="1.1.19" />
8989
<plugin name="cordova-plugin-ionic-keyboard" spec="2.0.5" />
90+
<plugin name="branch-cordova-sdk" spec="^3.0.1" />
9091
<engine name="ios" spec="~4.5.4" />
9192
<engine name="android" spec="~7.0.0" />
9293
</widget>

examples/ionic3/src/pages/home/home.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ <h2>Welcome to Ionic!</h2>
1515
update any existing page or create new pages.
1616
</p>
1717
<button ion-button block (tap)='BranchShare();'>Share</button>
18+
<button ion-button block (tap)='BranchStandardEvent();'>LogStandardEvent</button>
19+
<button ion-button block (tap)='BranchCustomEvent();'>LogCustomEvent</button>
1820
</ion-content>

examples/ionic3/src/pages/home/home.ts

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { NavController } from "ionic-angular";
66
templateUrl: "home.html"
77
})
88
export class HomePage {
9-
constructor(public navCtrl: NavController) {}
9+
constructor(public navCtrl: NavController) { }
1010

1111
BranchShare() {
1212
const Branch = window["Branch"];
@@ -27,7 +27,7 @@ export class HomePage {
2727
}
2828
};
2929

30-
Branch.createBranchUniversalObject(buo).then(function(res) {
30+
Branch.createBranchUniversalObject(buo).then(function (res) {
3131
// optional fields
3232
var analytics = {
3333
channel: "facebook",
@@ -53,4 +53,53 @@ export class HomePage {
5353
res.showShareSheet(analytics, properties, message);
5454
});
5555
}
56+
57+
BranchStandardEvent() {
58+
59+
const Branch = window["Branch"];
60+
Branch.getStandardEvents().then(function success(res) {
61+
var event = res.STANDARD_EVENT_ADD_TO_CART;
62+
63+
var metadata = {
64+
transactionID: '12344555',
65+
currency: 'USD',
66+
revenue: 1.5,
67+
shipping: 10.2,
68+
tax: 12.3,
69+
coupon: 'test_coupon',
70+
affiliation: 'test_affiliation',
71+
description: 'Test add to cart event',
72+
searchQuery: 'test keyword',
73+
customData: {
74+
"Custom_Event_Property_Key1": "Custom_Event_Property_val1",
75+
"Custom_Event_Property_Key2": "Custom_Event_Property_val2"
76+
}
77+
};
78+
Branch.sendBranchEvent(event, metadata).then(function success(res) {
79+
alert("Branch Event success " + res);
80+
}).catch(function error(err) {
81+
alert("Branch Event " + err);
82+
});
83+
}).catch(function error(err) {
84+
alert("Get Standard Event " + err);
85+
});
86+
}
87+
88+
BranchCustomEvent() {
89+
const Branch = window["Branch"];
90+
var event = "Test Custom Event";
91+
92+
var customData = {
93+
customData: {
94+
"Custom_Event_Property_Key1": "Custom_Event_Property_val1",
95+
"Custom_Event_Property_Key2": "Custom_Event_Property_val2"
96+
}
97+
};
98+
99+
Branch.sendBranchEvent(event, customData).then(function success(res) {
100+
alert("Branch Event success " + res);
101+
}).catch(function error(err) {
102+
alert("Branch Event " + err);
103+
});
104+
}
56105
}

src/ios/BranchSDK.m

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,12 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
245245
event.currency = [metadata objectForKey:key];
246246
}
247247
else if ([key isEqualToString:@"shipping"]) {
248-
event.shipping = [metadata objectForKey:key];
248+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
249+
event.shipping = [NSDecimalNumber decimalNumberWithString:value];
249250
}
250251
else if ([key isEqualToString:@"tax"]) {
251-
event.tax = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
252+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
253+
event.tax = [NSDecimalNumber decimalNumberWithString:value];
252254
}
253255
else if ([key isEqualToString:@"coupon"]) {
254256
event.coupon = [metadata objectForKey:key];
@@ -260,7 +262,8 @@ -(void)sendBranchEvent:(CDVInvokedUrlCommand*)command
260262
event.eventDescription = [metadata objectForKey:key];
261263
}
262264
else if ([key isEqualToString:@"revenue"]) {
263-
event.revenue = [NSDecimalNumber decimalNumberWithString:[metadata objectForKey:key]];
265+
NSString *value = ([[metadata objectForKey:key] isKindOfClass:[NSString class]]) ? [metadata objectForKey:key] : [[metadata objectForKey:key] stringValue];
266+
event.revenue = [NSDecimalNumber decimalNumberWithString:value];
264267
}
265268
else if ([key isEqualToString:@"searchQuery"]) {
266269
event.searchQuery = [metadata objectForKey:key];

0 commit comments

Comments
 (0)