文档

Android客户端接入

更新时间:

用于Android APP集成SDK时,调用定向流量服务的接口及入参,返回结果的介绍,及使用示例。

SDK集成说明

通过将SDK包放在APP工程的libs目录下,在build.gradle文件中增加dependencies配置实现依赖。如:

implementation fileTree(dir: 'libs', include: ['*.jar'])

如果已经增加以上配置,请勿重复添加。

在build.gradle文件中的dependencies节点增加依赖,implementation'com.aliyun:xgippop20220520:1.0.61'

SDK接口说明

接口名称:FreeFlowService

方法名称:freeFlow

接口参数:freeFlowRequest

参数名称

类型

是否必传

描述

xgipAppId

String

应用Id,在5G互联平台上开通

operator

String

运营商取值包括:

cm(中国移动);

ct(中国电信);

cu(中国联通)

credentialType

String

凭证类型说明:

mobile,号码凭证;

operator,运营商凭证;

bizCode,业务凭证

credentialValue

String

凭证信息说明,根据凭证类型去填写,如:

mobile:131*******9;

operator:xxxxxxxx;

bizCode:*******-*******

token

String

用于调用鉴权,如:96c77bb05********************,

此值需要B端服务器使用GetAliyunXgipToken接口获取的临时token,token只能使用一次,每次调用必须重新获取

返回结果:FreeFlowResult

参数名称

类型

描述

code

String

接口处理结果,成功为:success,失败为fail

isFreeFlow

布尔

是否免流:

true为免流;

false为不免流

freeFlowUrlMap

Map<originalUrl,freeFlowUrl>

原域名和免流域名键值对,如<example.aliyun.com,xgip-example.aliyun.com>

isFreeFlow为true时返回

message

String

参数code如果为fail,才会返回“错误描述”message字段

返回结果示例:

{
    "code":"success",
    "isFreeFlow":true,
    "freeFlowUrlMap":{
        "example.aliyun.com":"xgip-example.aliyun.com",
        "test.aliyun.com":"xgip-example.aliyun.com"
    },
    "message":null
}

SDK对接代码示例

​/*
*在业务主流程中请求业务时做免流调用
*当网络在4G/5G下时,调用定向免流SDK进行免流操作
*params:
*输入:requestlUrl--业务url
*输出:含有免流的url
*/
public String freeFlow(String requestlUrl,Context context){
    String requestlFreeFlowUrl = requestlUrl;
    FreeFlowService freeFlowService = new FreeFlowServiceImpl();
    FreeFlowService freeFlowRequerst = new FreeFlowRequerst();
    freeFlowRequest.setXgipAppId("xgip****7821");
    freeFlowRequest.setCredentialType("bizCode");
    freeFlowRequest.setCredentialValue("dax*******-*******");
    freeFlowRequest.setOperator("ct");
    freeFlowRequest.setToken("96c77bb05********************");
    FreeFlowResult freeFlowResult = freeFlowService.freeFlow(freeFlowRequerst,context);
    if(freeFlowResult.isFreeFlow()){
        //替换原域名为免流域名
        requestlFreeFlowUrl = replaceOriginalUrl(freeFlowUrl,requestlUrl);
    }
    return requestlFreeFlowUrl;
}

  • 本页导读 (0)
文档反馈