我有一个Meteor 0.8项目,我试图通过Cordova插件与Google和Apple推送通知集成我已经为不同的项目编写了作品。我正在使用这个plugin,这是在以前的Meteor版本中推荐的,但在阅读了这个post后,我不确定这个插件是否有用。
在我的meteor项目中,我有以下代码在启动时调用以获取当前版本:
Meteor.startup(function () {
console.log("initiating cordova...");
var cordova = new cordova();
var version = {
appVersion: function (args, successCallback, errorCallback) {
if (is.iOS) {
cordova.exec(successCallback, errorCallback, "PackageInfo", "getVersion", args);
} else if (is.Android) {
cordova.exec(successCallback, errorCallback, "PackageInfo", "getVersion", args);
}
}
};
alert("Current Version: " + version.appVersion());
});
在我的Cordova项目中,我有以下代码到iframe Meteor:
<iframe id="meteor" src="http://meteor-cord.meteor.com">
</iframe>
<script type="text/javascript">
shellVersion = '0.0.1';
meteor = new MeteorCordova('meteor'); // The iFrame id "meteor"
// meteor.initPush({ senderID: 'xxxxxxxxxxxxxxxx' });
</script>
有关如何使其工作的任何想法,以便我可以将Cordova插件与最新版本的Meteor一起使用?
答案 0 :(得分:2)
我之前尝试过MeteorCordova但是在iOS和键盘/文本输入事件方面遇到了很多问题。我最终切换到MeteorRider,解决了很多问题。它基本上从服务器获取html并将其注入index.html并重新触发Meteor事件。我们在Android和iOS上使用它。
然后,您可以像使用本地index.html一样使用PhoneGap插件API。
我已经为iOS和PhoneGap 3.3创建了一个支持模板(3.4也应该可以正常工作)。 https://github.com/AdamBrodzinski/meteor-cordova-shell
您也可以复制粘贴代表中的www文件夹。并将index.html的底部更改为指向您的流星服务器:
<script type="text/javascript">
// use this to track what version your user's are running
var __MeteorRiderConfig__ = {
// Your production meteor app
meteorUrl: "http://leaderboard.meteor.com/",
// Your local dev meteor server url
//meteorUrl: "http://192.168.1.XX:3000",
// Cordova version, bump this after a `cordova update <platform>`
phonegapVersion: 3.3,
phonegapAppVersion: 0.1
};
// Start up the phonegap
phonegapapp.initialize();
</script>
如果仍然适用,您可以致电PackageInfo.getVersion()
。然后你可以做device.platform
之类的事情......我也开放了一些Meteor软件包来使ready / offline / etc cordova / phonegap事件被动,Meteor Phonegap Oauth和其他几个。
答案 1 :(得分:0)
我认为你应该看看packmeteor,它似乎是最新的方式。
答案 2 :(得分:0)
我刚刚发布了一个新的软件包,修复了上述方法的问题。安装和设置非常简单。检查自述文件。适用于Cordova 3.5。
Cordova Loader的目标是使用Meteor和Cordova一样简单地使用Meteor本身。编译器解释提供的Cordova项目目录,并将资产编译为放置在Meteor / public目录中的缩小的,特定于平台的JavaScript文件。当客户端加载时,它会自动为该设备提取特定于平台的文件。可以从Meteor使用Cordova API,就像使用vanilla JS应用程序一样。享受!