Android接入指南

本文为接入Link平台的Android终端提供指引,涉及SDK的使用方法,默认读者已经熟悉IDE的基本使用方法(Android Studio),以及具有一定的编程知识基础等。

1.申请你的ClientId

请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。

2.搭建开发环境

[1] 在Android Studio中新建工程。

[2] 通过gradle下载SDK,在Module的build.gradle文件中,添加如下依赖:

dependencies {
    compile 'net.bingosoft.oss:linksdk:1.0.0'
}

耐心等待gradle同步完成。

3.代码中使用SDK

[1] AndroidManifest.xml 设置

添加必要的权限支持:

<!-- 网络请求权限 -->
<uses-permission android:name="android.permission.INTERNET" />

[2] 注册到Link平台

要使程序启动后Link终端能响应你的程序,必须在代码中向Link终端注册你的ClientId。这里推荐在Application级别注册(或者其他Activity级别注册),示例参考如下:

public class BaseApplication extends Application {
    //ILinkAPI是第三方app与Link通讯的openapi接口
    public ILinkAPI ilinkapi;
    publicString clientId = "linkclent66666";
    @Override
    public void onCreate() {
        super.onCreate();
         //获取ILinkAPI实例并注册
        ilinkapi = LinkAPIFactory.createLinkAPI(this);
        ilinkapi.registerClient(clientId);
    }
}

[3] 发送请求到Link终端

现在,你的程序想要发送请求到Link终端,可以通过ILinkAPI里面的sendReq方法来实现。

void sendReq(Context context,BaseReq req);

sendReq是第三方app主动发送请求给Link终端,发送完成之后会切回到第三方app界面。

[4] 接收Link的响应结果

如果你的程序需要接收Link发送的响应结果(回调),那么需要下面3步操作:

A. 新增一个LinkEntryActivity类,该类实现ILinkAPIEventHandler接口。 图片

AndroidManifest.xml文件中配置如下,注意action是固定不变的,用于Link终端回调找回第三方app:

<activity android:name=".LinkEntryActivity">
    <intent-filter>
       <action android:name="net.bingosoft.oss.linkauth" />
         <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

B. 实现ILinkAPIEventHandler接口,发送到Link请求的响应结果将回调到onResp方法,Link发送的请求将回调到onReq方法(暂不支持,无需实现)。

@Override
public void onReq(BaseReq req) {
    //todo 暂时不支持,无需实现
}

@Override
public void onResp(BaseResp resp) {
    //接收来自Link的回调结果
    //例如 AuthResp(继承自BaseResp)里面可以获取Link授权的结果
}

C. 在LinkEntryActivity中将接收到的intent及实现了ILinkAPIEventHandler接口的对象传递给ILinkAPI接口的handleIntent方法。需要在 onCreateonNewIntent中实现。参考如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_link_entry);

   app = (BaseApplication) getApplication();
   app.ilinkapi.handleIntent(getIntent(), this);
}

@Override
protected void onNewIntent(Intent intent) {
   super.onNewIntent(intent);
   app.ilinkapi.handleIntent(getIntent(), this);
}

至此,你已经能使用LinkOpenSDK的API内容了。如果想要更详细了解每个API函数的用法,请下载 LinkOpenSDK Sample源码

下一篇:IOS接入指南