|
14 | 14 | var pathToManifest = path.join(context.opts.projectRoot, 'platforms', 'android', 'AndroidManifest.xml')
|
15 | 15 | var manifest = xmlHelper.readXmlAsJson(pathToManifest)
|
16 | 16 | var mainActivityIndex = getMainLaunchActivityIndex(manifest['manifest']['application'][0]['activity'])
|
| 17 | + var targetSdk = manifest['manifest']['uses-sdk'][0]['$']['android:targetSdkVersion'] |
17 | 18 |
|
18 | 19 | // update manifest
|
19 | 20 | manifest = updateBranchMetaData(manifest, preferences)
|
20 | 21 | manifest = updateBranchReferrerTracking(manifest)
|
21 | 22 | manifest = updateLaunchOptionToSingleTask(manifest, mainActivityIndex)
|
22 | 23 | manifest = updateBranchURIScheme(manifest, mainActivityIndex, preferences)
|
23 |
| - manifest = updateBranchAppLinks(manifest, mainActivityIndex, preferences) |
| 24 | + manifest = updateBranchAppLinks(manifest, mainActivityIndex, preferences, targetSdk) |
24 | 25 |
|
25 | 26 | // save new version of the AndroidManifest
|
26 | 27 | xmlHelper.writeJsonAsXml(pathToManifest, manifest)
|
|
145 | 146 | // <data android:scheme="https" android:host="ethan.app.link" />
|
146 | 147 | // <data android:scheme="https" android:host="ethan-alternate.app.link" />
|
147 | 148 | // </intent-filter>
|
148 |
| - function updateBranchAppLinks (manifest, mainActivityIndex, preferences) { |
| 149 | + function updateBranchAppLinks (manifest, mainActivityIndex, preferences, targetSdk) { |
149 | 150 | var intentFilters = manifest['manifest']['application'][0]['activity'][mainActivityIndex]['intent-filter'] || []
|
150 | 151 | var data = getAppLinkIntentFilterData(preferences)
|
151 | 152 | var androidName = 'io.branch.sdk.AppLink'
|
| 153 | + var header = { |
| 154 | + 'android:name': androidName, |
| 155 | + 'android:autoVerify': 'true' |
| 156 | + } |
| 157 | + if (targetSdk && parseInt(targetSdk) < 23) { |
| 158 | + delete header['android:autoVerify'] |
| 159 | + } |
152 | 160 |
|
153 | 161 | // remove
|
154 | 162 | intentFilters = removeBasedOnAndroidName(intentFilters, androidName)
|
155 | 163 |
|
156 | 164 | // add new (remove old already done in updateBranchURIScheme)
|
157 | 165 | manifest['manifest']['application'][0]['activity'][mainActivityIndex]['intent-filter'] = intentFilters.concat([{
|
158 |
| - '$': { |
159 |
| - 'android:name': androidName, |
160 |
| - 'android:autoVerify': 'true' |
161 |
| - }, |
| 166 | + '$': header, |
162 | 167 | 'action': [{
|
163 | 168 | '$': {
|
164 | 169 | 'android:name': 'android.intent.action.VIEW'
|
|
0 commit comments