海南电网服务方案92文档格式.docx
- 文档编号:22367233
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:17
- 大小:163.44KB
海南电网服务方案92文档格式.docx
《海南电网服务方案92文档格式.docx》由会员分享,可在线阅读,更多相关《海南电网服务方案92文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
∙解压缩jpush-sdk_v1.x.y.zip集成压缩包
∙复制
libs/jpush-sdk-release1.x.y.jar到工程libs/目录下
libs/armeabi/libsys1.x.y.so到工程libs/armeabi目录下
∙如果您的项目有libs/armeabi-v7a这个目录,请把libsys1.x.y.so也复制一份到这个目录。
2、配置AndroidManifest.xml
根据SDK压缩包里的AndroidManifest.xml样例文件,来配置应用程序项目的AndroidManifest.xml。
主要步骤为:
1.复制备注为"
Required"
的部分
2.将备注为替换包名的部分,替换为当前应用程序的包名
3.将AppKey替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
<
manifestxmlns:
android="
package="
YourPackage"
android:
versionCode="
100"
versionName="
1.0.0"
>
!
--Required-->
permissionandroid:
name="
YourPackage.permission.JPUSH_MESSAGE"
protectionLevel="
signature"
/>
uses-permissionandroid:
YouPackage.permission.JPUSH_MESSAGE"
android.permission.RECEIVE_USER_PRESENT"
android.permission.INTERNET"
android.permission.WAKE_LOCK"
android.permission.READ_PHONE_STATE"
android.permission.WRITE_EXTERNAL_STORAGE"
android.permission.READ_EXTERNAL_STORAGE"
android.permission.VIBRATE"
android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
android.permission.ACCESS_NETWORK_STATE"
--Optional.Requiredforlocationfeature-->
android.permission.ACCESS_COARSE_LOCATION"
android.permission.ACCESS_COARSE_UPDATES"
android.permission.ACCESS_WIFI_STATE"
android.permission.CHANGE_WIFI_STATE"
android.permission.ACCESS_FINE_LOCATION"
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
android.permission.CHANGE_NETWORK_STATE"
application
icon="
@drawable/ic_launcher"
label="
@string/app_name"
YourApplication"
service
cn.jpush.android.service.PushService"
enabled="
true"
exported="
false"
intent-filter>
actionandroid:
cn.jpush.android.intent.REGISTER"
cn.jpush.android.intent.REPORT"
cn.jpush.android.intent.PushService"
cn.jpush.android.intent.PUSH_TIME"
/intent-filter>
/service>
receiver
cn.jpush.android.service.PushReceiver"
intent-filterandroid:
priority="
1000"
--since1.3.5-->
cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY"
categoryandroid:
android.intent.action.USER_PRESENT"
.conn.CONNECTIVITY_CHANGE"
android.intent.action.PACKAGE_ADDED"
android.intent.action.PACKAGE_REMOVED"
dataandroid:
scheme="
package"
/receiver>
<
--RequiredSDK核心功能-->
activity
cn.jpush.android.ui.PushActivity"
theme="
@android:
style/Theme.Translucent.NoTitleBar"
configChanges="
orientation|keyboardHidden"
android.intent.category.DEFAULT"
/activity>
cn.jpush.android.service.DownloadService"
receiverandroid:
cn.jpush.android.service.AlarmReceiver"
--Required.Forpublishchannelfeature-->
--JPUSH_CHANNEL是为了方便开发者统计APK分发渠道。
-->
--例如:
-->
--发到GooglePlay的APK可以设置为google-play;
--发到其他市场的APK可以设置为xxx-market。
--目前这个渠道统计功能的报表还未开放。
meta-dataandroid:
JPUSH_CHANNEL"
value="
developer-default"
/>
--Required.AppKeycopiedfromPortal-->
JPUSH_APPKEY"
YourAppKey"
/application>
/manifest>
3、添加代码
JPushSDK提供的API接口,都主要集中在
cn.jpush.android.api.JPushInterface类里。
基础API
∙init初始化SDK
publicstaticvoidinit(Contextcontext)
∙setDebugMode设置调试模式
//Youcanenabledebugmodeindevelopingstate.Youshouldclosedebugmodewhenrelease.
publicstaticvoidsetDebugMode(booleandebugEnalbed)
调用示例代码(参考example项目)
∙init只需要在应用程序启动时调用一次该API即可。
∙以下代码定制一个本应用程序Application类。
需要在AndoridManifest.xml里配置。
请参考上面AndroidManifest.xml片断,或者example项目。
publicclassExampleApplicationextendsApplication{
@Override
publicvoidonCreate(){
super.onCreate();
JPushInterface.setDebugMode(true);
JPushInterface.init(this);
}
4、测试确认
1.确认所需的权限都已经添加。
如果必须的权限未添加,日志会提示错误。
2.确认AppKey(在Portal上生成的)已经正确的写入Androidmanifest.xml。
3.确认在程序启动时候调用了init(context)接口
4.确认测试手机(或者模拟器)已成功连入网络
o客户端调用init后不久,如果一切正常,应有登录成功的日志信息
5.启动应用程序,在Portal上向应用程序发送自定义消息或者通知栏提示。
o在几秒内,客户端应可收到下发的通知或者正定义消息
如果SDK工作正常,则日志信息会如下图所示:
如图所示,客户端启动分为4步:
1.检查metadata的appKey和channel,如果不存在,则启动失败
2.初始化JPushSDK,检查JNI等库文件的有效性,如果库文件无效,则启动失败
3.检查Androidmanifest.xml,如果有Required的权限不存在,则启动失败
4.连接服务器登录,如果存在网络问题,则登陆失败,或者前面三步有问题,不会启动JPushSDK
iOS客户端集成
∙为JPushServer上报DeviceToken,免除开发者管理DeviceToken的麻烦
∙应用运行时,应用内JPush长连接可以持续地收到推送消息
iOS消息推送消息消息流程:
2.JPushServer对消息进行调度,然后根据用户平台注册信息发送到苹果APNS服务器。
3.APNS服务器将通知最终发送到集成了JPushSDK的iOS应用终端。
4.JPushserver同样提供了应用内消息的接收,由于iOS平台的特性APNS可以在应用关闭时收到通知,但应用内消息需要应用开启后才可以收到
∙集成简单
∙iOSSDK集成后,服务器端向iOS设备推送简单方便
版本
∙当前提供的SDK使用OpenUDID的方案来确定设备的编号,符合AppStore的上架规定。
包名为JPush-iOS-SDK-[版本号]
∙lib文件夹:
包含头文件APService.h,静态库文件libPushSDK.a
和libPushSDK-Simulator.a,支持的iOS版本为4.3~6.1。
(请注意:
模拟器不能实现APNS,提供libPushSDK-Simulator.a,只是为了避免SDK在模拟器环境下报错,方便开发者使用模拟器调试自己的功能)
∙pdf文件:
开发指南
∙demo文件夹:
示例
开发环境
∙建议使用XCode4.5
或以上版本
iOSSDK集成步骤
1、在JPushPortal上创建应用
∙在JPush的管理Portal上上传证书并创建应用。
如果对APNs证书不太了解请参考iOS证书设置指南
∙创建成功后自动生成AppKey
用以标识该应用。
2、导入API开发包到应用程序项目
∙将SDK包解压,在XCode中选择“Addfilesto'
Yourprojectname'
...”,将解压后的lib子文件夹(包含APService.h、libPushSDK.a和libPushSDK-Simulator.a文件,如果不需要在模拟器中调试,可以丢弃libPushSDK-Simulator.a文件)添加到你的工程目录中。
3、必要的框架
∙CFNetwork.framework
∙CoreFoundation.framework
∙CoreTelephony.framework
∙SystemConfiguration.framework
∙CoreGraphics.framework
∙Foundation.framework
∙UIKit.framework
4、BuildSettings
∙设置SearchPaths下的UserHeaderSearchPaths和LibrarySearchPaths,比如SDK文件夹(默认为lib)与工程文件在同一级目录下,则都设置为"
$(SRCROOT)/[文件夹名称]"
即可。
5、创建并配置PushConfig.plist文件
在你的工程中创建一个新的PropertyList文件,并将其命名为PushConfig.plist,填入Portal为你的应用提供的APP_KEY等参数。
{
"
APS_FOR_PRODUCTION="
0"
;
CHANNEL"
="
Publishchannel"
"
APP_KEY"
AppKeycopiedfromJPushPortalapplication"
∙CHANNEL
o指明应用=E7__序包的下载渠道,为方便分渠道统计。
根据你的需求自行定义即可。
∙APP_KEY
o在管理Portal上创建应用时自动生成的(AppKey)用以标识该应用。
请确保应用内配置的AppKey与第1步在Portal上创建应用时生成的AppKey一致,AppKey可以在应用详情中查询。
∙APS_FOR_PRODUCTION
o1.3.1版本新增,表示应用是否采用生产证书发布(Ad_Hoc或APPStore),0(默认值)表示采用的是开发者证书,1表示采用生产证书发布应用。
请注意此处配置与WebPortal应用环境设置匹配。
∙在1.2.2或之前版本的配置文件中,有TEST_MODE这个键,新版的SDK不再使用,可以将它删除。
5、添加代码
API
APIs主要集中在
APService接口类里。
@interfaceAPService:
NSObject
//initPush
+(void)setupWithOption:
(NSDictionary*)launchingOption;
//registernotificationtype
+(void)registerForRemoteNotificationTypes:
(UIRemoteNotificationType)types;
//uploaddevicetoken
+(void)registerDeviceToken:
(NSData*)deviceToken;
//handlenotificationrecieved
+(void)handleRemoteNotification:
(NSDictionary*)remoteInfo;
@end
调用代码
监听系统事件,相应地调用JPushSDK提供的API来实现功能。
以下3个事件监听与调用JPushSDKAPI都是必须的。
请直接复制如下代码块里,注释为"
的行,到你的应用程序代理类里相应的监听方法里。
-(BOOL)application:
(UIApplication*)applicationdidFinishLaunchingWithOptions:
(NSDictionary*)launchOptions
{
self.window=[[[UIWindowalloc]initWithFrame:
[[UIScreenmainScreen]bounds]]autorelease];
self.window.backgroundColor=[UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
//Required
[APServiceregisterForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge|
UIRemoteNotificationTypeSound|
UIRemoteNotificationTypeAlert)];
[APServicesetupWithOption:
launchOptions];
returnYES;
-(void)application:
(UIApplication*)applicationdidRegisterForRemoteNotificationsWithDeviceToken:
(NSData*)deviceToken{
[APServiceregisterDeviceToken:
deviceToken];
(UIApplication*)applicationdidReceiveRemoteNotification:
(NSDictionary*)userInfo{
[APServicehandleRemoteNotification:
userInfo];
监听通知
API里面提供了下面5种类型的通知:
externNSString*constkAPNetworkDidSetupNotification;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 海南 电网 服务 方案 92
![提示](https://static.bdocx.com/images/bang_tan.gif)