diff --git a/README.md b/README.md
index a85ddef6..b5efa44a 100644
--- a/README.md
+++ b/README.md
@@ -693,6 +693,7 @@
+
```
diff --git a/hooks/lib/android/androidManifest.js b/hooks/lib/android/androidManifest.js
index 1b9eeeb9..28673621 100644
--- a/hooks/lib/android/androidManifest.js
+++ b/hooks/lib/android/androidManifest.js
@@ -18,7 +18,7 @@
console.log('BRANCH SDK: Updating AndroidManifest.xml')
// update manifest
- manifest = updateBranchKeyMetaData(manifest, preferences)
+ manifest = updateBranchMetaData(manifest, preferences)
manifest = updateBranchReferrerTracking(manifest)
manifest = updateLaunchOptionToSingleTask(manifest, mainActivityIndex, preferences)
manifest = updateBranchURIScheme(manifest, mainActivityIndex, preferences)
@@ -28,22 +28,32 @@
xmlHelper.writeJsonAsXml(manifest, pathToManifest)
}
- // adds to for Branch init:
+ // adds to for Branch init and testmode:
//
- function updateBranchKeyMetaData (manifest, preferences) {
+ //
+ function updateBranchMetaData (manifest, preferences) {
var metadatas = manifest['manifest']['application'][0]['meta-data'] || []
- var androidName = 'io.branch.sdk.BranchKey'
+ var metadata = []
+ var keys = ['io.branch.sdk.BranchKey', 'io.branch.sdk.TestMode']
+ var vals = [preferences.branchKey, preferences.androidTestMode]
// remove old
- metadatas = removeBasedOnAndroidName(metadatas, androidName)
+ for (var i = 0; i < keys.length; i++) {
+ metadatas = removeBasedOnAndroidName(metadatas, keys[i])
+ }
// add new
- manifest['manifest']['application'][0]['meta-data'] = metadatas.concat([{
- '$': {
- 'android:name': androidName,
- 'android:value': preferences.branchKey
- }
- }])
+ for (i = 0; i < keys.length; i++) {
+ var key = keys[i]
+ var val = vals[i]
+ metadata.push({
+ '$': {
+ 'android:name': key,
+ 'android:value': val
+ }
+ })
+ }
+ manifest['manifest']['application'][0]['meta-data'] = metadatas.concat(metadata)
return manifest
}
diff --git a/hooks/lib/sdk/configXml.js b/hooks/lib/sdk/configXml.js
index d01422af..6cd07ede 100644
--- a/hooks/lib/sdk/configXml.js
+++ b/hooks/lib/sdk/configXml.js
@@ -56,6 +56,7 @@
var iosTeamProd = (branchXml.hasOwnProperty('ios-team-prod')) ? branchXml['ios-team-prod'][0]['$']['value'] : null
var iosTeamDev = (branchXml.hasOwnProperty('ios-team-dev')) ? branchXml['ios-team-dev'][0]['$']['value'] : null
var androidPrefix = (branchXml.hasOwnProperty('android-prefix')) ? branchXml['android-prefix'][0]['$']['value'] : null
+ var androidTestMode = (branchXml.hasOwnProperty('android-testmode')) ? branchXml['android-testmode'][0]['$']['value'] : 'false'
return {
'projectRoot': projectRoot,
@@ -68,6 +69,7 @@
'iosTeamProd': iosTeamProd,
'iosTeamDev': iosTeamDev, // optional
'androidPrefix': androidPrefix // optional
+ 'androidTestMode': androidTestMode // optional
}
}
@@ -105,6 +107,8 @@
}
if (preferences.iosTeamProd === null) {
throw new Error('BRANCH SDK: Missing "ios-team-prod" in in your config.xml. https://goo.gl/GijGKP')
+ if (!(preferences.androidTestMode === 'true' || preferences.androidTestMode === 'false')) {
+ throw new Error('BRANCH SDK: Invalid "android-testmode" in in your config.xml. Docs https://goo.gl/GijGKP')
}
}
})()