我们一直在尝试将 branch.io 集成到我们的 Meteor 应用程序中,但到目前为止,我们还停留在第 1 步。
尝试按照https://start.branch.io/#/integrate-sdk/steps,在“Cordova”下,我们无法成功安装 Cordova 插件。我们尝试了各种命令,包括:
meteor add cordova:branch-cordova-sdk@2.0.2
meteor add cordova:io.branch.sdk@https://github.com/BranchMetrics/tarball/a30665d8b12896d1aad9ee0beb42c516e5fc1f6c
meteor add cordova:io.branch.sdk@https://github.com/BranchMetrics.git#a30665d8b12896d1aad9ee0beb42c516e5fc1f6c
按照此处的说明如何添加尚未在plugins.cordova.io上注册的cordova插件?对于未在 plugins.cordova.io 上注册的插件,即使这个似乎确实是(参见https://www.npmjs.com/package/branch-cordova-sdk)。
所有这些命令都兴高采烈地声称已将插件添加到 Meteor,但在调试时,我们始终发现“分支”未定义。因此,似乎根本没有安装任何东西。事实上,在“meteor add cordova:”之后放什么似乎并不重要...... Meteor 会声称已经添加了一个插件,当一个人执行“meteor list”时,该插件将可见。例如:
$ meteor add cordova:kakakak@1.0.0
Added Cordova plugin kakakak@1.0.0.
所以......很难判断是否真的在做任何事情。
编辑:
正确的命令只是第一个:
meteor add cordova:branch-cordova-sdk@2.0.2
当然,“分支”变量只会在应用程序在设备上运行时定义,而不是在桌面上的 Chrome 中定义。
此外,有必要在 mobile-config.js 中添加以下行:
App.configurePlugin("branch-cordova-sdk", {
URI_SCHEME : <the URI scheme that was defined when Branch was setup>,
BRANCH_LIVE_KEY : <key obtained from the Branch.io dashbaord / settings>
});
现在,我们可以...
meteor run android-device
这导致:
<appdir>/.meteor/local/cordova-build/platforms/android/build/intermediates/manifests/full/debug/AndroidManifest.xml:62:
error: No resource identifier found for attribute 'autoVerify' in package 'android'
尽管根据https://dev.branch.io/getting-started/universal-app-links/guide/adobe/?search=pathPrefix#add-intent-filter-修改了 cordova-build-override/AndroidManifest.xml to-manifest ...但我们似乎再次面临同样的问题:
https://github.com/meteor/meteor/issues/5840#issuecomment-186184372
Meteor 似乎忽略了我们的覆盖文件,而是使用了构建生成的 AndroidManifest.xml。
所以……有什么建议吗?有没有人找到成功覆盖 AndroidManifest.xml 的方法?