对SDK有了基本的概念之后就可以学习如何来从零开始一步一步接入SDK,每个渠道或者服务商面对开发者都会提供相应的SDK,里面就包含相应的开发文档,开发Demo还有jar包或者项目所需的资源。
这里笔者提供一个范例来说明如何去接入SDK,大纲如下:
1.到渠道服务官网获取我们所需的SDK
2.解压缩SDK包,获得开发文档、Demo、jar包
3.查看开发文档,导入Demo到Eclipse中
4.新建项目,参考Demo集成SDK
5.运行测试目标项目
一、到渠道官网获取我们所需的SDK
笔者这里以91移动开放平台为例,我们渠道官网SDK下载地址:http://dev.91.com/DocumentCenter/SdkDownload,下载我们所需的SDK,这里笔者下载的是Android版本的SDK。
点击下载完毕之后,会看到这样一个压缩包:
二、解压缩SDK包,获得开发文档、Demo、jar包
91开放平台也算是一个受众比较多的一个渠道了,它的SDK提供的内容也是比较完备的:
我们可以看到,91SDK很清晰的为我们分好不同的文件夹,从开发文档、客户端接口范例到运营规范都提供了完备的资料。我们接入其他渠道的时候也许需要了解SDK为我们提供了什么东西,哪些是我们开发需要的。
这里,我们最主要看01、02、04这三个,这是我们接入SDK需要使用到的
接入流程文档:
范例和开发文档:
配置说明和开发包
三、查看开发文档、导入Demo到Eclipse中
我们开发者自然想快速的接入SDK,并且不想浪费太多时间,最快的办法就是先浏览一遍SDK提供的开发文档,然后测试它提供的范例,弄懂整个集成流程之后,我们就会明白如何来配置相关文件,但具体的API使用还是需要详细查看开发文档和范例的使用。
如果查看过91接入文档就会发现它写的非常详细,并不需要笔者多说,你自己试一遍也可以集成SDK。
查看文档:
导入Demo和开发包到Eclipse
到这里笔者要好好提一下,关于集成SDK的两种方式,91这种是通过引入库项目文件的形式来集成的,另一种方式是以jar包形式集成的,但可能还需要复制相应的assert资源到目标项目中去,主要还是要看渠道的SDK是否有提供。
四、新建项目,参考Demo集成SDK
我们可以从Demo中得到很多信息,一个是项目的配置,一个是API接口使用方法,我们只要通过查看Demo就可以弄清楚整个渠道的接入流程。那么怎么来看Demo,笔者总结了下面的经验:
查看AndroidManifest.xml文件,了解项目必须的配置,比如权限配置,Activity、Service或者meta-data的配置。
比如91就需要这些权限:
<uses-permission android:name="com.android.launcher.p
资料获取→专栏
ermission.INSTALL_SHORTCUT" />
需要配置的组件:
<activity
android:name=“com.nd.commplatform.activity.SNSControlCenterActivity”
android:configChanges=“orientation|keyboardHidden|navigation|screenSize”
android:launchMode=“singleTask”
android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”
android:windowBackground=“@null”
android:windowSoftInputMode=“adjustPan” >
<activity
android:name=“com.nd.commplatform.activity.SNSLoginActivity”
android:configChanges=“orientation|keyboardHidden|navigation|screenSize”
android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”
android:windowBackground=“@null”
android:windowSoftInputMode=“adjustPan” />
<receiver
android:name=“com.nd.commplatform.versionupdate.ND2VersionUpdateNotify”
android:exported=“false”
android:process=“android.intent.nd.sns.commplatform.versionupdate” />
<service
android:name=“com.nd.commplatform.versionupdate.ND2VersionUpdateService”
android:exported=“false”
android:process=“android.intent.nd.sns.commplatform.versionupdate” />
<service
android:name=“com.nd.commplatform.service.NdNewMessageNotification”
android:enabled=“true”
android:exported=“false” />
<activity
android:name=“com.nd.commplatform.activity.SNSAppPromotionActivity”
android:configChanges=“orientation|keyboardHidden|navigation”
android:launchMode=“singleTask”
android:theme=“@android:style/Theme.NoTitleBar”
android:windowBackground=“@null”
android:windowSoftInputMode=“adjustPan” />
<service
android:name=“com.nd.commplatform.service.NdDownloadService”
android:enabled=“true”
android:exported=“false”
android:process=“:com.nd.commplatform.download” />
<activity
android:name=“com.nd.commplatform.gc.activity.ForumActivity”
android:configChanges=“orientation|keyboardHidden|navigation|screenSize”
android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”
android:windowSoftInputMode=“adjustPan” />
android:process=“:com.nd.commplatform.download” />
<activity
android:name=“com.nd.commplatform.gc.activity.ForumActivity”
android:configChanges=“orientation|keyboardHidden|navigation|screenSize”
android:theme=“@android:style/Theme.NoTitleBar.Fullscreen”
android:windowSoftInputMode=“adjustPan” />