AppLink SDK使用说明-Android

更新时间:2016/04/07 访问次数:20253

准备工作

在客户端集成百川SDK之前,需要完成以下准备工作:
1. 入驻百川,创建应用,点击这里入驻
2. 下载客户端SDK,点击下载AppLink SDK
下载完成后,将SDK包中的jar文件添加到你的工程依赖中。

修改AndroidManifest.xml

配置appkey和pid

<meta-data android:name="com.alibaba.app.appkey" android:value="xxxxx"/>

配置默认backUrl和pid(可选)

配置backUrl后,在跳转至淘宝App的详情页后会出现一个返回开发者App的按钮,提升App间跳转的体验。此处的backUrl为默认配置,开发者也可以在调用对应的跳转接口时通过参数配置。pid供淘宝客服务使用。

<meta-data android:name="com.alibaba.app.pid" android:value="xxxx"/>
<meta-data android:name="com.alibaba.app.applink.backurl" android:value="xxxx"/>

配置应用权限

如果应用先前未使用以下权限的话,请添加确保SDK能正常工作:

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

App跳转设置

当从你的App跳转到手淘,当手淘里的操作结束时,需要从手淘跳转到你的app时,请务必传入backurl的值;

Android原生支持使用url启动activity,手淘在通过url唤起相应的activity的时候会使用默认的action为android.intent.action.VIEW,category为android.intent.category.DEFAULT

例如:我们设MainActivity的url为tbopen://m.sdk.com

在AndroidManifest.xml中对应的activity节点下对action和data等标签进行如下配置即可

<activity
    android:name=".activity.MainActivity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
            <data
                android:pathPrefix="/index.html"
                android:host="m.sdk.com"
                android:scheme="tbopen" />
    </intent-filter>
</activity>

使用SDK

初始化SDK

调用入口类com.alibaba.sdk.android.BaseAlibabaSDKasyncInit进行初始化。

java
public class DemoApplication extends Application {

  public static final String TAG = "DemoApplication";

  @Override
  public void onCreate() {
    super.onCreate();

    BaseAlibabaSDK.asyncInit(this, new InitResultCallback() {
      @Override
      public void onSuccess() {
        Log.d(TAG,"BaseAlibabaSDK init successed");
      }

      @Override
      public void onFailure(int code, String msg) {
        Log.e(TAG,"BaseAlibabaSDK init failed");
      }
    });
  }
}

通过BaseAlibabaSDK获取ApplinkService调用相应的功能:

java
findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        AppLinkService link = BaseAlibabaSDK.getService(AppLinkService.class);
        link.jumpDetail(MainActivity.this,"41576306115");
      }
});

功能列表

方法 说明
jumpShop 打开店铺
jumpDetail 打开商品详情页
jumpTBURI 打开淘宝链接

附加参数

除了商品Id等参数以外,SDK还支持传递isv_code、淘客pid、backurl等用于数据分析的参数(可选,未配置时使用manifest中配置的默认值),通过构造一个Map对象来设置,如下所示:

java
findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        AppLinkService link = BaseAlibabaSDK.getService(AppLinkService.class);
        HashMap<String,String> params = new HashMap<String, String>();
        params.put(AppLinkService.PARAM_KEY_ISV_CODE,"home");
        params.put(AppLinkService.PARAM_KEY_PID,"xxxxx");
        params.put(AppLinkService.PARAM_KEY_BACK_URL,"xxxxx");
        link.jumpDetail(MainActivity.this,"xxxx",params);
      }
    });

可用的额外参数值为:

参数key 说明
AppLinkService#PARAM_KEY_ISV_CODE isv_code,自定义应用内标签
AppLinkService#PARAM_KEY_PID pid,阿里妈妈渠道号id
AppLinkService#PARAM_KEY_BACK_URL 回调url

API参考说明

AppLinkService#jumpShop(context,shopId[,params])

跳转至店铺

参数

参数 说明
context 上下文对象
shopId 店铺ID
params 可选,额外参数,见上节说明

代码示例

findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        AppLinkService link = BaseAlibabaSDK.getService(AppLinkService.class);
        HashMap<String,String> params = new HashMap<String, String>();
        params.put(AppLinkService.PARAM_KEY_ISV_CODE,"home");
        params.put(AppLinkService.PARAM_KEY_PID,"xxxxx");
        params.put(AppLinkService.PARAM_KEY_BACK_URL,"xxxxx");
        link.jumpShop(MainActivity.this,"xxxx",params);
      }
    });

AppLinkService#jumpTBURI(context,url[,params])

跳转至淘宝页面

参数

参数 说明
context 上下文对象
url 淘宝url地址,如详情页等
params 可选,额外参数,见上节说明

代码示例

findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        AppLinkService link = BaseAlibabaSDK.getService(AppLinkService.class);
        HashMap<String,String> params = new HashMap<String, String>();
        params.put(AppLinkService.PARAM_KEY_ISV_CODE,"home");
        params.put(AppLinkService.PARAM_KEY_PID,"xxxxx");
        params.put(AppLinkService.PARAM_KEY_BACK_URL,"xxxxx");
        link. jumpTBURI(MainActivity.this,"xxxx",params);
      }
    });

AppLinkService#jumpDetail(context,itemId[,params])

跳转至商品详情页

参数

参数 说明
context 上下文对象
itemId 商品ID
params 可选,额外参数,见上节说明

代码示例

findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        AppLinkService link = BaseAlibabaSDK.getService(AppLinkService.class);
        HashMap<String,String> params = new HashMap<String, String>();
        params.put(AppLinkService.PARAM_KEY_ISV_CODE,"home");
        params.put(AppLinkService.PARAM_KEY_PID,"xxxxx");
        params.put(AppLinkService.PARAM_KEY_BACK_URL,"xxxxx");
        link.jumpDetail(MainActivity.this,"xxxx",params);
      }
    });

示例Demo

Demo下载

FAQ

关于此文档暂时还没有FAQ
返回
顶部