## JPush PhoneGap Plugin ## ###创建项目### 1. cordova create 文件夹名字 包名 应用名字 cordova create Myproj com.myproj.jpush MyTestProj 2. 添加平台 cd Myproj :不进行这一步可能会出现[RangeError:Maximum call stack size exceeded] cordova platform add android ### Android使用PhoneGap/Cordova CLI自动安装 1. 使用 phonegap 或者 cordova cli 添加插件(建议在git客户端下使用,在windows 的cmd界面下 该命令提示git command line tool 不可用): cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git 2. 修改[your project]/plugins/android.json生成脚本的JPUSH_APPKEY字段 "xml": "", 3. 执行 cordova build android 使修改的`JPUSH_APPKEY`写入AndroidManifest.xml文件 > 温馨提示:如果使用eclipse来生成安装包,步骤2与步骤3可省略。直接在AndroidManifest.xml文件中修改JPUSH_APPKEY即可 ###IOS使用PhoneGap/Cordova CLI自动安装 1. 使用PhoneGap/Cordova CLI命令安装 cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git cordova build ios 2. 修改Resources/PushConfig.plist文件 在APP_KEY和CHANNLE字段 分别添加您的appkey和channle 3. 添加监听系统事件,相应地调用 JPush SDK 提供的 API 来实现功能 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; // Required [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; // Required [APService setupWithOption:launchOptions]; return YES; } - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { // Required [APService registerDeviceToken:deviceToken]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // Required [APService handleRemoteNotification:userInfo]; } ###Android 手工安装### 1. 复制src/android/*.java 到cn/jpush/phonega/目录下(即:cn.jpush.phonegap的包下) 2. 复制src/android/armeabi/libjpush.so 到lib/armeabi/ 3. 复制src/android/jpush-sdk-release1.5.0.jar 到lib/ 4. 复制src/android/test_notification_layout.xml到res/layout/ 5. 复制src/android/jpush_notification_icon.png 到res/drawable/ 6. 修改 AndroidManifest.xml 在 manifest 节点下添加以下权限 7. 修改AndroidManifest.xml 在 manifest/application 节点下添加SDK相关组件声明 ### IOS手工安装 1. 添加src/ios/Plugins/到project中 2. 添加src/ios/lib/到project中 3. 设置 Search Paths 下的 User Header Search Paths 和 Library Search Paths 比如SDK文件夹(默认为lib)与工程文件在同一级目录下,则都设置为"$(SRCROOT)/[文件夹名称]"即可。 4. 确认一下的框架是存在的(Target -> Build Phases -> Link Binary With Libraries) CFNetwork.framework CoreFoundation.framework CoreTelephony.framework SystemConfiguration.framework CoreGraphics.framework Foundation.framework UIKit.framework 5. 在你的工程中创建一个新的Property List文件 并将其命名为PushConfig.plist,填入Portal为你的应用提供的APP_KEY等参数 6. 调用代码,监听系统事件,相应地调用 JPush SDK 提供的 API 来实现功能 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; // Required [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; // Required [APService setupWithOption:launchOptions]; return YES; } - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { // Required [APService registerDeviceToken:deviceToken]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // Required [APService handleRemoteNotification:userInfo]; } 7. 修改phonegap config.xml文件用来包含Plugin/内的插件 8. 复制www/PushNotification.js到工程的www目录下面 9. 在需要使用插件处加入 ###示例 1. 完整的示例可以点击网页右侧的"Download Zip"下载,下载完成后在文件的"src/ios/example"文件夹内找到并拷贝以下文件 src/ios/example/index.html to www/index.html src/ios/example/css/* to www/css src/ios/example/js/* to www/js