智能链接(Smart Link) Android用户开发文档

1.功能介绍

为提高用App用户的留存转化率,希望实现的功能为:

2.功能集成


      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<manifest……>
  <uses-permission android:name="android.permission.INTERNET" />
  <application……>
        <!-- 此Activity为您希望SmartLink跳转的Activity -->
        <activity android:name="对应的Activity,没有可新建">
            <intent-filter>
                <data
                    android:host="此处填写host"
                    android:scheme="此处填写scheme" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
        </activity>
  </application>
</manifest>
 

      
1
2
3
4
5
@Override
public void onNewIntent(Intent intent) {
  this.setIntent(intent);
}
 

      
1
2
3
4
5
6
7
/**
 * 初始化API,并设置相应的监听器
 * @param intent 当前activity的intent
 * @param smartlinkListener 接收回调数据的SmartlinkListener实例
 */
SmartlinkSdkApi.init(intent, smartlinkListener);
 

      
1
2
3
4
5
6
7
8
9
10
11
//  返回用户设置的参数
public JSONObject getParam() ;
//  返回打开分享链接的用户id
public String getClientId() ;
//  返回分享者的用户id
public String getSendId() ;
//  返回渠道
public String getChannel() ;
//  @return 返回平台
public String getPlatform() ;
 

      
1
2
3
4
5
6
7
/**
 * @param context 启动页Activity的Context
 * @param smartKey 您在云管理平台申请的SmartLink的Appkey
 * @param smartlinkListener 接收回调数据的SmartlinkListener实例
 */
SmartlinkSdkApi.registerLink(context, smartKey, smartlinkListener);
 

注意:请保证应用签名一致。

3.代码示例

可以通过两种方式实现回调接口。


      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class MainActivity extends Activity implements SmartlinkListener {
    @Override
    protected void onStart() {
        super.onStart();
        SmartlinkSdkApi.init(getIntent(), this);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    public void onParamsReturn(ParamInfo paramInfo) {
        Log.d("param", paramInfo.toString());
    }
    @Override
    public void onError(String error) {
        Log.d("error", error);
    }
}
 

      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class MainActivity extends Activity {
    @Override
    protected void onStart() {
        super.onStart();
        SmartlinkSdkApi.init(getIntent(), new MyListener());
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
class MyListener implements SmartlinkListener {
    @Override
    public void onParamsReturn(ParamInfo paramInfo) {
        Log.d("param", paramInfo.toString());
    }
    @Override
    public void onError(String error) {
        Log.d("error", error);
    }
}