`
weiyinchao88
  • 浏览: 1234274 次
文章分类
社区版块
存档分类
最新评论

Android教程-从零开始一步一步接入SDK

 
阅读更多

从零开始一步一步接入SDK


本篇博客想总结一下笔者在接入手游渠道SDK的一些经验方法,为想接入手游渠道或者想学习如何接入SDK的童鞋们提供一个参考。本篇博客基于Android平台,关于IOS接入SDK的方法,笔者以后有机会也会整理。

首先来给大家说明一下SDK,何为SDK?它的全称是,SoftWare Develop Kit,意思是软件开发工具包,它是可以辅助我们去开发某类软件的相关文档,范例和工具的集合。关于SDK,这里推荐一个服务商店,名叫Devstore(http://www.devstore.cn/),它聚集了各种各类的服务提供商,并为每个渠道SDK提供了专业且详细的评测,笔者很荣幸成为Devstore的特约评测员这个荣誉,在Devstore也可以看到笔者对一些渠道所做的评测报告。

对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就需要这些权限:

   <!-- 91社区 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    
    
	<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />  
	<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" /> 
    <!-- 91社区 -->

需要配置的组件:

        <!-- 91社区 -->
        <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>
        <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" />
        <!-- 91社区 -->
        <activity
            android:name="com.nd.complatform.stardemo.StartActivity"
            android:configChanges="orientation|navigation|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        

配置完之后,我们就可以根据功能点,找到对应的API调用的方法,我们就可以知道如何传参和回调API的方法。


五、运行测试项目

我们集成完SDK之后,就可以运行测试项目看看效果了,测试我们想要测试的功能,比如登录、支付、悬浮框等功能。




这里只是给大家演示91渠道SDK的接入,这个是测试Demo所呈现的效果,具体的展示效果由开发自行开发实现。

关于SDK的接入,笔者就介绍到这里,SDK的接入并不是什么技术含量很高的事情,只要有相应编程基础和相关平台的开发经验就能很快熟悉SDK的接入。但这里并不意味着能渠道好好玩耍了,接入渠道有很多坑,并不是所有渠道都像91有完善的开发文档和封装的比较好的API,有些渠道可能出现各种各样莫名奇妙的问题,有时候我们开发就需要去填这些坑,这就很考验开发者的灵活应对了,必要的时候需要找到对应渠道的技术支持,并向他们反映相关问题。



以上是笔者作为渠道接入的开发人员的所总结的一些经验,可能有不尽完善的地方,如果有什么相关疑问可以给笔者留言,笔者可以在博客中继续补充相关内容。希望本篇博客能帮到大家,谢谢。






分享到:
评论

相关推荐

    arcgis-runtime-android-sdk-100.1.0

    这极大地扩展了应用的功能,使得开发者无需从零开始构建地图基础设施,而可以直接利用Esri的全球地理信息网络。 在开发过程中,SDK提供了详尽的API文档和示例代码,帮助开发者快速上手。无论是新手还是有经验的...

    从零开始Android游戏编程(第二版)PDF版

    本书《从零开始Android游戏编程(第二版)》是为那些想要踏入这个领域的初学者精心编写的。它将引导你逐步了解并掌握Android游戏开发的基本技术和流程,助你实现自己的游戏梦想。 首先,Android游戏编程的基础是...

    微信SDK接入Unity demo

    Unity是一款强大的跨平台游戏开发引擎,广泛应用于游戏开发、虚拟现实和增强现实应用。而微信SDK则是微信官方...通过研究这个示例,你可以掌握从零开始集成微信SDK的整个流程,从而提升你的项目用户体验和商业化潜力。

    Android开发从零开始——Android开发环境搭建

    【Android开发从零开始——Android开发环境搭建】 在进入Android应用程序开发的世界之前,首要任务是构建一个有效的开发环境。本文将详细介绍如何在Windows操作系统上搭建Android开发环境,确保每个步骤都清晰明了...

    android从零开始

    《Android游戏编程之从零开始》是一本专为初学者设计的Android开发指南,适合没有任何Java或Android基础的读者。本书旨在带领读者逐步踏入Android应用和游戏开发的世界,通过实践和理论相结合的方式,掌握Android...

    android入门-课程介绍

    本课程专为初学者设计,旨在帮助学员快速掌握Android应用开发的基本概念和技术,从而踏入这个充满机遇的领域。 1. **Android系统概述** - Android是Google公司主导开发的开源移动操作系统,主要应用于智能手机和...

    从零开始Android游戏编程

    本篇文章将基于"从零开始Android游戏编程"这一主题,详细讲解Android游戏开发的基础知识,带你一步步踏入游戏编程的世界。 首先,我们需要理解Android游戏开发的核心技术栈。这包括Java或Kotlin语言基础,因为这两...

    c++基于SDK开发的小游戏

    使用SDK可以大大简化游戏开发流程,因为它们提供了预封装的函数和类,开发者无需从零开始编写所有底层代码。 在这个案例中,我们可能会用到以下SDK组件: 1. **图形引擎**:如OpenGL、DirectX或Unity的内置引擎,...

    GameSDK:各游戏引擎接入SDK的Demo(目前仅限安卓)

    通过GameSDK,开发者可以快速地将这些功能集成到自己的游戏中,而无需从零开始编写复杂的代码。 二、GameSDK与游戏引擎的集成 1. Unity3D:Unity3D是流行的跨平台游戏引擎,支持C#和JavaScript(UnityScript)编写...

    android-game.rar_AndroidGame开发_android_游戏编程案例

    "android-game.rar"这个压缩包文件包含的资源是"从零开始Android游戏编程(第二版).doc",它是一个详细的教学文档,旨在引导初学者逐步踏入Android游戏编程的大门。下面我们将深入探讨这个主题,详细介绍在这个过程中...

    搭建Android开发环境详细图解

    本文将详细介绍如何从零开始搭建Android开发环境,包括Android SDK的安装、ADT的安装与配置以及Android模拟器的设置。 #### 二、Android SDK的安装 ##### 1. 下载安装包 - 首先,访问Android开发者官方网站:...

    Android Development Tutorial

    在教程的实践中,开发者将会学习到如何从零开始搭建Android开发环境,进行基本的Android应用开发,并在开发中接入各种功能模块,如传感器和数据库,从而构建出一个完整的Android应用。教程中强调了在Eclipse IDE中...

    mPaaS官方Android demo

    【mPaaS官方Android demo】是一个专为开发者提供的示例应用,它展示了如何在...对于初学者来说,这是一个非常有价值的参考资料,可以避免从零开始摸索,对于经验丰富的开发者,它也是一个快速上手mPaaS的好帮手。

    Android基础教程.7z

    本教程将涵盖以下几个核心知识点,帮助你从零开始踏入Android开发的大门。 1. **Android环境搭建**:首先,你需要安装Java Development Kit (JDK),它是Android开发的基础。然后,下载并安装Android Studio,这是一...

    91移动开发平台SDK(完整版)参考手册.pdf )

    总结起来,91移动开发平台SDK通过提供一系列的API和功能,极大地降低了移动应用开发的门槛,使得开发者能够专注于业务逻辑的实现,而不必从零开始搭建各种基础服务。通过以上知识点的详细说明,开发者可以更好地理解...

    Android智能穿戴设备开发从入门到精通 pdf

    通过以上知识点的学习,开发者可以从零开始掌握Android智能穿戴设备的开发流程,包括但不限于基础概念、开发环境搭建、高级开发技巧等方面。无论是初学者还是有一定经验的开发者,都能够从中获得实用的技术指导和...

    银联手机控件支付产品技术开发包sdk 3.0.6

    银联手机控件支付产品技术开发包提供了必要的API(Application Programming Interface)和库,使得开发者可以轻松地将银联支付服务集成到他们的应用中,无需从零开始构建支付模块。这大大降低了开发成本和复杂性,...

    android开发新浪微博客户端+完整攻略

    作者以自身学习Android的经历为背景,分享了从零开始开发客户端的过程。 1. **开发环境与工具** 开发者使用Eclipse Helios(3.6.1)集成开发环境和Android 2.2 SDK进行开发。首先,你需要安装并配置好Eclipse和...

    Android游戏编程书

    这本书以清晰易懂的语言,逐步介绍了如何从零开始构建一个完整的Android游戏。通过阅读此书,读者可以深入理解Android游戏开发的基础知识和核心技术。 首先,书中会涵盖Android开发环境的搭建,包括安装Android ...

Global site tag (gtag.js) - Google Analytics