1

我有一个 PhoneGap / Cordova 应用程序,并想使用 PhoneGap 的城市飞艇插件添加推送通知。看起来很有希望。我尝试按照Urban Airship 的说明查看GitHub 上的示例。问题是我是 html5-css3-JavaScript 开发人员,而不是 Java / Android 开发人员。我正在使用 Eclipse。

我像示例中一样更改了 AndroidManifest.xml 文件,将我的包名称放在适当的位置。

我将 .java 文件 PushNotificationPlugin.java、IntentReceiver.java 和 MainApplication.java 导入到 src 文件夹中的项目树中。现在出现错误,例如“无法解决导入 com.urbanairship.UAirship”。

有关我到目前为止的进度和错误,请参见下面的屏幕显示。

在此处输入图像描述

我的问题是:

“将 PushNotificationPlugin.java 和 IntentReceiver.java 文件安装到您的 Android 项目中。” 我必须将这些文件放在项目树中的什么位置,我是否必须以任何方式链接到它们?我是否还应该在某处安装文件 MainApplication.java 以及如何安装?

“在您的应用程序类中初始化 Urban Airship 库” 我的 PhoneGap 项目树中的哪个文件是应用程序类,我可以在该文件的哪个位置复制粘贴 Urban Airship 代码?

“检测您的主要活动类” 我必须将那几行 Java 添加到 Cordova 主要活动中。哪个文件包含 Cordova 主要活动,我可以在该文件的哪个位置复制粘贴如此需要的 Urban Airship 代码?

任何帮助将不胜感激!如果你帮我完成这项工作,我什至会为你构建一个简单的 Sencha Touch 应用程序......

4

1 回答 1

3

我也很难设置它。这就是我为最终让它工作所做的工作,以补充教程中所说的内容:

  1. 将 urbanairship[...].jar 文件复制到项目的 libs 文件夹中(这个丢失的文件是打印屏幕上出现错误的原因)
  2. 将 MainApplication.java、IntentReceiver.java 文件导入您的主包 (come.waywayway.easyapp)。更新这些文件中的包名称。我还必须在 IntentReceiver 中用 ACTION_SUFFIX_LOCATION_SERVICE_BOUND 替换 ACTION_LOCATION_SERVICE_BOUND
  3. 在 com.urbanairship.phonegap.plugins 包中导入 PushNotificationPlugin.java 文件(将其放在 src/com/urbanairship/phonegap/plugins 中),使用您的包名称更新 IntentReceiver 导入,并确保链接到 res 中的插件/xml/config.xml,例如:

    <plugin name="PushNotificationPlugin" value="com.urbanairship.phonegap.plugins.PushNotificationPlugin"/>
    
  4. 更新您的主要活动类 (easyapp.java) 以匹配示例应用程序主要活动类 (UAPhonegapSample.java)
  5. 按照教程中的说明导入和更新您的 airship.properties 和 location.properties 文件
  6. 根据示例应用 AndroidManifest.xml 文件,更新您的。不要忘记将 android:name=".MainApplication" 作为属性添加到应用程序对象

完成此操作后,您应该能够从城市飞艇控制台发送测试通知。当您启动应用程序时,您的设备 APID 应该显示在 Eclipse 控制台中。如果您只想接收通知,则不需要 Javascript 文件。

于 2013-01-24T11:59:15.423 回答